Encryption - epam/hubctl GitHub Wiki
Protecting hub.yaml.elaborate and hub.yaml.state files is critical to maintaining stack security. Written to remote storage such as AWS S3, GCP, or Azure Storage, the files are encrypted with AES-256 in GCM. The data keys currently come from one of the following implementations:
- PBKDF2 key derivation function controlled by
HUB_CRYPTO_PASSWORDenvironment variable. Set value to<random-password>. - AWS KMS data key referenced by
HUB_CRYPTO_AWS_KMS_KEY_ARN. Set toarn:aws:kms:<region>:<account-no>:alias/<key-alias>. - Azure Key Vault key referenced by
HUB_CRYPTO_AZURE_KEYVAULT_KEY_ID. Set tohttps://<my-kv>.vault.azure.net/keys/<my-key>/<key-version>. - GCP KMS keyring key name referenced by
HUB_CRYPTO_GCP_KMS_KEY_NAME. Set toprojects/<project>/locations/<location>/keyRings/<keyring>/cryptoKeys/<key>.
In case you're using Mozilla SOPS, then cloud KMS keys are the same as for SOPS_KMS_ARN, SOPS_AZURE_KEYVAULT_URLS, or SOPS_GCP_KMS_IDS.