Jump to
↵select↑↓navigateescclose

Reference

Secrets options

Every odoo-nix.secrets option, declared at the top level of the project flake, with types and defaults.

Updated
Tags
  • reference
  • options
  • secrets

These are declared at the top level of the project flake, beside perSystem, not inside it. The module is python-devops-nix's lib.secrets.mkModule. See Secrets.

OptionTypeDefaultDescription
odoo-nix.secrets.enableboolrecipients != { }Wire agenix and agenix-shell into the project.
odoo-nix.secrets.dirpathrequiredThe directory of .age files, as a path literal: ./secrets.
odoo-nix.secrets.relDirstringbaseNameOf dirThe same directory relative to the project root. Set it only when dir is nested (dir = ./nix/secrets; needs relDir = "nix/secrets";).
odoo-nix.secrets.recipientsattrs of SSH public keys{ }Who may read the secrets. The names are labels shown in messages. Run rekey-secrets after changing it.
odoo-nix.secrets.hostRecipientsattrs of SSH public keys{ }Deployment hosts, added to every secret the deployment reads.
odoo-nix.secrets.identityPathslist of strings[ "$HOME/.ssh/id_ed25519" "$HOME/.ssh/id_rsa" ]Private keys tried when decrypting, expanded at run time.
odoo-nix.secrets.backupAccess.enableboolsecrets.enableDeclare <dir>/backup-access.age, the object-store credentials for backups.
odoo-nix.secrets.backupAccess.hostsbooltrueAlso encrypt it to hostRecipients, so the server reads the same file.
odoo-nix.secrets.extra.<NAME>.format"env", "raw" or "json""env"How the shell reads it: KEY=value lines sourced as variables, one value in $<VAR>, or a JSON file at $<VAR>_PATH.
odoo-nix.secrets.extra.<NAME>.varstring"odoo_<NAME>"The shell variable; $<VAR>_PATH follows.
odoo-nix.secrets.extra.<NAME>.hostsboolfalseAlso encrypt it to hostRecipients.

The project flake exports lib.secrets: recipients, and files, every declared file by its variable name (lib.secrets.files.odoo_backup_access). lib.odooSecrets is its old name, kept through 1.x.