Configuration template
The following template shows all available options for the Secret Agent configuration file. You must configure at least one service listener and exactly one secret manager.
service: # at least one service is required tcp: endpoint: 0.0.0.0:3005 # mandatory tls: # optional cert-file: PATH_TO_CERT_FILE key-file: PATH_TO_KEY_FILE ca-file: PATH_TO_CA_FILE # optional, needed for mutual TLS only uds: socket-path: PATH_TO_SOCKET # mandatory http: endpoint: 0.0.0.0:8080 # mandatory metrics: # optional prometheus: # optional labels: # optional LABEL_NAME_1: LABEL_VALUE_1 LABEL_NAME_2: LABEL_VALUE_2 LABEL_NAME_3: LABEL_VALUE_3
secret-manager: # exactly one secret manager is required aws: region: REGION # mandatory access-key-id: ACCESS_KEY_ID # optional secret-access-key: SECRET_ACCESS_KEY # optional assume-role: ROLE_ARN # optional convert-to-base64: TRUE_OR_FALSE # optional (default is false) resources: # mandatory RESOURCE_NAME_1: ARN_1 RESOURCE_NAME_2: ARN_2 RESOURCE_NAME_3: ARN_3 gcp: credential-file: PATH_TO_CREDENTIAL_FILE # optional impersonate: SERVICE_ACCOUNT # optional convert-to-base64: TRUE_OR_FALSE # optional (default is false) resources: # mandatory RESOURCE_NAME_1: RESOURCE_PATH_WITH_VERSION_1 RESOURCE_NAME_2: RESOURCE_PATH_WITH_VERSION_2 RESOURCE_NAME_3: RESOURCE_PATH_WITH_VERSION_3 vault: endpoint: VAULT_ENDPOINT # mandatory ca-file: PATH_TO_CA_FILE # optional ca-path: PATH_TO_CA_DIRECTORY # optional namespace: VAULT_NAMESPACE # optional
# token-file or username,password-file or tls-auth-mount,client-cert-file,client-key-file is required token-file: PATH_TO_TOKEN_FILE username: USERNAME password-file: PATH_TO_PASSWORD_FILE tls-auth-mount: MOUNT client-cert-file: PATH_TO_CLIENT_CERT_FILE client-key-file: PATH_TO_CLIENT_KEY_FILE
convert-to-base64: TRUE_OR_FALSE # optional (default is false) resources: # mandatory RESOURCE_NAME_1: mount: MOUNT_1 # mandatory secret: SECRET_1 # mandatory version: VERSION_1 # optional (default is 0) RESOURCE_NAME_2: mount: MOUNT_2 # mandatory secret: SECRET_2 # mandatory version: VERSION_2 # optional (default is 0) RESOURCE_NAME_3: mount: MOUNT_3 # mandatory secret: SECRET_3 # mandatory version: VERSION_3 # optional (default is 0) file: convert-to-base64: TRUE_OR_FALSE # optional (default is false) resources: # mandatory RESOURCE_NAME_1: PATH_TO_JSON_FILE_1 RESOURCE_NAME_2: PATH_TO_JSON_FILE_2 RESOURCE_NAME_3: PATH_TO_JSON_FILE_3
log: # optional file: PATH_TO_LOG_FILE # optional (default is stdout) level: LEVEL # optional, supported values: "error", "warn", "info", "debug", "trace" (default is "info")