NovopsConfigFile

Type: object

Main Novops config file


Global configurations for Novops and modules

Type: object

Global Novops configuration defining behavior for modules


AWS module configs

Type: object

Global AWS config

Type: string or null

Override endpoint for all AWS services Can be used with tools like LocalStack, for example http://localhost:4566/


AWS SDK identity cache configuration

Type: object

AWS SDK identity cache configuration

Type: integer or nullFormat: uint64

Timeout to load identity (in seconds, default: 5s). Useful when asking for MFA authentication which may take more than 5 seconds for user to input.

Type: string or null

AWS Profile name. Must exist locally in AWS config.

It's advised not to use this directly as profile name configuration is higly dependent on local configuration. Prefer using AWS_PROFILE environment variable where needed.

Type: string or null

AWS region to use. Default to currently configured region.

Type: null


Novops default configurations

Type: object

Type: string or null

Default environment name, selected by default if no user input is provided


Hashicorp Vault module configs

Type: object

Type: string or null

Address in form http(s)://HOST:PORT

Example: https://vault.mycompany.org:8200


Vault authentication to use when a token is not provided

Type: object

Type: object

Type: enum (of string)

Must be one of:

  • "Kubernetes"
Type: object

Type: enum (of string)

Must be one of:

  • "AppRole"
Type: object

Type: enum (of string)

Must be one of:

  • "JWT"

Type: string or null

Vault namespace to use

Type: integer or nullFormat: uint64

Vault client timeout in seconds. Default to 60s.

Type: string or null

Vault token as plain string

Use for testing only. DO NOT COMMIT NOVOPS CONFIG WITH THIS SET.

Type: string or null

Vault token path.

Example: /var/secrets/vault-token

Type: boolean or null

Whether to enable TLS verify (true by default)

Type: null

Type: object

Source of truth defining files and variables loaded by Novops

Environments are named uniquely (such as "dev", "prod"...) to allow for different configs to be loaded in various contexts

Each additional property must conform to the following schema

Type: object

Modules to be loaded for an environment. Each module defines one or more Input which will be resolved into Outputs (files & variables)


Assume an AWS Role from local config.

Outputs environment variables AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_SESSION_TOKEN with temporary credentials for IAM Role.

Type: object

Type: object

Assume an IAM Role

Type: integer or nullFormat: int32

Duration of the role session (seconds). Can range from 900 seconds up to the maximum session duration set for the role. Default to 1h (3600).

Type: string or null

Source profile. Must exist in config.

Type: array or null

Files resolving to concrete files on local filesystem and environment variables pointing to file

No Additional Items

Each item of this array must be:

Type: object

Type: object

File content

Type: object

Reference an AWS Secret Manager secret

Type: object

Structure to request a Secrets Manager secret

Maps directly to GetSecretValue API. See https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html

Type: string or null

The unique identifier of the version of the secret to retrieve.

Type: string or null

The staging label of the version of the secret to retrieve.

Type: object

Reference Secret Manager secret

Type: object

Structure to request a GCloud Secret Manager secret

See https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets/get

Type: string

