Skip to content
ramenv

RAMENV / KEY STORAGE

Ingredients

Choose where encryption and vault-signing keys are stored.

On this page

An ingredient is ramenv’s key-storage provider. It stores workspace encryption keys and vault-signing keys. Application values remain in .ramenv.vault.toml.

Choose a provider

Ingredient Key storage Setup guide
local Raw keys in .ramenv.keys at the workspace root Local keys
aws AWS Secrets Manager AWS
azure Azure Key Vault Azure
google Google Cloud Secret Manager Google Cloud
ramenv menu

Select one ingredient when creating a new workspace:

ramenv init --ingredient local
# Or choose one cloud provider:
ramenv init --ingredient aws
ramenv init --ingredient azure
ramenv init --ingredient google

Run one of these commands for a new workspace. Omitting the option selects local.

For a monorepo root without a root vault:

ramenv init workspace --ingredient aws

The selected ingredient is saved in .ramenv.workspace.toml and reused by runtime commands. Re-running init with another ingredient does not migrate keys or convert an existing workspace.

Understand the files

File Contents Version control
.ramenv.workspace.toml Workspace name, schema version, ingredient Commit.
.ramenv.vault.toml Environment data, validation rules, integrity metadata Commit after reviewing plaintext.
.ramenv.keys Raw local encryption and signing keys Never commit.
.ramenv.keyrefs.toml Cloud location and version-pinned resource references Can be committed; no raw keys or credentials.
.env Optional onboarding input Keep private; onboarding does not remove it.

Cloud refs identify exact key versions: an AWS ARN with a version ID, an Azure versioned secret URI, or a Google numeric secret-version resource. Reads do not silently select the latest version.

Authenticate before initialization

Local developer examples:

# AWS: configured SSO profile
aws sso login --profile dev
export AWS_PROFILE=dev
# Azure: existing Key Vault required
az login
export RAMENV_AZURE_CREDENTIAL=developer-tools
# Google Cloud: ADC, not only the gcloud CLI login
gcloud auth application-default login

Initialization asks for the AWS region, an existing Azure Key Vault URL, or the Google storage project ID. Google also requires the Secret Manager API to be enabled.

The signed-in identity also needs secret-store permissions. Check the provider guide for permission names and credential selection before initializing or deploying.

Know what remains visible

Environment names, variable names, validation rules, and values stored as plaintext remain readable in Git.

Cloud permissions control who can obtain the keys. Once decrypted, values can still be exposed by an authorized process, application log, debugger, or crash dump. See security and recovery.