How they work
ZWRM injects secrets into VMs using a three-layer hierarchy. Each layer overrides the one below it:| Priority | Scope | Description |
|---|---|---|
| 1 (lowest) | Global | Organization-wide, inherited by all apps |
| 2 | App | Set per-app with zwrm secrets |
| 3 (highest) | Machine | Machine-specific overrides |
Common use cases
- API keys shared across multiple services (e.g.
DATADOG_API_KEY,SENTRY_DSN) - Registry credentials for private Docker images
- Shared database URLs used by several apps
- Organization-wide config like
LOG_LEVELorENVIRONMENT
Managing global secrets
Global secrets are currently managed through the ZWRM Dashboard or the REST API.CLI support for global secrets (
zwrm org secrets) is planned but not yet available. Use the dashboard or API in the meantime.REST API
All endpoints require authentication and operate on the authenticated user’s organization.Set a global secret
201 for new secrets, 200 for updates. Updating a secret increments its version.
List global secrets
Delete a global secret
Secret naming rules
Global secrets follow the same naming rules as app secrets: names must start with a letter or underscore and contain only letters, numbers, and underscores (e.g.MY_SECRET_123).