You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, operators include the AWS keys (server.targets.TARGET.aws.access_key_id and server.targets.TARGET.aws.secret_access_key) as plaintext in the cludod.yaml config file. This isn't gonna fly for actual usage.
Idea: Secrets in pluggable backends
It's best to make the secret storage backend pluggable from the start. AWS KMS, GCP KMS, Azure Key Vault, Hashicorp Vault, etc.
How do those keys get into the backend? Do we require the admin to set them up correctly? Do we give them a cludod add keys command?
Idea: Lean on sops
Sops can be used as a library. If we used that, then keys would still be in the main config file, and the format won't have to change. Then we get all of the sops backends and functionality for free.
This would mean that every value in the config would be encrypted, meaning operators would need to have access to the master decryption key (or AWS access to KMS) in order to view basically anything in the file.
A possible fix to that issue is to split the config into two files: cludod.yaml and cludod-secrets.yaml, which would result in a lot of structural overlap.
Idea: Support ENV vars
If we assume everyone's gonna be on K8s, then there's an argument not to attempt to solve this, and instead expect operators to put the secrets in ENV vars (via Secret resources), and allow cludod to parse ${VAR_NAME} directives in the configuration file.
The text was updated successfully, but these errors were encountered:
Currently, operators include the AWS keys (
server.targets.TARGET.aws.access_key_id
andserver.targets.TARGET.aws.secret_access_key
) as plaintext in thecludod.yaml
config file. This isn't gonna fly for actual usage.Idea: Secrets in pluggable backends
It's best to make the secret storage backend pluggable from the start. AWS KMS, GCP KMS, Azure Key Vault, Hashicorp Vault, etc.
The configuration would then look something like:
How do those keys get into the backend? Do we require the admin to set them up correctly? Do we give them a
cludod add keys
command?Idea: Lean on sops
Sops can be used as a library. If we used that, then keys would still be in the main config file, and the format won't have to change. Then we get all of the sops backends and functionality for free.
This would mean that every value in the config would be encrypted, meaning operators would need to have access to the master decryption key (or AWS access to KMS) in order to view basically anything in the file.
A possible fix to that issue is to split the config into two files:
cludod.yaml
andcludod-secrets.yaml
, which would result in a lot of structural overlap.Idea: Support ENV vars
If we assume everyone's gonna be on K8s, then there's an argument not to attempt to solve this, and instead expect operators to put the secrets in ENV vars (via Secret resources), and allow
cludod
to parse${VAR_NAME}
directives in the configuration file.The text was updated successfully, but these errors were encountered: