deploy: add master key override secret

This commit is contained in:
a.tolmachev
2026-04-11 10:30:45 +03:00
parent 70e817b44a
commit 0c17058d21
3 changed files with 19 additions and 3 deletions
+8
View File
@@ -129,6 +129,14 @@ jobs:
- name: Apply deploy overrides
run: |
if [ -n "${{ secrets.DEPLOY_MASTER_KEY }}" ]; then
ssh "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" "
set -e
cd '${{ secrets.DEPLOY_PATH }}'
sed -i '/^CRANK_MASTER_KEY=/d' .env
printf 'CRANK_MASTER_KEY=%s\n' '${{ secrets.DEPLOY_MASTER_KEY }}' >> .env
"
fi
if [ -n "${{ secrets.DEPLOY_DEMO_SEED }}" ]; then
ssh "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" "
set -e
+8 -3
View File
@@ -236,11 +236,16 @@ CD для MVP должен:
Для точечных runtime override без переписывания всего `DEPLOY_ENV_FILE` можно использовать
отдельные deployment secrets. Сейчас поддержан:
- `DEPLOY_MASTER_KEY`
- `DEPLOY_DEMO_SEED`
Если он задан, workflow удаляет `CRANK_DEMO_SEED` из сгенерированного `.env` и записывает
туда значение из `DEPLOY_DEMO_SEED`. Это позволяет временно включать и выключать demo seed
отдельным secret, не переписывая основной production `.env`.
Если задан `DEPLOY_MASTER_KEY`, workflow удаляет `CRANK_MASTER_KEY` из сгенерированного `.env`
и записывает туда значение из `DEPLOY_MASTER_KEY`. Это позволяет ротировать master key или
добавлять его отдельно, не переписывая весь `DEPLOY_ENV_FILE`.
Если задан `DEPLOY_DEMO_SEED`, workflow удаляет `CRANK_DEMO_SEED` из сгенерированного `.env`
и записывает туда значение из `DEPLOY_DEMO_SEED`. Это позволяет временно включать и выключать
demo seed отдельным secret, не переписывая основной production `.env`.
## 12. Что нельзя забыть
+3
View File
@@ -145,6 +145,9 @@ Demo/deployment:
В deployment workflow этот флаг можно переопределять отдельно через GitHub secret
`DEPLOY_DEMO_SEED`, не меняя основной `DEPLOY_ENV_FILE`.
Аналогично `CRANK_MASTER_KEY` можно прокидывать отдельным GitHub secret `DEPLOY_MASTER_KEY`,
если не хочется каждый раз переписывать весь `DEPLOY_ENV_FILE` ради одного ключа.
## 8.1. Delivery artifacts
Для production-like запуска проект должен поставляться с: