diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6108955..9ca2d88 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -127,6 +127,16 @@ jobs: } | ssh "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" \ "mkdir -p '${{ secrets.DEPLOY_PATH }}' && cat > '${{ secrets.DEPLOY_PATH }}/.env'" + - name: Apply deploy overrides + if: ${{ secrets.DEPLOY_DEMO_SEED != '' }} + run: | + ssh "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" " + set -e + cd '${{ secrets.DEPLOY_PATH }}' + sed -i '/^CRANK_DEMO_SEED=/d' .env + printf 'CRANK_DEMO_SEED=%s\n' '${{ secrets.DEPLOY_DEMO_SEED }}' >> .env + " + - name: Deploy with Docker Compose run: | ssh "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" " diff --git a/docs/deployment.md b/docs/deployment.md index 5b8a066..614893e 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -231,6 +231,15 @@ CD для MVP должен: Они используются только для `docker login` на целевом Linux host перед `docker compose pull`. +Для точечных runtime override без переписывания всего `DEPLOY_ENV_FILE` можно использовать +отдельные deployment secrets. Сейчас поддержан: + +- `DEPLOY_DEMO_SEED` + +Если он задан, workflow удаляет `CRANK_DEMO_SEED` из сгенерированного `.env` и записывает +туда значение из `DEPLOY_DEMO_SEED`. Это позволяет временно включать и выключать demo seed +отдельным secret, не переписывая основной production `.env`. + ## 12. Что нельзя забыть - TLS и renewal сертификатов; diff --git a/docs/runtime-config.md b/docs/runtime-config.md index 759d95d..ac9188a 100644 --- a/docs/runtime-config.md +++ b/docs/runtime-config.md @@ -137,6 +137,9 @@ Demo/deployment: - `CRANK_DEMO_SEED=true` +В deployment workflow этот флаг можно переопределять отдельно через GitHub secret +`DEPLOY_DEMO_SEED`, не меняя основной `DEPLOY_ENV_FILE`. + ## 8.1. Delivery artifacts Для production-like запуска проект должен поставляться с: