ci: switch openbao loading to approle
CI / Rust Checks (push) Has been cancelled
CI / UI Checks (push) Has been cancelled
CI / Frontend E2E (push) Has been cancelled
CI / Deployment Manifests (push) Has been cancelled
Deploy / build-images (apps/admin-api/Dockerfile, git.itexp.me/bsodfather/crank-community-admin-api, admin-api) (push) Has been cancelled
Deploy / build-images (apps/mcp-server/Dockerfile, git.itexp.me/bsodfather/crank-community-mcp-server, mcp-server) (push) Has been cancelled
Deploy / build-images (apps/ui/Dockerfile, git.itexp.me/bsodfather/crank-community-ui, ui) (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
CI / Rust Checks (push) Has been cancelled
CI / UI Checks (push) Has been cancelled
CI / Frontend E2E (push) Has been cancelled
CI / Deployment Manifests (push) Has been cancelled
Deploy / build-images (apps/admin-api/Dockerfile, git.itexp.me/bsodfather/crank-community-admin-api, admin-api) (push) Has been cancelled
Deploy / build-images (apps/mcp-server/Dockerfile, git.itexp.me/bsodfather/crank-community-mcp-server, mcp-server) (push) Has been cancelled
Deploy / build-images (apps/ui/Dockerfile, git.itexp.me/bsodfather/crank-community-ui, ui) (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
This commit is contained in:
+24
-10
@@ -253,25 +253,32 @@ CD для MVP должен:
|
||||
В Gitea secrets хранится только bootstrap-доступ к OpenBao:
|
||||
|
||||
- `BAO_ADDR`
|
||||
- `BAO_TOKEN`
|
||||
- `BAO_SECRET_PATH`
|
||||
- `BAO_ROLE_ID`
|
||||
- `BAO_SECRET_ID`
|
||||
|
||||
Workflow читает `BAO_SECRET_PATH` через `scripts/load-openbao-env.sh` и получает оттуда deploy,
|
||||
registry и runtime значения. Это оставляет Gitea runner без прямого списка прикладных секретов.
|
||||
Workflow получает short-lived token через OpenBao AppRole и читает deploy, registry и runtime
|
||||
значения через `scripts/load-openbao-env.sh`. Это оставляет Gitea runner без прямого списка
|
||||
прикладных секретов.
|
||||
|
||||
Минимальный рекомендуемый путь секрета:
|
||||
OpenBao mount:
|
||||
|
||||
```text
|
||||
kv/data/crank/community/deploy
|
||||
ci/
|
||||
```
|
||||
|
||||
Секрет может быть KV v1 или KV v2. Для KV v2 workflow ожидает стандартный ответ вида
|
||||
`data.data`.
|
||||
Workflow читает KV v2 секреты:
|
||||
|
||||
```text
|
||||
shared/registry
|
||||
shared/deploy-ssh
|
||||
projects/crank/deploy
|
||||
projects/crank/runtime
|
||||
```
|
||||
|
||||
В OpenBao должны лежать:
|
||||
|
||||
- `DEPLOY_REGISTRY_USER`
|
||||
- `DEPLOY_REGISTRY_TOKEN`
|
||||
- `REGISTRY_USERNAME`
|
||||
- `REGISTRY_PASSWORD`
|
||||
- `DEPLOY_SSH_KEY`
|
||||
- `DEPLOY_HOST`
|
||||
- `DEPLOY_PORT`
|
||||
@@ -279,6 +286,13 @@ kv/data/crank/community/deploy
|
||||
- `DEPLOY_PATH`
|
||||
- `DEPLOY_KNOWN_HOSTS`, optional
|
||||
|
||||
`scripts/load-openbao-env.sh` маппит registry credentials для существующего workflow:
|
||||
|
||||
```text
|
||||
REGISTRY_USERNAME -> DEPLOY_REGISTRY_USER
|
||||
REGISTRY_PASSWORD -> DEPLOY_REGISTRY_TOKEN
|
||||
```
|
||||
|
||||
Workflow доставляет именно `deploy/community/docker-compose.yml` как public Community deployment manifest
|
||||
и собирает `.env` на сервере из значений OpenBao. Для runtime-переменных нужно
|
||||
создавать ключи с теми же именами, что и у приложений:
|
||||
|
||||
@@ -235,9 +235,9 @@ Demo/deployment:
|
||||
|
||||
В deployment workflow больше не используется монолитный `DEPLOY_ENV_FILE`.
|
||||
|
||||
`.env` на сервере собирается из OpenBao. В Gitea Actions хранятся только bootstrap credentials
|
||||
`BAO_ADDR`, `BAO_TOKEN` и `BAO_SECRET_PATH`, а внутри OpenBao ключи совпадают с именами
|
||||
runtime env-переменных. Это значит, что:
|
||||
`.env` на сервере собирается из OpenBao. В Gitea Actions хранятся только AppRole credentials
|
||||
`BAO_ADDR`, `BAO_ROLE_ID` и `BAO_SECRET_ID`, а внутри OpenBao ключи проекта
|
||||
`projects/crank/runtime` совпадают с именами runtime env-переменных. Это значит, что:
|
||||
|
||||
- `CRANK_MASTER_KEY` хранится в OpenBao как ключ `CRANK_MASTER_KEY`;
|
||||
- `CRANK_DEMO_SEED` хранится в OpenBao как ключ `CRANK_DEMO_SEED`;
|
||||
|
||||
Reference in New Issue
Block a user