* feat: dead simple and dead slow svn checkout scripts for plugins/themes * feat: add scripts to check for updated plugins/themes * tweak: split slugs on commas or whitespace instead of just commas * tweak: replace --plugins and --themes options with --slugs and --slugs-from * tweak: add logging config to Caddyfile * feat: push-sync and update-sync commands * build: bump composer versions |
||
|---|---|---|
| .github/workflows | ||
| bin | ||
| config | ||
| docker/webapp | ||
| meta | ||
| migrations | ||
| public | ||
| src | ||
| svn | ||
| tests | ||
| .dockerignore | ||
| .env | ||
| .env.test | ||
| .gitignore | ||
| .gitmodules | ||
| .php-cs-fixer.dist.php | ||
| CHANGELOG.md | ||
| composer.json | ||
| composer.lock | ||
| docker-compose.yml | ||
| LICENSE | ||
| Makefile | ||
| phpstan.dist.neon | ||
| phpunit.xml.dist | ||
| README.md | ||
| symfony.lock | ||
AspireSync
AspireSync is designed to enumerate and download the plugins and themes stored in the WordPress SVN repository and Content Delivery Network.
Features
- Download themes and plugins from the WordPress .org repository to the local filesystem or S3 storage.
- Stores metadata and other information about every version of every plugin in sqlite.
- Can export metadata as newline-delimited json for consumption by AspireCloud.
- Can download all versions of plugins and themes, or just the latest version.
- Handles closed and not found plugins/themes, preventing further download attempts for them.
- Incremental updates, syncing only those items that have updated in subversion since the last sync.
- Runs downloads in parallel tasks (20 max) to allow for speedy download of assets.
Quick Start
make
bin/console list sync
Configuration
AspireSync places download files in a location of your choosing, either in S3(-compatible) storage or local storage somewhere on disk.
You can configure the following environment variables to determine where uploads are placed.
| Env Variable | Description |
|---|---|
| DOWNLOADS_FILESYSTEM | One of local (default) or s3. |
| DOWNLOADS_DIR | The destination for downloaded files if using upload_local_filesystemRelative paths are from the data/ directory |
| S3_BUCKET | The S3 bucket to upload to |
| S3_REGION | AWS region to use (default us-east-2) |
| S3_ENDPOINT | The S3 API endpoint, only required if using S3 storage from a provider other than AWS |
| S3_KEY | The AWS access_key_id for S3. Optional if host/container roles are in effect. |
| S3_SECRET | The companion secret to the S3_KEY; Optional if host/container roles are in effect. |
AspireCloud Integration
To upload metadata to AspireCloud, use the
meta/bin/push-to-aspirecloud script, which requires two environment variables:
*
*NOTE:
** these variables must be set in your actual environment: putting them only in a .env file will not work!
| Env Variable | Description |
|---|---|
| ASPIRECLOUD_ADMIN_API_URL | Base URL of AC admin API, e.g. http://aspiredev.org/admin/api/v1. Do not include a trailing slash. |
| ASPIRECLOUD_ADMIN_API_KEY | API key generated in the AC instance. Must belong to a user with RepoAdmin or SuperAdmin permissions. |