From 2fc7803ae2889a977b029b77dfc57f46900a1d1f Mon Sep 17 00:00:00 2001 From: "github-action[bot]" <> Date: Fri, 4 Sep 2026 06:37:37 +0000 Subject: [PATCH] Update Flex endpoint --- RECIPES.md | 1 + acencyril.sentinelle-bundle.0.3.json | 78 +++++++++++++++++++ ...dd404ae3f91c5c64a07c46a00a032767d006b.json | 78 +++++++++++++++++++ index.json | 3 + 4 files changed, 160 insertions(+) create mode 100644 acencyril.sentinelle-bundle.0.3.json create mode 100644 archived/acencyril.sentinelle-bundle/f8fdd404ae3f91c5c64a07c46a00a032767d006b.json diff --git a/RECIPES.md b/RECIPES.md index 0361a8c7..2125795e 100644 --- a/RECIPES.md +++ b/RECIPES.md @@ -9,6 +9,7 @@ Additional recipes can be found on the [Main Recipes Repository](https://github. | [21torr/task-manager](https://packagist.org/packages/21torr/task-manager) | [2.0](../../../tree/main/21torr/task-manager/2.0) | | [abel/keycloak-bearer-only-adapter-bundle](https://packagist.org/packages/abel/keycloak-bearer-only-adapter-bundle) | [1.0](../../../tree/main/abel/keycloak-bearer-only-adapter-bundle/1.0) | | [ablaise/meteion-bundle](https://packagist.org/packages/ablaise/meteion-bundle) | [1.0](../../../tree/main/ablaise/meteion-bundle/1.0) | +| [acencyril/sentinelle-bundle](https://packagist.org/packages/acencyril/sentinelle-bundle) | [0.3](../../../tree/main/acencyril/sentinelle-bundle/0.3) | | [acseo/typesense-bundle](https://packagist.org/packages/acseo/typesense-bundle) | [0.7](../../../tree/main/acseo/typesense-bundle/0.7) | | [ad3n/ratchet-bundle](https://packagist.org/packages/ad3n/ratchet-bundle) | [0.4](../../../tree/main/ad3n/ratchet-bundle/0.4) | | [adback/adback-sdk-php-symfony](https://packagist.org/packages/adback/adback-sdk-php-symfony) | [2.4](../../../tree/main/adback/adback-sdk-php-symfony/2.4) | diff --git a/acencyril.sentinelle-bundle.0.3.json b/acencyril.sentinelle-bundle.0.3.json new file mode 100644 index 00000000..be573c50 --- /dev/null +++ b/acencyril.sentinelle-bundle.0.3.json @@ -0,0 +1,78 @@ +{ + "manifests": { + "acencyril/sentinelle-bundle": { + "manifest": { + "bundles": { + "Acencyril\\SentinelleBundle\\SentinelleBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "env": { + "#1": "Where security alerts are sent.", + "SENTINELLE_ALERT_EMAIL": "admin@example.com", + "#2": "IPs or CIDRs, comma separated, that must never be blocked.", + "#3": "PUT YOUR OWN OUTBOUND ADDRESS HERE before going live:", + "#4": "without it, an automatic block can lock you out of your own site.", + "SENTINELLE_ALLOWLIST": "" + }, + "post-install-output": [ + " Sentinelle is installed. Three things before going live:", + "", + " * Set SENTINELLE_ALLOWLIST in your .env \u2014 at minimum your own", + " outbound address. Without it, an automatic block can lock you out of", + " your own site.", + "", + " * Create the schema:", + " php bin/console doctrine:migrations:diff", + " php bin/console doctrine:migrations:migrate", + "", + " * Check it can do its job:", + " php bin/console sentinelle:check", + "", + " Sentinelle starts in dry-run: it detects, logs and alerts, but blocks", + " nothing. Watch /admin/activity for a few days, then set", + " sentinelle.dry_run to false.", + "", + " And schedule the purge, without which strike counters never reset:", + " 0 4 * * * php bin/console sentinelle:purge", + "" + ] + }, + "files": { + "config/packages/sentinelle.yaml": { + "contents": [ + "sentinelle:", + " # Dry-run: Sentinelle detects, logs and alerts, but blocks NOTHING.", + " # Nobody wires automatic blocking into a production site without knowing", + " # what it will shut out. Watch the dashboard for a few days, ask yourself", + " # \"would I have wanted to block that one?\", then switch it off.", + " dry_run: true", + " alert:", + " recipient: '%env(SENTINELLE_ALERT_EMAIL)%'", + " access:", + " role: ROLE_ADMIN", + " never_block:", + " # At minimum your own outbound address. Private ranges are protected", + " # by default, but yours is not: one wrong move locks you out.", + " ips: '%env(default::SENTINELLE_ALLOWLIST)%'", + "" + ], + "executable": false + }, + "config/routes/sentinelle.yaml": { + "contents": [ + "sentinelle:", + " resource: '@SentinelleBundle/config/routes.php'", + " type: php", + "" + ], + "executable": false + } + }, + "ref": "f8fdd404ae3f91c5c64a07c46a00a032767d006b" + } + } +} diff --git a/archived/acencyril.sentinelle-bundle/f8fdd404ae3f91c5c64a07c46a00a032767d006b.json b/archived/acencyril.sentinelle-bundle/f8fdd404ae3f91c5c64a07c46a00a032767d006b.json new file mode 100644 index 00000000..be573c50 --- /dev/null +++ b/archived/acencyril.sentinelle-bundle/f8fdd404ae3f91c5c64a07c46a00a032767d006b.json @@ -0,0 +1,78 @@ +{ + "manifests": { + "acencyril/sentinelle-bundle": { + "manifest": { + "bundles": { + "Acencyril\\SentinelleBundle\\SentinelleBundle": [ + "all" + ] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "env": { + "#1": "Where security alerts are sent.", + "SENTINELLE_ALERT_EMAIL": "admin@example.com", + "#2": "IPs or CIDRs, comma separated, that must never be blocked.", + "#3": "PUT YOUR OWN OUTBOUND ADDRESS HERE before going live:", + "#4": "without it, an automatic block can lock you out of your own site.", + "SENTINELLE_ALLOWLIST": "" + }, + "post-install-output": [ + " Sentinelle is installed. Three things before going live:", + "", + " * Set SENTINELLE_ALLOWLIST in your .env \u2014 at minimum your own", + " outbound address. Without it, an automatic block can lock you out of", + " your own site.", + "", + " * Create the schema:", + " php bin/console doctrine:migrations:diff", + " php bin/console doctrine:migrations:migrate", + "", + " * Check it can do its job:", + " php bin/console sentinelle:check", + "", + " Sentinelle starts in dry-run: it detects, logs and alerts, but blocks", + " nothing. Watch /admin/activity for a few days, then set", + " sentinelle.dry_run to false.", + "", + " And schedule the purge, without which strike counters never reset:", + " 0 4 * * * php bin/console sentinelle:purge", + "" + ] + }, + "files": { + "config/packages/sentinelle.yaml": { + "contents": [ + "sentinelle:", + " # Dry-run: Sentinelle detects, logs and alerts, but blocks NOTHING.", + " # Nobody wires automatic blocking into a production site without knowing", + " # what it will shut out. Watch the dashboard for a few days, ask yourself", + " # \"would I have wanted to block that one?\", then switch it off.", + " dry_run: true", + " alert:", + " recipient: '%env(SENTINELLE_ALERT_EMAIL)%'", + " access:", + " role: ROLE_ADMIN", + " never_block:", + " # At minimum your own outbound address. Private ranges are protected", + " # by default, but yours is not: one wrong move locks you out.", + " ips: '%env(default::SENTINELLE_ALLOWLIST)%'", + "" + ], + "executable": false + }, + "config/routes/sentinelle.yaml": { + "contents": [ + "sentinelle:", + " resource: '@SentinelleBundle/config/routes.php'", + " type: php", + "" + ], + "executable": false + } + }, + "ref": "f8fdd404ae3f91c5c64a07c46a00a032767d006b" + } + } +} diff --git a/index.json b/index.json index b674cf97..7517a9da 100644 --- a/index.json +++ b/index.json @@ -18,6 +18,9 @@ "ablaise/meteion-bundle": [ "1.0" ], + "acencyril/sentinelle-bundle": [ + "0.3" + ], "acseo/typesense-bundle": [ "0.7" ],