Vault is Gaucho Racing's internal secrets manager for shared credentials, application secrets, and workflow automation secrets. It provides a Sentinel-backed web interface for storing account credentials, TOTP seeds, notes, API keys, and app-scoped secrets with group-based access controls.
Vault also powers GitHub Actions secret delivery through OIDC. Repositories can request explicit app-secret selectors, while Vault centrally evaluates repository, ref, and selector rules before exporting secrets into the workflow environment.
Production: vault.gauchoracing.com
- Sentinel SSO and group-based access for accounts and app-secret applications.
- Encrypted account secrets for passwords, TOTP seeds, API keys, URLs, notes, and custom secret types.
- App secrets referenced by selectors such as
mapache-prod.sentinel_client_id. - GitHub Actions OIDC rules for exporting selected app secrets to trusted workflows.
- Audit logs for account and secret views, with duplicate view events debounced.
- Multi-architecture server and web images published to GitHub Container Registry.
Run the local development stack with Docker Compose:
docker compose up --buildThe development proxy serves Vault at:
http://localhost:10310
The API is available under:
http://localhost:10310/api
The compose stack starts:
vault: Go API serverweb: React/Vite frontenddb: PostgreSQLkerbecs: local reverse proxy
Run backend checks:
cd vault
go test ./...Run frontend checks:
cd web
npm install
npm run lint
npm run buildVault exposes a GitHub Actions OIDC export endpoint for app secrets.
Rules are managed from the Vault settings page and can be created by users with sentinel:all, Admins, or DevopsMembers access.
Use the dedicated action repository to pull secrets in workflows:
Example:
permissions:
id-token: write
contents: read
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: Gaucho-Racing/vault-pull-secrets@v1
with:
secrets: pypi.publish_tokenCreate a new Vault release from an up-to-date main branch:
scripts/release.sh 1.4.0The release workflow publishes versioned vault-server and vault-web images, then opens an infrastructure PR to deploy the new image tags.
- Sentinel: authentication and access management
- Vault Pull Secrets: GitHub Action for exporting Vault app secrets
- Fork the project.
- Create your feature branch (
git checkout -b gh-username/my-amazing-feature). - Commit your changes (
git commit -m 'Add my amazing feature'). - Push to the branch (
git push origin gh-username/my-amazing-feature). - Open a pull request.