feat: add bao-secrets composite action (public, no secrets) (#545)
Shared actions live in a PUBLIC repo so CI runners can clone them anonymously. They can't clone the private spikersoft-infrastructure repo (a job token is scoped to its own repo), which is why the notifications Bao cutover failed with "Repository not found". bao-secrets is pure curl/jq logic — role_id/secret_id come from the caller's Actions secrets — so nothing sensitive is exposed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
69060e49d7
commit
db71896903
@@ -1,3 +1,25 @@
|
||||
# gitea-actions
|
||||
|
||||
Shared Gitea Actions composite actions (public: logic only, no secrets). bao-secrets = OpenBao AppRole fetch. spikersoft-issues#545
|
||||
Shared **public** Gitea Actions composite actions for the SpikerSoft org.
|
||||
|
||||
Public on purpose: these contain only workflow *logic* (shell/curl/jq), never
|
||||
secrets. Runners can clone this repo anonymously, which is why shared actions
|
||||
live here instead of the private `spikersoft-infrastructure` repo (a private
|
||||
repo can't be cloned by a job token scoped to a different repo).
|
||||
|
||||
## Actions
|
||||
|
||||
- **bao-secrets** — AppRole-login to OpenBao and export requested KV v2 secrets
|
||||
into the job env (masked). Phase 1, spikersoft-issues#545.
|
||||
|
||||
```yaml
|
||||
- uses: https://git.spikersoft.com/spikerj/gitea-actions/bao-secrets@master
|
||||
with:
|
||||
role-id: ${{ secrets.BAO_ROLE_ID }}
|
||||
secret-id: ${{ secrets.BAO_SECRET_ID }}
|
||||
secrets: |
|
||||
DOCKER_PASSWORD secret/ci/shared/registry password
|
||||
```
|
||||
|
||||
Reference by full URL (`https://git.spikersoft.com/...`) so Gitea resolves it
|
||||
from this instance instead of github.com.
|
||||
|
||||
Reference in New Issue
Block a user