Name of the secret in the format projects/*\/secrets/*\/versions/* Such as projects/my-org-project/secrets/my-secret/latest Or projects/my-org-project/secrets/my-secret/42 for a specific version

Type: boolean or null

Whether to validate crc32c checksum provided with secret (default: true)

Type: object

All possible inputs resolving to a string value

Type: object

A BitWarden secret reference

Type: object

Reference a Key Value V2 secret

Type: object

Reference a Key Value V2 secret

Type: string or null

KV v2 mount point

default to "secret/"

Type: object

Reference a Key Value V1 secret

Type: object

Reference a Key Value V1 secret

Type: string or null

KV v1 mount point

default to "kv/"

Type: object

Reference an SSM Parameter config or secret

Type: object

Reference an SSM Parameter config or secret

Maps directly to GetParameter API. See https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html

Type: boolean or null

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

Type: object

Reference an AWS Secret Manager secret

Type: object

Structure to request a Secrets Manager secret

Maps directly to GetSecretValue API. See https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html

Type: string or null

The unique identifier of the version of the secret to retrieve.

Type: string or null

The staging label of the version of the secret to retrieve.

Type: object

Reference Secret Manager secret

Type: object

Structure to request a GCloud Secret Manager secret

See https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets/get

Type: string

Name of the secret in the format projects/*\/secrets/*\/versions/* Such as projects/my-org-project/secrets/my-secret/latest Or projects/my-org-project/secrets/my-secret/42 for a specific version

Type: boolean or null

Whether to validate crc32c checksum provided with secret (default: true)

Type: object

Reference an Azure Keyvault secret

Type: object

Maps directly to Keyvault Get Secret API

See https://learn.microsoft.com/en-us/rest/api/keyvault/secrets/get-secret/get-secret?tabs=HTTP

Type: string or null

Secret's version (default: latest)

Type: object

SOPS input to be used as file, variables or other kind of value input

Type: object

Type: array of string or null

Additional flags passed to sops after --decrypt --extract

No Additional Items

Each item of this array must be:

Type: string or null

Extract a specific field via --extract flag

Type: object

Reference an S3 object

Type: string or null

DEPRECATED: dest is insecure as generated file may be written in insecure directory and/or persist on disk. Use symlink instead to create a symbolic link pointing to generated file in secure Novops secure directory.

Destination where file will be generated. Default to secure Novops working directory.

Setting this value may prevent file from being auto-deleted as it won't be managed in a safe location and may remain indefinitely.

Type: string or null

File name to use when auto-generating file and variable name. if not set, the YAML key for file will be used

Type: string or null

Environment variable name pointing to generated file.

Example: setting NPM_TOKEN will output an environment variable pointing to file path such as

NPM_TOKEN: /run/user/1000/novops/dev/file_xxx

See also symlink to create a symlink pointing to file in secure Novops working directory;


Reference one or more Hashicorp Vault Secret Engines to generate either files or variables.

Type: object

Type: object

Use Vault AWS Secret Engine to generate temporary AWS credentials.

Type: string or null

Secret Engine mount point. Default to 'aws'.

Type: string

Vault role name

Type: string or null

AWS IAM Role ARN

Type: string or null

Generated token time to live. Example: "3600s"

Type: array or null

Reference SOPS encrypted file(s) as dotenv to load variables

No Additional Items

Each item of this array must be:

Type: object

SOPS input directly under an environment to load file content as environment variables Encrypted SOPS files must be in a valid dotenv format

Type: array of string or null

Additional flags passed to sops

No Additional Items

Each item of this array must be:

Type: string or null

Extract a specific field via --extract flag

Type: string

Path to encrypted file

Type: array or null

Variables resolving to environment variables from provided source

No Additional Items

Each item of this array must be:

Type: object

Type: string

Environment variable name, such as NPM_TOKEN

Type: object

Source of truth for variable

Type: object

A BitWarden secret reference

Type: object

A BitWarden entry

Type: string

Field in entry to use as value.

Type: object

Reference a Key Value V2 secret

Type: object

Reference a Key Value V2 secret

Type: string or null

KV v2 mount point

default to "secret/"

Type: object

Reference a Key Value V1 secret

Type: object

Reference a Key Value V1 secret

Type: string or null

KV v1 mount point

default to "kv/"

Type: object

Reference an SSM Parameter config or secret

Type: object

Reference an SSM Parameter config or secret

Maps directly to GetParameter API. See https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html

Type: boolean or null

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

Type: object

Reference an AWS Secret Manager secret

Type: object

Structure to request a Secrets Manager secret

Maps directly to GetSecretValue API. See https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html

Type: string or null

The unique identifier of the version of the secret to retrieve.

Type: string or null

The staging label of the version of the secret to retrieve.

Type: object

Reference Secret Manager secret

Type: object

Structure to request a GCloud Secret Manager secret

See https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets/get

Type: string

Name of the secret in the format projects/*\/secrets/*\/versions/* Such as projects/my-org-project/secrets/my-secret/latest Or projects/my-org-project/secrets/my-secret/42 for a specific version

Type: boolean or null

Whether to validate crc32c checksum provided with secret (default: true)

Type: object

Reference an Azure Keyvault secret

Type: object

Maps directly to Keyvault Get Secret API

See https://learn.microsoft.com/en-us/rest/api/keyvault/secrets/get-secret/get-secret?tabs=HTTP

Type: string or null

Secret's version (default: latest)

Type: object

SOPS input to be used as file, variables or other kind of value input

Type: object

Type: array of string or null

Additional flags passed to sops after --decrypt --extract

No Additional Items

Each item of this array must be:

Type: string or null

Extract a specific field via --extract flag

Type: object

Reference an S3 object

Type: string or null

Application name. Informational only.

If not specified, use current directory name