From bc469ff82c5ec96fd64d166cc03614ca54a8d129 Mon Sep 17 00:00:00 2001 From: George Dumitrescu Date: Fri, 25 Sep 2026 15:23:47 +0300 Subject: [PATCH 1/3] feat: install a scaffolded Drupal site through setup A Drupal project scaffolded through lerd was not installed afterwards, and the Install site command could not do it either. It sourced .env for DB_DRIVER and friends, which newer releases no longer write there: until the installer has run, the connection lerd picked sits in .env under the settings.php array keys. drush got an empty database URL, and drupal/recommended-project does not ship drush at all, so the command was hidden on a fresh project anyway. Every Drupal major now declares an install block that lerd's setup offers, ticked, while settings.php is missing. It adds drush when the project lacks it, reads the connection from .env in either key shape, older DB_* or the newer array keys, and runs site:install, with a file database handled on its own since it has no host or credentials. The Install site command runs the same script, in the definitions and in the drush package that overrides them. A binary that predates the install block ignores it and keeps the Install site command, which now works on every release. Refs lerd-env/lerd#1985 --- frameworks/drupal/10.yaml | 29 +++++++++++++++++++---------- frameworks/drupal/11.yaml | 29 +++++++++++++++++++---------- frameworks/drupal/8.yaml | 29 +++++++++++++++++++---------- frameworks/drupal/9.yaml | 29 +++++++++++++++++++---------- packages/drush-drush.yaml | 18 ++++++++++-------- 5 files changed, 86 insertions(+), 48 deletions(-) diff --git a/frameworks/drupal/10.yaml b/frameworks/drupal/10.yaml index 8a2e5c6..0ffc155 100644 --- a/frameworks/drupal/10.yaml +++ b/frameworks/drupal/10.yaml @@ -100,22 +100,31 @@ tinker: requires_package: drush/drush requires_file: vendor/drush/drush/drush.php +# The recommended project ships without drush, and until the installer has run +# the connection lerd picked lives only in .env: DB_* from older releases, the +# settings.php array keys from newer ones. {{…}} placeholders are not used, +# since a release before v1.29 would take them literally. +install: + label: Install Drupal + # Both installers write settings.php, and nothing else does before them. + missing_file: web/sites/default/settings.php + command: &site-install > + test -f vendor/drush/drush/drush.php || composer require drush/drush --no-interaction || exit 1; + v() { sed -n -e "s/^DB_$1=//p" -e "s/^databases\.default\.default\.$2=//p" .env 2>/dev/null | tail -n 1; }; + driver=$(v DRIVER driver); + test -n "$driver" || { echo "no database connection in .env, run lerd env first" >&2; exit 1; }; + if [ "$driver" = sqlite ]; then url="sqlite://$(v NAME database)"; + else url="$driver://$(v USER username):$(v PASSWORD password)@$(v HOST host):$(v PORT port)/$(v NAME database)"; fi; + php vendor/drush/drush/drush.php site:install --yes --db-url="$url" + --account-name=admin --account-pass=lerdadmin1 + commands: # site:install drops and recreates the schema, and `lerd setup --all` runs # every setup step regardless of `default`, so this is a confirm-gated # command rather than a setup step. - name: site:install label: Install site - # The connection is read out of the .env lerd wrote rather than templated - # in: {{…}} placeholders are only expanded from lerd v1.29, and an older - # install would take them literally and install a whole site into a - # database named "{{site}}". Sourcing .env also picks up whichever engine - # the project uses, since DB_DRIVER already holds drush's scheme name. - command: > - set -a; . ./.env; set +a; - php vendor/drush/drush/drush.php site:install --yes - --db-url="$DB_DRIVER://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" - --account-name=admin --account-pass=lerdadmin1 + command: *site-install description: Install a fresh site against the database lerd provisioned, admin user admin/lerdadmin1 output: text confirm: true diff --git a/frameworks/drupal/11.yaml b/frameworks/drupal/11.yaml index 32934a5..c3bcedd 100644 --- a/frameworks/drupal/11.yaml +++ b/frameworks/drupal/11.yaml @@ -100,22 +100,31 @@ tinker: requires_package: drush/drush requires_file: vendor/drush/drush/drush.php +# The recommended project ships without drush, and until the installer has run +# the connection lerd picked lives only in .env: DB_* from older releases, the +# settings.php array keys from newer ones. {{…}} placeholders are not used, +# since a release before v1.29 would take them literally. +install: + label: Install Drupal + # Both installers write settings.php, and nothing else does before them. + missing_file: web/sites/default/settings.php + command: &site-install > + test -f vendor/drush/drush/drush.php || composer require drush/drush --no-interaction || exit 1; + v() { sed -n -e "s/^DB_$1=//p" -e "s/^databases\.default\.default\.$2=//p" .env 2>/dev/null | tail -n 1; }; + driver=$(v DRIVER driver); + test -n "$driver" || { echo "no database connection in .env, run lerd env first" >&2; exit 1; }; + if [ "$driver" = sqlite ]; then url="sqlite://$(v NAME database)"; + else url="$driver://$(v USER username):$(v PASSWORD password)@$(v HOST host):$(v PORT port)/$(v NAME database)"; fi; + php vendor/drush/drush/drush.php site:install --yes --db-url="$url" + --account-name=admin --account-pass=lerdadmin1 + commands: # site:install drops and recreates the schema, and `lerd setup --all` runs # every setup step regardless of `default`, so this is a confirm-gated # command rather than a setup step. - name: site:install label: Install site - # The connection is read out of the .env lerd wrote rather than templated - # in: {{…}} placeholders are only expanded from lerd v1.29, and an older - # install would take them literally and install a whole site into a - # database named "{{site}}". Sourcing .env also picks up whichever engine - # the project uses, since DB_DRIVER already holds drush's scheme name. - command: > - set -a; . ./.env; set +a; - php vendor/drush/drush/drush.php site:install --yes - --db-url="$DB_DRIVER://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" - --account-name=admin --account-pass=lerdadmin1 + command: *site-install description: Install a fresh site against the database lerd provisioned, admin user admin/lerdadmin1 output: text confirm: true diff --git a/frameworks/drupal/8.yaml b/frameworks/drupal/8.yaml index 6d0ad2d..d3733e3 100644 --- a/frameworks/drupal/8.yaml +++ b/frameworks/drupal/8.yaml @@ -96,22 +96,31 @@ tinker: requires_package: drush/drush requires_file: vendor/drush/drush/drush.php +# The recommended project ships without drush, and until the installer has run +# the connection lerd picked lives only in .env: DB_* from older releases, the +# settings.php array keys from newer ones. {{…}} placeholders are not used, +# since a release before v1.29 would take them literally. +install: + label: Install Drupal + # Both installers write settings.php, and nothing else does before them. + missing_file: web/sites/default/settings.php + command: &site-install > + test -f vendor/drush/drush/drush.php || composer require drush/drush --no-interaction || exit 1; + v() { sed -n -e "s/^DB_$1=//p" -e "s/^databases\.default\.default\.$2=//p" .env 2>/dev/null | tail -n 1; }; + driver=$(v DRIVER driver); + test -n "$driver" || { echo "no database connection in .env, run lerd env first" >&2; exit 1; }; + if [ "$driver" = sqlite ]; then url="sqlite://$(v NAME database)"; + else url="$driver://$(v USER username):$(v PASSWORD password)@$(v HOST host):$(v PORT port)/$(v NAME database)"; fi; + php vendor/drush/drush/drush.php site:install --yes --db-url="$url" + --account-name=admin --account-pass=lerdadmin1 + commands: # site:install drops and recreates the schema, and `lerd setup --all` runs # every setup step regardless of `default`, so this is a confirm-gated # command rather than a setup step. - name: site:install label: Install site - # The connection is read out of the .env lerd wrote rather than templated - # in: {{…}} placeholders are only expanded from lerd v1.29, and an older - # install would take them literally and install a whole site into a - # database named "{{site}}". Sourcing .env also picks up whichever engine - # the project uses, since DB_DRIVER already holds drush's scheme name. - command: > - set -a; . ./.env; set +a; - php vendor/drush/drush/drush.php site:install --yes - --db-url="$DB_DRIVER://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" - --account-name=admin --account-pass=lerdadmin1 + command: *site-install description: Install a fresh site against the database lerd provisioned, admin user admin/lerdadmin1 output: text confirm: true diff --git a/frameworks/drupal/9.yaml b/frameworks/drupal/9.yaml index 98403a3..f10594f 100644 --- a/frameworks/drupal/9.yaml +++ b/frameworks/drupal/9.yaml @@ -96,22 +96,31 @@ tinker: requires_package: drush/drush requires_file: vendor/drush/drush/drush.php +# The recommended project ships without drush, and until the installer has run +# the connection lerd picked lives only in .env: DB_* from older releases, the +# settings.php array keys from newer ones. {{…}} placeholders are not used, +# since a release before v1.29 would take them literally. +install: + label: Install Drupal + # Both installers write settings.php, and nothing else does before them. + missing_file: web/sites/default/settings.php + command: &site-install > + test -f vendor/drush/drush/drush.php || composer require drush/drush --no-interaction || exit 1; + v() { sed -n -e "s/^DB_$1=//p" -e "s/^databases\.default\.default\.$2=//p" .env 2>/dev/null | tail -n 1; }; + driver=$(v DRIVER driver); + test -n "$driver" || { echo "no database connection in .env, run lerd env first" >&2; exit 1; }; + if [ "$driver" = sqlite ]; then url="sqlite://$(v NAME database)"; + else url="$driver://$(v USER username):$(v PASSWORD password)@$(v HOST host):$(v PORT port)/$(v NAME database)"; fi; + php vendor/drush/drush/drush.php site:install --yes --db-url="$url" + --account-name=admin --account-pass=lerdadmin1 + commands: # site:install drops and recreates the schema, and `lerd setup --all` runs # every setup step regardless of `default`, so this is a confirm-gated # command rather than a setup step. - name: site:install label: Install site - # The connection is read out of the .env lerd wrote rather than templated - # in: {{…}} placeholders are only expanded from lerd v1.29, and an older - # install would take them literally and install a whole site into a - # database named "{{site}}". Sourcing .env also picks up whichever engine - # the project uses, since DB_DRIVER already holds drush's scheme name. - command: > - set -a; . ./.env; set +a; - php vendor/drush/drush/drush.php site:install --yes - --db-url="$DB_DRIVER://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" - --account-name=admin --account-pass=lerdadmin1 + command: *site-install description: Install a fresh site against the database lerd provisioned, admin user admin/lerdadmin1 output: text confirm: true diff --git a/packages/drush-drush.yaml b/packages/drush-drush.yaml index d14a19f..6535b73 100644 --- a/packages/drush-drush.yaml +++ b/packages/drush-drush.yaml @@ -13,15 +13,17 @@ workers: commands: - name: site:install label: Install site - # The connection is read out of the .env lerd wrote rather than templated - # in: {{…}} placeholders are only expanded from lerd v1.29, and an older - # install would take them literally and install a whole site into a - # database named "{{site}}". Sourcing .env also picks up whichever engine - # the project uses, since DB_DRIVER already holds drush's scheme name. + # The same script as the Drupal definitions' install block: until the + # installer has run, the connection lives only in .env, as DB_* from older + # releases and as the settings.php array keys from newer ones. command: > - set -a; . ./.env; set +a; - php vendor/drush/drush/drush.php site:install --yes - --db-url="$DB_DRIVER://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" + test -f vendor/drush/drush/drush.php || composer require drush/drush --no-interaction || exit 1; + v() { sed -n -e "s/^DB_$1=//p" -e "s/^databases\.default\.default\.$2=//p" .env 2>/dev/null | tail -n 1; }; + driver=$(v DRIVER driver); + test -n "$driver" || { echo "no database connection in .env, run lerd env first" >&2; exit 1; }; + if [ "$driver" = sqlite ]; then url="sqlite://$(v NAME database)"; + else url="$driver://$(v USER username):$(v PASSWORD password)@$(v HOST host):$(v PORT port)/$(v NAME database)"; fi; + php vendor/drush/drush/drush.php site:install --yes --db-url="$url" --account-name=admin --account-pass=lerdadmin1 description: Install a fresh site against the database lerd provisioned, admin user admin/lerdadmin1 output: text From 7dfd1316ac05783806b183596edd7716172f2b94 Mon Sep 17 00:00:00 2001 From: George Dumitrescu Date: Fri, 25 Sep 2026 15:24:02 +0300 Subject: [PATCH 2/3] feat: suggest the services a project talks to lerd's setup wizard can now offer presets a definition names under suggest_services, unticked when a framework names them and ticked when a package does, since a project requiring the package is using the service. Drupal 9 to 11 and TYPO3 offer Solr and Symfony offers Mercure, the presets built for them that nothing pointed a project at. The package side covers the clients whose presence says which service a project needs: predis for Redis, the Meilisearch, Typesense, Elasticsearch and OpenSearch clients, the MongoDB driver, php-amqplib for RabbitMQ, pheanstalk for Beanstalkd, the Stripe SDK for stripe-mock, the Gotenberg client, the S3 flysystem adapter for RustFS, the ClickHouse client and the Pusher server for Soketi. Framework packages cover what those clients do not, Horizon, Dusk, Cashier and the Laravel MongoDB and RabbitMQ queue drivers, Symfony's Mercure bundle, Panther, the AMQP, Redis and Beanstalkd transports, Elastica, the MongoDB ODM, the Gotenberg and Meilisearch bundles, the Drupal Redis, Memcache, Elasticsearch and OpenSearch modules alongside search_api_solr, and EXT:solr on TYPO3. An older lerd ignores the key, so nothing changes there. Refs lerd-env/lerd#1985 --- README.md | 34 +++++++++++++++++- frameworks/drupal/10.yaml | 3 ++ frameworks/drupal/11.yaml | 3 ++ frameworks/drupal/9.yaml | 3 ++ frameworks/index.json | 36 +++++++++++++++++-- frameworks/symfony/4.yaml | 3 ++ frameworks/symfony/5.yaml | 3 ++ frameworks/symfony/6.yaml | 3 ++ frameworks/symfony/7.yaml | 3 ++ frameworks/symfony/8.yaml | 3 ++ frameworks/typo3/10.yaml | 3 ++ frameworks/typo3/11.yaml | 3 ++ frameworks/typo3/12.yaml | 3 ++ frameworks/typo3/13.yaml | 3 ++ frameworks/typo3/14.yaml | 3 ++ packages/apache-solr-for-typo3-solr.yaml | 7 ++++ packages/doctrine-mongodb-odm-bundle.yaml | 7 ++++ packages/drupal-elasticsearch_connector.yaml | 7 ++++ packages/drupal-memcache.yaml | 7 ++++ packages/drupal-redis.yaml | 7 ++++ packages/drupal-search_api_opensearch.yaml | 7 ++++ packages/drupal-search_api_solr.yaml | 9 +++++ packages/elasticsearch-elasticsearch.yaml | 5 +++ .../friendsofsymfony-elastica-bundle.yaml | 7 ++++ packages/gotenberg-gotenberg-php.yaml | 5 +++ packages/laravel-cashier.yaml | 7 ++++ packages/laravel-dusk.yaml | 7 ++++ packages/laravel-horizon.yaml | 4 +++ packages/league-flysystem-aws-s3-v3.yaml | 5 +++ packages/meilisearch-meilisearch-php.yaml | 5 +++ packages/meilisearch-search-bundle.yaml | 7 ++++ packages/mongodb-laravel-mongodb.yaml | 7 ++++ packages/mongodb-mongodb.yaml | 5 +++ .../opensearch-project-opensearch-php.yaml | 5 +++ packages/pda-pheanstalk.yaml | 5 +++ packages/php-amqplib-php-amqplib.yaml | 5 +++ packages/predis-predis.yaml | 5 +++ packages/pusher-pusher-php-server.yaml | 5 +++ packages/sensiolabs-gotenberg-bundle.yaml | 7 ++++ packages/smi2-phpclickhouse.yaml | 5 +++ packages/stripe-stripe-php.yaml | 5 +++ packages/symfony-amqp-messenger.yaml | 7 ++++ packages/symfony-beanstalkd-messenger.yaml | 7 ++++ packages/symfony-mercure-bundle.yaml | 7 ++++ packages/symfony-panther.yaml | 7 ++++ packages/symfony-redis-messenger.yaml | 7 ++++ packages/typesense-typesense-php.yaml | 5 +++ ...imir-yuldashev-laravel-queue-rabbitmq.yaml | 7 ++++ 48 files changed, 310 insertions(+), 3 deletions(-) create mode 100644 packages/apache-solr-for-typo3-solr.yaml create mode 100644 packages/doctrine-mongodb-odm-bundle.yaml create mode 100644 packages/drupal-elasticsearch_connector.yaml create mode 100644 packages/drupal-memcache.yaml create mode 100644 packages/drupal-redis.yaml create mode 100644 packages/drupal-search_api_opensearch.yaml create mode 100644 packages/drupal-search_api_solr.yaml create mode 100644 packages/elasticsearch-elasticsearch.yaml create mode 100644 packages/friendsofsymfony-elastica-bundle.yaml create mode 100644 packages/gotenberg-gotenberg-php.yaml create mode 100644 packages/laravel-cashier.yaml create mode 100644 packages/laravel-dusk.yaml create mode 100644 packages/league-flysystem-aws-s3-v3.yaml create mode 100644 packages/meilisearch-meilisearch-php.yaml create mode 100644 packages/meilisearch-search-bundle.yaml create mode 100644 packages/mongodb-laravel-mongodb.yaml create mode 100644 packages/mongodb-mongodb.yaml create mode 100644 packages/opensearch-project-opensearch-php.yaml create mode 100644 packages/pda-pheanstalk.yaml create mode 100644 packages/php-amqplib-php-amqplib.yaml create mode 100644 packages/predis-predis.yaml create mode 100644 packages/pusher-pusher-php-server.yaml create mode 100644 packages/sensiolabs-gotenberg-bundle.yaml create mode 100644 packages/smi2-phpclickhouse.yaml create mode 100644 packages/stripe-stripe-php.yaml create mode 100644 packages/symfony-amqp-messenger.yaml create mode 100644 packages/symfony-beanstalkd-messenger.yaml create mode 100644 packages/symfony-mercure-bundle.yaml create mode 100644 packages/symfony-panther.yaml create mode 100644 packages/symfony-redis-messenger.yaml create mode 100644 packages/typesense-typesense-php.yaml create mode 100644 packages/vladimir-yuldashev-laravel-queue-rabbitmq.yaml diff --git a/README.md b/README.md index 95c1fec..3c79e52 100644 --- a/README.md +++ b/README.md @@ -55,28 +55,60 @@ definition your project resolved when its `composer.json` requires the package. | Package | What it adds | Applies to | |---------|--------------|------------| +| `apache-solr-for-typo3/solr` | suggests the `solr` service, ticked | TYPO3 | | `cakephp/migrations` | `migrate` command | CakePHP 3+ | | `cakephp/queue` | `queue` worker | CakePHP 5+ | | `codeigniter4/queue` | `queue` worker, `queue:retry`, `queue:failed`, `queue:flush` commands | CodeIgniter 4+ | | `doctrine/doctrine-fixtures-bundle` | `doctrine:fixtures:load` command, 1 setup step | Symfony 4+ | | `doctrine/doctrine-migrations-bundle` | `doctrine:migrations:migrate` command, 1 setup step | Symfony 4+ | +| `doctrine/mongodb-odm-bundle` | suggests the `mongo` service, ticked | Symfony | +| `drupal/elasticsearch_connector` | suggests the `elasticsearch` service, ticked | Drupal | +| `drupal/memcache` | suggests the `memcached` service, ticked | Drupal | +| `drupal/redis` | suggests the `redis` service, ticked | Drupal | +| `drupal/search_api_opensearch` | suggests the `opensearch` service, ticked | Drupal | +| `drupal/search_api_solr` | suggests the `solr` service, ticked | Drupal 9+ | | `drush/drush` | `cron` worker, `site:install`, `cr`, `uli`, `updb`, `cex`, `cim` commands, 3 setup steps | Drupal 8+ | +| `elasticsearch/elasticsearch` | suggests the `elasticsearch` service, ticked | any framework | +| `friendsofsymfony/elastica-bundle` | suggests the `elasticsearch` service, ticked | Symfony | +| `gotenberg/gotenberg-php` | suggests the `gotenberg` service, ticked | any framework | | `helhum/typo3-console` | `setup` command | TYPO3 10-11 | | `inspector-apm/inspector-php` | reported faults shown in the Debug window | any framework | +| `laravel/cashier` | suggests the `stripe-mock` service, ticked | Laravel | | `laravel/cloud-cli` | `cloud` runs on the host PHP | any framework | -| `laravel/horizon` | `horizon` worker | Laravel 6+ | +| `laravel/dusk` | suggests the `selenium` service, ticked | Laravel | +| `laravel/horizon` | `horizon` worker, suggests `redis` | Laravel 6+ | | `laravel/reverb` | `reverb` worker | Laravel 11+ | +| `league/flysystem-aws-s3-v3` | suggests the `rustfs` service, ticked | any framework | +| `meilisearch/meilisearch-php` | suggests the `meilisearch` service, ticked | any framework | +| `meilisearch/search-bundle` | suggests the `meilisearch` service, ticked | Symfony | +| `mongodb/laravel-mongodb` | suggests the `mongo` service, ticked | Laravel | +| `mongodb/mongodb` | suggests the `mongo` service, ticked | any framework | | `monolog/monolog` | log records captured into the Debug window | any framework | | `nativephp/electron` | `native` worker, `native:install`, `native:build` commands, 1 doctor check | Laravel 11+ | | `nativephp/mobile` | `native:install-mobile`, `native:jump`, `native:run`, `native:open` commands, 3 doctor checks | Laravel 11+ | +| `opensearch-project/opensearch-php` | suggests the `opensearch` service, ticked | any framework | +| `pda/pheanstalk` | suggests the `beanstalkd` service, ticked | any framework | +| `php-amqplib/php-amqplib` | suggests the `rabbitmq` service, ticked | any framework | +| `predis/predis` | suggests the `redis` service, ticked | any framework | +| `pusher/pusher-php-server` | suggests the `soketi` service, ticked | any framework | +| `sensiolabs/gotenberg-bundle` | suggests the `gotenberg` service, ticked | Symfony | | `sentry/sentry` | captured exceptions and messages shown in the Debug window | any framework | +| `smi2/phpclickhouse` | suggests the `clickhouse` service, ticked | any framework | | `spatie/ray` | `ray()` calls captured into the Debug window | any framework | +| `stripe/stripe-php` | suggests the `stripe-mock` service, ticked | any framework | +| `symfony/amqp-messenger` | suggests the `rabbitmq` service, ticked | Symfony | +| `symfony/beanstalkd-messenger` | suggests the `beanstalkd` service, ticked | Symfony | +| `symfony/mercure-bundle` | suggests the `mercure` service, ticked | Symfony | | `symfony/messenger` | `messenger` worker | Symfony 4+ | | `symfony/notifier` | SMS, chat and push shown in the Debug window | any framework | +| `symfony/panther` | suggests the `selenium` service, ticked | Symfony | +| `symfony/redis-messenger` | suggests the `redis` service, ticked | Symfony | | `symfony/scheduler` | `scheduler` worker | Symfony 8+ | | `tempest/command-bus` | `command_bus` worker | Tempest 3+ | | `tempest/database` | 1 setup step | Tempest 3+ | +| `typesense/typesense-php` | suggests the `typesense` service, ticked | any framework | | `typo3/cms-scheduler` | `scheduler` worker, `scheduler` command | TYPO3 10+ | +| `vladimir-yuldashev/laravel-queue-rabbitmq` | suggests the `rabbitmq` service, ticked | Laravel | Missing one you use? [Add it](#package-definitions) — a package file is a dozen lines, and it reaches every install within 24 hours like anything else here. diff --git a/frameworks/drupal/10.yaml b/frameworks/drupal/10.yaml index 0ffc155..04b1e3d 100644 --- a/frameworks/drupal/10.yaml +++ b/frameworks/drupal/10.yaml @@ -64,6 +64,9 @@ env: - databases.default.default.autoload=core/modules/pgsql/src/Driver/Database/pgsql/ composer: auto npm: false +# Offered unticked in the setup wizard; the search_api_solr package ticks it. +suggest_services: + - solr console: vendor/drush/drush/drush.php # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/drupal/11.yaml b/frameworks/drupal/11.yaml index c3bcedd..e47265a 100644 --- a/frameworks/drupal/11.yaml +++ b/frameworks/drupal/11.yaml @@ -64,6 +64,9 @@ env: - databases.default.default.autoload=core/modules/pgsql/src/Driver/Database/pgsql/ composer: auto npm: false +# Offered unticked in the setup wizard; the search_api_solr package ticks it. +suggest_services: + - solr console: vendor/drush/drush/drush.php # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/drupal/9.yaml b/frameworks/drupal/9.yaml index f10594f..52ebc67 100644 --- a/frameworks/drupal/9.yaml +++ b/frameworks/drupal/9.yaml @@ -60,6 +60,9 @@ env: - databases.default.default.password=lerd composer: auto npm: false +# Offered unticked in the setup wizard; the search_api_solr package ticks it. +suggest_services: + - solr console: vendor/drush/drush/drush.php # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/index.json b/frameworks/index.json index 3f921fc..0b7d595 100644 --- a/frameworks/index.json +++ b/frameworks/index.json @@ -130,29 +130,61 @@ } ], "packages": [ + {"name": "apache-solr-for-typo3/solr"}, {"name": "cakephp/migrations"}, {"name": "cakephp/queue"}, {"name": "codeigniter4/queue"}, {"name": "doctrine/doctrine-fixtures-bundle"}, {"name": "doctrine/doctrine-migrations-bundle"}, + {"name": "doctrine/mongodb-odm-bundle"}, + {"name": "drupal/elasticsearch_connector"}, + {"name": "drupal/memcache"}, + {"name": "drupal/redis"}, + {"name": "drupal/search_api_opensearch"}, + {"name": "drupal/search_api_solr"}, {"name": "drush/drush"}, + {"name": "elasticsearch/elasticsearch"}, + {"name": "friendsofsymfony/elastica-bundle"}, + {"name": "gotenberg/gotenberg-php"}, {"name": "helhum/typo3-console"}, - {"name": "inspector-apm/inspector-php"}, {"name": "inertiajs/inertia-laravel"}, + {"name": "inspector-apm/inspector-php"}, + {"name": "laravel/cashier"}, {"name": "laravel/cloud-cli"}, + {"name": "laravel/dusk"}, {"name": "laravel/horizon"}, {"name": "laravel/reverb"}, + {"name": "league/flysystem-aws-s3-v3"}, + {"name": "meilisearch/meilisearch-php"}, + {"name": "meilisearch/search-bundle"}, + {"name": "mongodb/laravel-mongodb"}, + {"name": "mongodb/mongodb"}, {"name": "monolog/monolog"}, {"name": "nativephp/desktop"}, {"name": "nativephp/electron"}, {"name": "nativephp/mobile"}, + {"name": "opensearch-project/opensearch-php"}, + {"name": "pda/pheanstalk"}, + {"name": "php-amqplib/php-amqplib"}, + {"name": "predis/predis"}, + {"name": "pusher/pusher-php-server"}, + {"name": "sensiolabs/gotenberg-bundle"}, {"name": "sentry/sentry"}, + {"name": "smi2/phpclickhouse"}, {"name": "spatie/ray"}, + {"name": "stripe/stripe-php"}, + {"name": "symfony/amqp-messenger"}, + {"name": "symfony/beanstalkd-messenger"}, + {"name": "symfony/mercure-bundle"}, {"name": "symfony/messenger"}, {"name": "symfony/notifier"}, + {"name": "symfony/panther"}, + {"name": "symfony/redis-messenger"}, {"name": "symfony/scheduler"}, {"name": "tempest/command-bus"}, {"name": "tempest/database"}, - {"name": "typo3/cms-scheduler"} + {"name": "typesense/typesense-php"}, + {"name": "typo3/cms-scheduler"}, + {"name": "vladimir-yuldashev/laravel-queue-rabbitmq"} ] } diff --git a/frameworks/symfony/4.yaml b/frameworks/symfony/4.yaml index d632ef1..29035f2 100644 --- a/frameworks/symfony/4.yaml +++ b/frameworks/symfony/4.yaml @@ -66,6 +66,9 @@ env: composer: auto npm: auto +# Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. +suggest_services: + - mercure console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/5.yaml b/frameworks/symfony/5.yaml index 34d4b88..e3738b3 100644 --- a/frameworks/symfony/5.yaml +++ b/frameworks/symfony/5.yaml @@ -66,6 +66,9 @@ env: composer: auto npm: auto +# Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. +suggest_services: + - mercure console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/6.yaml b/frameworks/symfony/6.yaml index 6701d5d..934fb04 100644 --- a/frameworks/symfony/6.yaml +++ b/frameworks/symfony/6.yaml @@ -66,6 +66,9 @@ env: composer: auto npm: auto +# Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. +suggest_services: + - mercure console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/7.yaml b/frameworks/symfony/7.yaml index 8a6309e..82cb971 100644 --- a/frameworks/symfony/7.yaml +++ b/frameworks/symfony/7.yaml @@ -66,6 +66,9 @@ env: composer: auto npm: auto +# Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. +suggest_services: + - mercure console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/8.yaml b/frameworks/symfony/8.yaml index 966e032..c94ceb0 100644 --- a/frameworks/symfony/8.yaml +++ b/frameworks/symfony/8.yaml @@ -66,6 +66,9 @@ env: composer: auto npm: auto +# Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. +suggest_services: + - mercure console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/typo3/10.yaml b/frameworks/typo3/10.yaml index bc9098c..18abfbe 100644 --- a/frameworks/typo3/10.yaml +++ b/frameworks/typo3/10.yaml @@ -63,6 +63,9 @@ env: composer: auto npm: false +# Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. +suggest_services: + - solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/frameworks/typo3/11.yaml b/frameworks/typo3/11.yaml index 205e4e0..5e888a3 100644 --- a/frameworks/typo3/11.yaml +++ b/frameworks/typo3/11.yaml @@ -63,6 +63,9 @@ env: composer: auto npm: false +# Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. +suggest_services: + - solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/frameworks/typo3/12.yaml b/frameworks/typo3/12.yaml index 7683ea2..ae6fc2a 100644 --- a/frameworks/typo3/12.yaml +++ b/frameworks/typo3/12.yaml @@ -63,6 +63,9 @@ env: composer: auto npm: false +# Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. +suggest_services: + - solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/frameworks/typo3/13.yaml b/frameworks/typo3/13.yaml index 2fc2813..0f3a616 100644 --- a/frameworks/typo3/13.yaml +++ b/frameworks/typo3/13.yaml @@ -63,6 +63,9 @@ env: composer: auto npm: false +# Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. +suggest_services: + - solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/frameworks/typo3/14.yaml b/frameworks/typo3/14.yaml index 9d22aae..a45b518 100644 --- a/frameworks/typo3/14.yaml +++ b/frameworks/typo3/14.yaml @@ -63,6 +63,9 @@ env: composer: auto npm: false +# Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. +suggest_services: + - solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/packages/apache-solr-for-typo3-solr.yaml b/packages/apache-solr-for-typo3-solr.yaml new file mode 100644 index 0000000..6f8e032 --- /dev/null +++ b/packages/apache-solr-for-typo3-solr.yaml @@ -0,0 +1,7 @@ +package: apache-solr-for-typo3/solr +frameworks: + - name: typo3 + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - solr diff --git a/packages/doctrine-mongodb-odm-bundle.yaml b/packages/doctrine-mongodb-odm-bundle.yaml new file mode 100644 index 0000000..0e3a53f --- /dev/null +++ b/packages/doctrine-mongodb-odm-bundle.yaml @@ -0,0 +1,7 @@ +package: doctrine/mongodb-odm-bundle +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - mongo diff --git a/packages/drupal-elasticsearch_connector.yaml b/packages/drupal-elasticsearch_connector.yaml new file mode 100644 index 0000000..04fffee --- /dev/null +++ b/packages/drupal-elasticsearch_connector.yaml @@ -0,0 +1,7 @@ +package: drupal/elasticsearch_connector +frameworks: + - name: drupal + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - elasticsearch diff --git a/packages/drupal-memcache.yaml b/packages/drupal-memcache.yaml new file mode 100644 index 0000000..033ed1c --- /dev/null +++ b/packages/drupal-memcache.yaml @@ -0,0 +1,7 @@ +package: drupal/memcache +frameworks: + - name: drupal + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - memcached diff --git a/packages/drupal-redis.yaml b/packages/drupal-redis.yaml new file mode 100644 index 0000000..a5c7b76 --- /dev/null +++ b/packages/drupal-redis.yaml @@ -0,0 +1,7 @@ +package: drupal/redis +frameworks: + - name: drupal + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - redis diff --git a/packages/drupal-search_api_opensearch.yaml b/packages/drupal-search_api_opensearch.yaml new file mode 100644 index 0000000..59a87a4 --- /dev/null +++ b/packages/drupal-search_api_opensearch.yaml @@ -0,0 +1,7 @@ +package: drupal/search_api_opensearch +frameworks: + - name: drupal + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - opensearch diff --git a/packages/drupal-search_api_solr.yaml b/packages/drupal-search_api_solr.yaml new file mode 100644 index 0000000..1ab2bce --- /dev/null +++ b/packages/drupal-search_api_solr.yaml @@ -0,0 +1,9 @@ +package: drupal/search_api_solr +# Search API Solr 4 supports Solr 9, the major lerd's preset runs, from Drupal 9. +frameworks: + - name: drupal + min: "9" + +# A project requiring the module indexes into Solr, so the wizard ticks it. +suggest_services: + - solr diff --git a/packages/elasticsearch-elasticsearch.yaml b/packages/elasticsearch-elasticsearch.yaml new file mode 100644 index 0000000..bf395d6 --- /dev/null +++ b/packages/elasticsearch-elasticsearch.yaml @@ -0,0 +1,5 @@ +package: elasticsearch/elasticsearch + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - elasticsearch diff --git a/packages/friendsofsymfony-elastica-bundle.yaml b/packages/friendsofsymfony-elastica-bundle.yaml new file mode 100644 index 0000000..407b8b8 --- /dev/null +++ b/packages/friendsofsymfony-elastica-bundle.yaml @@ -0,0 +1,7 @@ +package: friendsofsymfony/elastica-bundle +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - elasticsearch diff --git a/packages/gotenberg-gotenberg-php.yaml b/packages/gotenberg-gotenberg-php.yaml new file mode 100644 index 0000000..8a17bc6 --- /dev/null +++ b/packages/gotenberg-gotenberg-php.yaml @@ -0,0 +1,5 @@ +package: gotenberg/gotenberg-php + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - gotenberg diff --git a/packages/laravel-cashier.yaml b/packages/laravel-cashier.yaml new file mode 100644 index 0000000..5726088 --- /dev/null +++ b/packages/laravel-cashier.yaml @@ -0,0 +1,7 @@ +package: laravel/cashier +frameworks: + - name: laravel + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - stripe-mock diff --git a/packages/laravel-dusk.yaml b/packages/laravel-dusk.yaml new file mode 100644 index 0000000..bab3248 --- /dev/null +++ b/packages/laravel-dusk.yaml @@ -0,0 +1,7 @@ +package: laravel/dusk +frameworks: + - name: laravel + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - selenium diff --git a/packages/laravel-horizon.yaml b/packages/laravel-horizon.yaml index 4a7579f..762b666 100644 --- a/packages/laravel-horizon.yaml +++ b/packages/laravel-horizon.yaml @@ -13,3 +13,7 @@ workers: restart: always conflicts_with: - queue + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - redis diff --git a/packages/league-flysystem-aws-s3-v3.yaml b/packages/league-flysystem-aws-s3-v3.yaml new file mode 100644 index 0000000..d3235f1 --- /dev/null +++ b/packages/league-flysystem-aws-s3-v3.yaml @@ -0,0 +1,5 @@ +package: league/flysystem-aws-s3-v3 + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - rustfs diff --git a/packages/meilisearch-meilisearch-php.yaml b/packages/meilisearch-meilisearch-php.yaml new file mode 100644 index 0000000..9aea2d9 --- /dev/null +++ b/packages/meilisearch-meilisearch-php.yaml @@ -0,0 +1,5 @@ +package: meilisearch/meilisearch-php + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - meilisearch diff --git a/packages/meilisearch-search-bundle.yaml b/packages/meilisearch-search-bundle.yaml new file mode 100644 index 0000000..6386a9c --- /dev/null +++ b/packages/meilisearch-search-bundle.yaml @@ -0,0 +1,7 @@ +package: meilisearch/search-bundle +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - meilisearch diff --git a/packages/mongodb-laravel-mongodb.yaml b/packages/mongodb-laravel-mongodb.yaml new file mode 100644 index 0000000..82903b9 --- /dev/null +++ b/packages/mongodb-laravel-mongodb.yaml @@ -0,0 +1,7 @@ +package: mongodb/laravel-mongodb +frameworks: + - name: laravel + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - mongo diff --git a/packages/mongodb-mongodb.yaml b/packages/mongodb-mongodb.yaml new file mode 100644 index 0000000..b9e2d75 --- /dev/null +++ b/packages/mongodb-mongodb.yaml @@ -0,0 +1,5 @@ +package: mongodb/mongodb + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - mongo diff --git a/packages/opensearch-project-opensearch-php.yaml b/packages/opensearch-project-opensearch-php.yaml new file mode 100644 index 0000000..2a7fda4 --- /dev/null +++ b/packages/opensearch-project-opensearch-php.yaml @@ -0,0 +1,5 @@ +package: opensearch-project/opensearch-php + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - opensearch diff --git a/packages/pda-pheanstalk.yaml b/packages/pda-pheanstalk.yaml new file mode 100644 index 0000000..df2586f --- /dev/null +++ b/packages/pda-pheanstalk.yaml @@ -0,0 +1,5 @@ +package: pda/pheanstalk + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - beanstalkd diff --git a/packages/php-amqplib-php-amqplib.yaml b/packages/php-amqplib-php-amqplib.yaml new file mode 100644 index 0000000..c96aa40 --- /dev/null +++ b/packages/php-amqplib-php-amqplib.yaml @@ -0,0 +1,5 @@ +package: php-amqplib/php-amqplib + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - rabbitmq diff --git a/packages/predis-predis.yaml b/packages/predis-predis.yaml new file mode 100644 index 0000000..969e028 --- /dev/null +++ b/packages/predis-predis.yaml @@ -0,0 +1,5 @@ +package: predis/predis + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - redis diff --git a/packages/pusher-pusher-php-server.yaml b/packages/pusher-pusher-php-server.yaml new file mode 100644 index 0000000..78849e9 --- /dev/null +++ b/packages/pusher-pusher-php-server.yaml @@ -0,0 +1,5 @@ +package: pusher/pusher-php-server + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - soketi diff --git a/packages/sensiolabs-gotenberg-bundle.yaml b/packages/sensiolabs-gotenberg-bundle.yaml new file mode 100644 index 0000000..c6395b9 --- /dev/null +++ b/packages/sensiolabs-gotenberg-bundle.yaml @@ -0,0 +1,7 @@ +package: sensiolabs/gotenberg-bundle +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - gotenberg diff --git a/packages/smi2-phpclickhouse.yaml b/packages/smi2-phpclickhouse.yaml new file mode 100644 index 0000000..fa707ca --- /dev/null +++ b/packages/smi2-phpclickhouse.yaml @@ -0,0 +1,5 @@ +package: smi2/phpclickhouse + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - clickhouse diff --git a/packages/stripe-stripe-php.yaml b/packages/stripe-stripe-php.yaml new file mode 100644 index 0000000..1988d77 --- /dev/null +++ b/packages/stripe-stripe-php.yaml @@ -0,0 +1,5 @@ +package: stripe/stripe-php + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - stripe-mock diff --git a/packages/symfony-amqp-messenger.yaml b/packages/symfony-amqp-messenger.yaml new file mode 100644 index 0000000..7b00589 --- /dev/null +++ b/packages/symfony-amqp-messenger.yaml @@ -0,0 +1,7 @@ +package: symfony/amqp-messenger +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - rabbitmq diff --git a/packages/symfony-beanstalkd-messenger.yaml b/packages/symfony-beanstalkd-messenger.yaml new file mode 100644 index 0000000..2fe638f --- /dev/null +++ b/packages/symfony-beanstalkd-messenger.yaml @@ -0,0 +1,7 @@ +package: symfony/beanstalkd-messenger +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - beanstalkd diff --git a/packages/symfony-mercure-bundle.yaml b/packages/symfony-mercure-bundle.yaml new file mode 100644 index 0000000..98f1f58 --- /dev/null +++ b/packages/symfony-mercure-bundle.yaml @@ -0,0 +1,7 @@ +package: symfony/mercure-bundle +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - mercure diff --git a/packages/symfony-panther.yaml b/packages/symfony-panther.yaml new file mode 100644 index 0000000..df6d193 --- /dev/null +++ b/packages/symfony-panther.yaml @@ -0,0 +1,7 @@ +package: symfony/panther +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - selenium diff --git a/packages/symfony-redis-messenger.yaml b/packages/symfony-redis-messenger.yaml new file mode 100644 index 0000000..9dc64e2 --- /dev/null +++ b/packages/symfony-redis-messenger.yaml @@ -0,0 +1,7 @@ +package: symfony/redis-messenger +frameworks: + - name: symfony + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - redis diff --git a/packages/typesense-typesense-php.yaml b/packages/typesense-typesense-php.yaml new file mode 100644 index 0000000..baa6c6f --- /dev/null +++ b/packages/typesense-typesense-php.yaml @@ -0,0 +1,5 @@ +package: typesense/typesense-php + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - typesense diff --git a/packages/vladimir-yuldashev-laravel-queue-rabbitmq.yaml b/packages/vladimir-yuldashev-laravel-queue-rabbitmq.yaml new file mode 100644 index 0000000..1244ce2 --- /dev/null +++ b/packages/vladimir-yuldashev-laravel-queue-rabbitmq.yaml @@ -0,0 +1,7 @@ +package: vladimir-yuldashev/laravel-queue-rabbitmq +frameworks: + - name: laravel + +# The project talks to this service through the package, so the wizard ticks it. +suggest_services: + - rabbitmq From 9ed211c0b75852376ec9b1623c03b10123c2301f Mon Sep 17 00:00:00 2001 From: George Dumitrescu Date: Fri, 25 Sep 2026 15:46:16 +0300 Subject: [PATCH 3/3] feat: say why each service is suggested, and list alternatives Each suggestion is now a name and a reason, which lerd shows beside the suggestion so someone can tell whether it is for them: a project on Stripe's SDK or the S3 adapter may be talking to the hosted service, and the reason says what the local one would stand in for. Packages that work with more than one service list them as alternatives, most important first, and lerd puts forward the one the machine already runs. predis, Horizon, Symfony's Redis transport and Drupal's Redis module take Redis or Valkey, the S3 adapter takes RustFS or LocalStack, and Drupal's Elasticsearch connector takes Elasticsearch or OpenSearch. Refs lerd-env/lerd#1985 --- README.md | 12 ++++++------ frameworks/drupal/10.yaml | 3 ++- frameworks/drupal/11.yaml | 3 ++- frameworks/drupal/9.yaml | 3 ++- frameworks/symfony/4.yaml | 3 ++- frameworks/symfony/5.yaml | 3 ++- frameworks/symfony/6.yaml | 3 ++- frameworks/symfony/7.yaml | 3 ++- frameworks/symfony/8.yaml | 3 ++- frameworks/typo3/10.yaml | 3 ++- frameworks/typo3/11.yaml | 3 ++- frameworks/typo3/12.yaml | 3 ++- frameworks/typo3/13.yaml | 3 ++- frameworks/typo3/14.yaml | 3 ++- packages/apache-solr-for-typo3-solr.yaml | 3 ++- packages/doctrine-mongodb-odm-bundle.yaml | 3 ++- packages/drupal-elasticsearch_connector.yaml | 8 ++++++-- packages/drupal-memcache.yaml | 3 ++- packages/drupal-redis.yaml | 8 ++++++-- packages/drupal-search_api_opensearch.yaml | 3 ++- packages/drupal-search_api_solr.yaml | 5 +++-- packages/elasticsearch-elasticsearch.yaml | 3 ++- packages/friendsofsymfony-elastica-bundle.yaml | 3 ++- packages/gotenberg-gotenberg-php.yaml | 3 ++- packages/laravel-cashier.yaml | 3 ++- packages/laravel-dusk.yaml | 3 ++- packages/laravel-horizon.yaml | 8 ++++++-- packages/league-flysystem-aws-s3-v3.yaml | 8 ++++++-- packages/meilisearch-meilisearch-php.yaml | 3 ++- packages/meilisearch-search-bundle.yaml | 3 ++- packages/mongodb-laravel-mongodb.yaml | 3 ++- packages/mongodb-mongodb.yaml | 3 ++- packages/opensearch-project-opensearch-php.yaml | 3 ++- packages/pda-pheanstalk.yaml | 3 ++- packages/php-amqplib-php-amqplib.yaml | 3 ++- packages/predis-predis.yaml | 8 ++++++-- packages/pusher-pusher-php-server.yaml | 3 ++- packages/sensiolabs-gotenberg-bundle.yaml | 3 ++- packages/smi2-phpclickhouse.yaml | 3 ++- packages/stripe-stripe-php.yaml | 3 ++- packages/symfony-amqp-messenger.yaml | 3 ++- packages/symfony-beanstalkd-messenger.yaml | 3 ++- packages/symfony-mercure-bundle.yaml | 3 ++- packages/symfony-panther.yaml | 3 ++- packages/symfony-redis-messenger.yaml | 8 ++++++-- packages/typesense-typesense-php.yaml | 3 ++- .../vladimir-yuldashev-laravel-queue-rabbitmq.yaml | 3 ++- 47 files changed, 123 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 3c79e52..d9df417 100644 --- a/README.md +++ b/README.md @@ -62,9 +62,9 @@ definition your project resolved when its `composer.json` requires the package. | `doctrine/doctrine-fixtures-bundle` | `doctrine:fixtures:load` command, 1 setup step | Symfony 4+ | | `doctrine/doctrine-migrations-bundle` | `doctrine:migrations:migrate` command, 1 setup step | Symfony 4+ | | `doctrine/mongodb-odm-bundle` | suggests the `mongo` service, ticked | Symfony | -| `drupal/elasticsearch_connector` | suggests the `elasticsearch` service, ticked | Drupal | +| `drupal/elasticsearch_connector` | suggests `elasticsearch`, or `opensearch` when that is what runs | Drupal | | `drupal/memcache` | suggests the `memcached` service, ticked | Drupal | -| `drupal/redis` | suggests the `redis` service, ticked | Drupal | +| `drupal/redis` | suggests `redis`, or `valkey` when that is what runs | Drupal | | `drupal/search_api_opensearch` | suggests the `opensearch` service, ticked | Drupal | | `drupal/search_api_solr` | suggests the `solr` service, ticked | Drupal 9+ | | `drush/drush` | `cron` worker, `site:install`, `cr`, `uli`, `updb`, `cex`, `cim` commands, 3 setup steps | Drupal 8+ | @@ -76,9 +76,9 @@ definition your project resolved when its `composer.json` requires the package. | `laravel/cashier` | suggests the `stripe-mock` service, ticked | Laravel | | `laravel/cloud-cli` | `cloud` runs on the host PHP | any framework | | `laravel/dusk` | suggests the `selenium` service, ticked | Laravel | -| `laravel/horizon` | `horizon` worker, suggests `redis` | Laravel 6+ | +| `laravel/horizon` | `horizon` worker, suggests `redis`, or `valkey` when that is what runs | Laravel 6+ | | `laravel/reverb` | `reverb` worker | Laravel 11+ | -| `league/flysystem-aws-s3-v3` | suggests the `rustfs` service, ticked | any framework | +| `league/flysystem-aws-s3-v3` | suggests `rustfs`, or `localstack` when that is what runs | any framework | | `meilisearch/meilisearch-php` | suggests the `meilisearch` service, ticked | any framework | | `meilisearch/search-bundle` | suggests the `meilisearch` service, ticked | Symfony | | `mongodb/laravel-mongodb` | suggests the `mongo` service, ticked | Laravel | @@ -89,7 +89,7 @@ definition your project resolved when its `composer.json` requires the package. | `opensearch-project/opensearch-php` | suggests the `opensearch` service, ticked | any framework | | `pda/pheanstalk` | suggests the `beanstalkd` service, ticked | any framework | | `php-amqplib/php-amqplib` | suggests the `rabbitmq` service, ticked | any framework | -| `predis/predis` | suggests the `redis` service, ticked | any framework | +| `predis/predis` | suggests `redis`, or `valkey` when that is what runs | any framework | | `pusher/pusher-php-server` | suggests the `soketi` service, ticked | any framework | | `sensiolabs/gotenberg-bundle` | suggests the `gotenberg` service, ticked | Symfony | | `sentry/sentry` | captured exceptions and messages shown in the Debug window | any framework | @@ -102,7 +102,7 @@ definition your project resolved when its `composer.json` requires the package. | `symfony/messenger` | `messenger` worker | Symfony 4+ | | `symfony/notifier` | SMS, chat and push shown in the Debug window | any framework | | `symfony/panther` | suggests the `selenium` service, ticked | Symfony | -| `symfony/redis-messenger` | suggests the `redis` service, ticked | Symfony | +| `symfony/redis-messenger` | suggests `redis`, or `valkey` when that is what runs | Symfony | | `symfony/scheduler` | `scheduler` worker | Symfony 8+ | | `tempest/command-bus` | `command_bus` worker | Tempest 3+ | | `tempest/database` | 1 setup step | Tempest 3+ | diff --git a/frameworks/drupal/10.yaml b/frameworks/drupal/10.yaml index 04b1e3d..88a00d2 100644 --- a/frameworks/drupal/10.yaml +++ b/frameworks/drupal/10.yaml @@ -66,7 +66,8 @@ composer: auto npm: false # Offered unticked in the setup wizard; the search_api_solr package ticks it. suggest_services: - - solr + - name: solr + reason: Search API's usual search backend console: vendor/drush/drush/drush.php # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/drupal/11.yaml b/frameworks/drupal/11.yaml index e47265a..97a8ae5 100644 --- a/frameworks/drupal/11.yaml +++ b/frameworks/drupal/11.yaml @@ -66,7 +66,8 @@ composer: auto npm: false # Offered unticked in the setup wizard; the search_api_solr package ticks it. suggest_services: - - solr + - name: solr + reason: Search API's usual search backend console: vendor/drush/drush/drush.php # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/drupal/9.yaml b/frameworks/drupal/9.yaml index 52ebc67..67a1451 100644 --- a/frameworks/drupal/9.yaml +++ b/frameworks/drupal/9.yaml @@ -62,7 +62,8 @@ composer: auto npm: false # Offered unticked in the setup wizard; the search_api_solr package ticks it. suggest_services: - - solr + - name: solr + reason: Search API's usual search backend console: vendor/drush/drush/drush.php # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/4.yaml b/frameworks/symfony/4.yaml index a22c098..d310fa3 100644 --- a/frameworks/symfony/4.yaml +++ b/frameworks/symfony/4.yaml @@ -68,7 +68,8 @@ composer: auto npm: auto # Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. suggest_services: - - mercure + - name: mercure + reason: Realtime updates pushed over server-sent events console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/5.yaml b/frameworks/symfony/5.yaml index 36c7b09..e3036df 100644 --- a/frameworks/symfony/5.yaml +++ b/frameworks/symfony/5.yaml @@ -68,7 +68,8 @@ composer: auto npm: auto # Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. suggest_services: - - mercure + - name: mercure + reason: Realtime updates pushed over server-sent events console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/6.yaml b/frameworks/symfony/6.yaml index 6753d89..0ea77c5 100644 --- a/frameworks/symfony/6.yaml +++ b/frameworks/symfony/6.yaml @@ -68,7 +68,8 @@ composer: auto npm: auto # Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. suggest_services: - - mercure + - name: mercure + reason: Realtime updates pushed over server-sent events console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/7.yaml b/frameworks/symfony/7.yaml index e736315..21ce29c 100644 --- a/frameworks/symfony/7.yaml +++ b/frameworks/symfony/7.yaml @@ -68,7 +68,8 @@ composer: auto npm: auto # Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. suggest_services: - - mercure + - name: mercure + reason: Realtime updates pushed over server-sent events console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/symfony/8.yaml b/frameworks/symfony/8.yaml index 8a0cb0f..26af970 100644 --- a/frameworks/symfony/8.yaml +++ b/frameworks/symfony/8.yaml @@ -68,7 +68,8 @@ composer: auto npm: auto # Offered unticked in the setup wizard; symfony/mercure-bundle ticks it. suggest_services: - - mercure + - name: mercure + reason: Realtime updates pushed over server-sent events console: bin/console # Run after a connection change: the compiled container is built # against the old database and answers every request with an error. diff --git a/frameworks/typo3/10.yaml b/frameworks/typo3/10.yaml index 18abfbe..d023b59 100644 --- a/frameworks/typo3/10.yaml +++ b/frameworks/typo3/10.yaml @@ -65,7 +65,8 @@ composer: auto npm: false # Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. suggest_services: - - solr + - name: solr + reason: Search backend for EXT:solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/frameworks/typo3/11.yaml b/frameworks/typo3/11.yaml index 5e888a3..100bdf0 100644 --- a/frameworks/typo3/11.yaml +++ b/frameworks/typo3/11.yaml @@ -65,7 +65,8 @@ composer: auto npm: false # Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. suggest_services: - - solr + - name: solr + reason: Search backend for EXT:solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/frameworks/typo3/12.yaml b/frameworks/typo3/12.yaml index ae6fc2a..5cb708f 100644 --- a/frameworks/typo3/12.yaml +++ b/frameworks/typo3/12.yaml @@ -65,7 +65,8 @@ composer: auto npm: false # Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. suggest_services: - - solr + - name: solr + reason: Search backend for EXT:solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/frameworks/typo3/13.yaml b/frameworks/typo3/13.yaml index 0f3a616..98a492f 100644 --- a/frameworks/typo3/13.yaml +++ b/frameworks/typo3/13.yaml @@ -65,7 +65,8 @@ composer: auto npm: false # Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. suggest_services: - - solr + - name: solr + reason: Search backend for EXT:solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/frameworks/typo3/14.yaml b/frameworks/typo3/14.yaml index a45b518..66f26d7 100644 --- a/frameworks/typo3/14.yaml +++ b/frameworks/typo3/14.yaml @@ -65,7 +65,8 @@ composer: auto npm: false # Offered unticked in the setup wizard; apache-solr-for-typo3/solr ticks it. suggest_services: - - solr + - name: solr + reason: Search backend for EXT:solr console: vendor/bin/typo3 cache_command: cache:flush diff --git a/packages/apache-solr-for-typo3-solr.yaml b/packages/apache-solr-for-typo3-solr.yaml index 6f8e032..ded5f0b 100644 --- a/packages/apache-solr-for-typo3-solr.yaml +++ b/packages/apache-solr-for-typo3-solr.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - solr + - name: solr + reason: Search backend for EXT:solr diff --git a/packages/doctrine-mongodb-odm-bundle.yaml b/packages/doctrine-mongodb-odm-bundle.yaml index 0e3a53f..0cca8d0 100644 --- a/packages/doctrine-mongodb-odm-bundle.yaml +++ b/packages/doctrine-mongodb-odm-bundle.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - mongo + - name: mongo + reason: MongoDB for Doctrine ODM diff --git a/packages/drupal-elasticsearch_connector.yaml b/packages/drupal-elasticsearch_connector.yaml index 04fffee..0d34179 100644 --- a/packages/drupal-elasticsearch_connector.yaml +++ b/packages/drupal-elasticsearch_connector.yaml @@ -2,6 +2,10 @@ package: drupal/elasticsearch_connector frameworks: - name: drupal -# The project talks to this service through the package, so the wizard ticks it. +# Alternatives, most important first: lerd puts forward the first one this +# machine already runs, else the first, and none when the project uses one. suggest_services: - - elasticsearch + - name: elasticsearch + reason: Search API backend for this connector + - name: opensearch + reason: OpenSearch as the connector's backend diff --git a/packages/drupal-memcache.yaml b/packages/drupal-memcache.yaml index 033ed1c..43c9de3 100644 --- a/packages/drupal-memcache.yaml +++ b/packages/drupal-memcache.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - memcached + - name: memcached + reason: Cache backend for the Memcache module diff --git a/packages/drupal-redis.yaml b/packages/drupal-redis.yaml index a5c7b76..17b0933 100644 --- a/packages/drupal-redis.yaml +++ b/packages/drupal-redis.yaml @@ -2,6 +2,10 @@ package: drupal/redis frameworks: - name: drupal -# The project talks to this service through the package, so the wizard ticks it. +# Alternatives, most important first: lerd puts forward the first one this +# machine already runs, else the first, and none when the project uses one. suggest_services: - - redis + - name: redis + reason: Cache backend for the Redis module + - name: valkey + reason: Redis-compatible cache backend diff --git a/packages/drupal-search_api_opensearch.yaml b/packages/drupal-search_api_opensearch.yaml index 59a87a4..e939881 100644 --- a/packages/drupal-search_api_opensearch.yaml +++ b/packages/drupal-search_api_opensearch.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - opensearch + - name: opensearch + reason: Search API backend for this module diff --git a/packages/drupal-search_api_solr.yaml b/packages/drupal-search_api_solr.yaml index 1ab2bce..6711951 100644 --- a/packages/drupal-search_api_solr.yaml +++ b/packages/drupal-search_api_solr.yaml @@ -4,6 +4,7 @@ frameworks: - name: drupal min: "9" -# A project requiring the module indexes into Solr, so the wizard ticks it. +# The project talks to this service through the package, so the wizard ticks it. suggest_services: - - solr + - name: solr + reason: Search API backend for this module diff --git a/packages/elasticsearch-elasticsearch.yaml b/packages/elasticsearch-elasticsearch.yaml index bf395d6..d724a16 100644 --- a/packages/elasticsearch-elasticsearch.yaml +++ b/packages/elasticsearch-elasticsearch.yaml @@ -2,4 +2,5 @@ package: elasticsearch/elasticsearch # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - elasticsearch + - name: elasticsearch + reason: Local Elasticsearch for this client diff --git a/packages/friendsofsymfony-elastica-bundle.yaml b/packages/friendsofsymfony-elastica-bundle.yaml index 407b8b8..b1164a6 100644 --- a/packages/friendsofsymfony-elastica-bundle.yaml +++ b/packages/friendsofsymfony-elastica-bundle.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - elasticsearch + - name: elasticsearch + reason: Elasticsearch for FOSElasticaBundle diff --git a/packages/gotenberg-gotenberg-php.yaml b/packages/gotenberg-gotenberg-php.yaml index 8a17bc6..f563c56 100644 --- a/packages/gotenberg-gotenberg-php.yaml +++ b/packages/gotenberg-gotenberg-php.yaml @@ -2,4 +2,5 @@ package: gotenberg/gotenberg-php # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - gotenberg + - name: gotenberg + reason: Renders PDFs locally for this client diff --git a/packages/laravel-cashier.yaml b/packages/laravel-cashier.yaml index 5726088..095bdc6 100644 --- a/packages/laravel-cashier.yaml +++ b/packages/laravel-cashier.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - stripe-mock + - name: stripe-mock + reason: Test Cashier billing without reaching Stripe diff --git a/packages/laravel-dusk.yaml b/packages/laravel-dusk.yaml index bab3248..82f52d4 100644 --- a/packages/laravel-dusk.yaml +++ b/packages/laravel-dusk.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - selenium + - name: selenium + reason: The browser Dusk tests drive diff --git a/packages/laravel-horizon.yaml b/packages/laravel-horizon.yaml index 762b666..6b0a3ab 100644 --- a/packages/laravel-horizon.yaml +++ b/packages/laravel-horizon.yaml @@ -14,6 +14,10 @@ workers: conflicts_with: - queue -# The project talks to this service through the package, so the wizard ticks it. +# Alternatives, most important first: lerd puts forward the first one this +# machine already runs, else the first, and none when the project uses one. suggest_services: - - redis + - name: redis + reason: Horizon runs its queues on Redis + - name: valkey + reason: Redis-compatible queues for Horizon diff --git a/packages/league-flysystem-aws-s3-v3.yaml b/packages/league-flysystem-aws-s3-v3.yaml index d3235f1..74724e7 100644 --- a/packages/league-flysystem-aws-s3-v3.yaml +++ b/packages/league-flysystem-aws-s3-v3.yaml @@ -1,5 +1,9 @@ package: league/flysystem-aws-s3-v3 -# The project talks to this service through the package, so the wizard ticks it. +# Alternatives, most important first: lerd puts forward the first one this +# machine already runs, else the first, and none when the project uses one. suggest_services: - - rustfs + - name: rustfs + reason: S3-compatible storage without a real bucket + - name: localstack + reason: Local AWS, S3 included diff --git a/packages/meilisearch-meilisearch-php.yaml b/packages/meilisearch-meilisearch-php.yaml index 9aea2d9..109aaa6 100644 --- a/packages/meilisearch-meilisearch-php.yaml +++ b/packages/meilisearch-meilisearch-php.yaml @@ -2,4 +2,5 @@ package: meilisearch/meilisearch-php # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - meilisearch + - name: meilisearch + reason: Local Meilisearch for this client diff --git a/packages/meilisearch-search-bundle.yaml b/packages/meilisearch-search-bundle.yaml index 6386a9c..13fe841 100644 --- a/packages/meilisearch-search-bundle.yaml +++ b/packages/meilisearch-search-bundle.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - meilisearch + - name: meilisearch + reason: Meilisearch for this bundle diff --git a/packages/mongodb-laravel-mongodb.yaml b/packages/mongodb-laravel-mongodb.yaml index 82903b9..ee2059e 100644 --- a/packages/mongodb-laravel-mongodb.yaml +++ b/packages/mongodb-laravel-mongodb.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - mongo + - name: mongo + reason: MongoDB for Eloquent models diff --git a/packages/mongodb-mongodb.yaml b/packages/mongodb-mongodb.yaml index b9e2d75..f4f92b1 100644 --- a/packages/mongodb-mongodb.yaml +++ b/packages/mongodb-mongodb.yaml @@ -2,4 +2,5 @@ package: mongodb/mongodb # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - mongo + - name: mongo + reason: Local MongoDB for this driver diff --git a/packages/opensearch-project-opensearch-php.yaml b/packages/opensearch-project-opensearch-php.yaml index 2a7fda4..9d9185f 100644 --- a/packages/opensearch-project-opensearch-php.yaml +++ b/packages/opensearch-project-opensearch-php.yaml @@ -2,4 +2,5 @@ package: opensearch-project/opensearch-php # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - opensearch + - name: opensearch + reason: Local OpenSearch for this client diff --git a/packages/pda-pheanstalk.yaml b/packages/pda-pheanstalk.yaml index df2586f..193466d 100644 --- a/packages/pda-pheanstalk.yaml +++ b/packages/pda-pheanstalk.yaml @@ -2,4 +2,5 @@ package: pda/pheanstalk # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - beanstalkd + - name: beanstalkd + reason: Local Beanstalkd queue for this client diff --git a/packages/php-amqplib-php-amqplib.yaml b/packages/php-amqplib-php-amqplib.yaml index c96aa40..b9f4429 100644 --- a/packages/php-amqplib-php-amqplib.yaml +++ b/packages/php-amqplib-php-amqplib.yaml @@ -2,4 +2,5 @@ package: php-amqplib/php-amqplib # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - rabbitmq + - name: rabbitmq + reason: Local RabbitMQ broker for this client diff --git a/packages/predis-predis.yaml b/packages/predis-predis.yaml index 969e028..f67d3ff 100644 --- a/packages/predis-predis.yaml +++ b/packages/predis-predis.yaml @@ -1,5 +1,9 @@ package: predis/predis -# The project talks to this service through the package, so the wizard ticks it. +# Alternatives, most important first: lerd puts forward the first one this +# machine already runs, else the first, and none when the project uses one. suggest_services: - - redis + - name: redis + reason: Redis server for predis to connect to + - name: valkey + reason: Redis-compatible server for predis diff --git a/packages/pusher-pusher-php-server.yaml b/packages/pusher-pusher-php-server.yaml index 78849e9..5776939 100644 --- a/packages/pusher-pusher-php-server.yaml +++ b/packages/pusher-pusher-php-server.yaml @@ -2,4 +2,5 @@ package: pusher/pusher-php-server # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - soketi + - name: soketi + reason: Pusher-compatible websockets without Pusher diff --git a/packages/sensiolabs-gotenberg-bundle.yaml b/packages/sensiolabs-gotenberg-bundle.yaml index c6395b9..7abf1e8 100644 --- a/packages/sensiolabs-gotenberg-bundle.yaml +++ b/packages/sensiolabs-gotenberg-bundle.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - gotenberg + - name: gotenberg + reason: Renders PDFs locally for this bundle diff --git a/packages/smi2-phpclickhouse.yaml b/packages/smi2-phpclickhouse.yaml index fa707ca..a1603d6 100644 --- a/packages/smi2-phpclickhouse.yaml +++ b/packages/smi2-phpclickhouse.yaml @@ -2,4 +2,5 @@ package: smi2/phpclickhouse # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - clickhouse + - name: clickhouse + reason: Local ClickHouse for this client diff --git a/packages/stripe-stripe-php.yaml b/packages/stripe-stripe-php.yaml index 1988d77..d693554 100644 --- a/packages/stripe-stripe-php.yaml +++ b/packages/stripe-stripe-php.yaml @@ -2,4 +2,5 @@ package: stripe/stripe-php # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - stripe-mock + - name: stripe-mock + reason: Test Stripe calls without reaching Stripe diff --git a/packages/symfony-amqp-messenger.yaml b/packages/symfony-amqp-messenger.yaml index 7b00589..dbea009 100644 --- a/packages/symfony-amqp-messenger.yaml +++ b/packages/symfony-amqp-messenger.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - rabbitmq + - name: rabbitmq + reason: RabbitMQ for this Messenger transport diff --git a/packages/symfony-beanstalkd-messenger.yaml b/packages/symfony-beanstalkd-messenger.yaml index 2fe638f..bde22b8 100644 --- a/packages/symfony-beanstalkd-messenger.yaml +++ b/packages/symfony-beanstalkd-messenger.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - beanstalkd + - name: beanstalkd + reason: Beanstalkd for this Messenger transport diff --git a/packages/symfony-mercure-bundle.yaml b/packages/symfony-mercure-bundle.yaml index 98f1f58..95e2935 100644 --- a/packages/symfony-mercure-bundle.yaml +++ b/packages/symfony-mercure-bundle.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - mercure + - name: mercure + reason: The hub the Mercure bundle publishes to diff --git a/packages/symfony-panther.yaml b/packages/symfony-panther.yaml index df6d193..c0d6c21 100644 --- a/packages/symfony-panther.yaml +++ b/packages/symfony-panther.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - selenium + - name: selenium + reason: The browser Panther tests drive diff --git a/packages/symfony-redis-messenger.yaml b/packages/symfony-redis-messenger.yaml index 9dc64e2..0edfbd7 100644 --- a/packages/symfony-redis-messenger.yaml +++ b/packages/symfony-redis-messenger.yaml @@ -2,6 +2,10 @@ package: symfony/redis-messenger frameworks: - name: symfony -# The project talks to this service through the package, so the wizard ticks it. +# Alternatives, most important first: lerd puts forward the first one this +# machine already runs, else the first, and none when the project uses one. suggest_services: - - redis + - name: redis + reason: Redis for this Messenger transport + - name: valkey + reason: Redis-compatible Messenger transport diff --git a/packages/typesense-typesense-php.yaml b/packages/typesense-typesense-php.yaml index baa6c6f..a5dcf7e 100644 --- a/packages/typesense-typesense-php.yaml +++ b/packages/typesense-typesense-php.yaml @@ -2,4 +2,5 @@ package: typesense/typesense-php # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - typesense + - name: typesense + reason: Local Typesense for this client diff --git a/packages/vladimir-yuldashev-laravel-queue-rabbitmq.yaml b/packages/vladimir-yuldashev-laravel-queue-rabbitmq.yaml index 1244ce2..5cdad63 100644 --- a/packages/vladimir-yuldashev-laravel-queue-rabbitmq.yaml +++ b/packages/vladimir-yuldashev-laravel-queue-rabbitmq.yaml @@ -4,4 +4,5 @@ frameworks: # The project talks to this service through the package, so the wizard ticks it. suggest_services: - - rabbitmq + - name: rabbitmq + reason: RabbitMQ for this queue driver