Value
A value is the other thing a key can hold: a setting that is fine for anyone with the repository to read. PORT=3000, APIURL=https://api.example.com,…
A value is the other thing a key can hold: a setting that is fine for anyone
with the repository to read. PORT=3000, API_URL=https://api.example.com,
NODE_ENV=development. In a .env file these sat on the same lines as the
secrets; here they sit in .monkeys as KEY=value and the vault never sees
them.
Where it lives
A value is written into .monkeys on the key's own line, after an =, and
belongs to every profile of the block above it. One that differs by profile,
a port or a hostname, goes in that profile's own block. It is committed with
the file, so a clone has it without anyone storing anything.
What it is not
A value is public by definition. Anything that must stay out of the repository is a secret, and goes in the vault under a bare key. For one profile a key is one or the other, never both.
How the commands treat it
run puts a value into the command's environment straight from the file,
alongside the secrets from the vault, and never redacts it. preview and
doctor show it as it is. set --public writes one, remove deletes the
line, and kill writes one for every .env line answered as public.
Secret
A secret is what a key holds: the API key, token or password itself. It is the only thing monkeys exists to keep, and the only thing it never prints.
Vault
The vault is the operating system's own secret store, and monkeys keeps nothing anywhere else. There is no file of monkeys's own to back up, leak or forget,…