Keyflare organizes secrets using a simple hierarchy: Projects → Environments → Secrets. See Core Concepts.
Projects
A project is a namespace for related secrets. For example:
my-api — Backend API secrets
frontend — Frontend application secrets
worker — Background worker secrets
Create a Project
# Create a project with default environments (dev, prod)
kfl projects create my-api
# Create a project without default environments
kfl projects create my-api --environmentless
New projects get two default environments (dev and prod) unless you use --environmentless.
List Projects
Output:
NAME ENVIRONMENTS CREATED
my-api 2 2024-01-15
frontend 2 2024-01-16
worker 3 2024-01-17
Delete a Project
kfl projects delete my-api
Deleting a project removes all environments and secrets. This cannot be undone.
Environments
Each project contains environments. Common environment names:
development / dev
staging / stage
production / prod
Create an Environment
kfl env create staging --project my-api
List Environments
kfl env list --project my-api
Output:
ENVIRONMENT SECRETS LAST UPDATED
development 12 2024-01-17
staging 12 2024-01-17
production 15 2024-01-18
Delete an Environment
kfl env delete staging --project my-api
Deleting an environment removes all secrets in that environment.
Example: New Project Setup
# 1. Create the project
kfl projects create my-api
# ✓ Project "my-api" created with environments: dev, prod
# 2. Add a staging environment
kfl env create staging --project my-api
# ✓ Environment "staging" created in project "my-api"
# 3. Add secrets to each environment
kfl secrets set DATABASE_URL=postgres://dev... --project my-api --env dev
kfl secrets set DATABASE_URL=postgres://stage... --project my-api --env staging
kfl secrets set DATABASE_URL=postgres://prod... --project my-api --env prod
# 4. Verify
kfl env list --project my-api
# ENVIRONMENT SECRETS LAST UPDATED
# dev 1 2024-01-17
# prod 1 2024-01-17
# staging 1 2024-01-17
Next Steps
Manage Secrets
Add and update secrets.
Using Secrets
Download and inject secrets.