[Bug] (release-manager) release into QA/TEST environment breaks with helm secret and age
encryption
#1185
Labels
bug
Something isn't working
age
encryption
#1185
Describe the bug
During the rollout from DEV to TEST the rollout with helm and the plugin
helm-secrets
with the default and recommended used encryption methodage
is not supported and fails.helm-secrets uses the tool
sops
to encrypt and decrypt the secrets.sops
supports various encryption methods such asage
andgpg
.sops
recommends usingage
instead ofgpg
.To Reproduce
Steps to reproduce the behavior:
Follow the documentation to setup
helm-secrets
withage
encryption and set the environment variablesSOPS_AGE_KEY
andSOPS_AGE_RECIPIENTS
, which are used bysops
for encryption and decryption.Add/Edit the
secret(.dev|test|prod).yaml
file and encrypt your secrets withage
Provide the
SOPS_AGE_KEY
to Jenkins$ oc create secret generic helm-sops-age-key --from-literal=secrettext=$SOPS_AGE_KEY $ oc label secret helm-sops-age-key credential.sync.jenkins.openshift.io=true
Update Jenkins to use
SOPS_AGE_KEY
in the ODS Rollout StageRelease a new version of your application into DEV - this should work
Release the same version of your application into TEST - this will fail
See Log Output
Expected behavior
Full support of the helm-secret plugin with the default and recommended used encryption method
age
Screenshots
If applicable, add screenshots to help explain your problem.
Affected version (please complete the following information):
Log Output (ensure to remove any confidential information like tokens, project names, etc.
Additional context
The suspected bug is in the
odsOrchestrationPipeline
, because as I understand it, the Release Manager assumes thatgpg
is the only encryption method and, if available, theprivate.key
is imported into the gpg keyring of the Jenkins agent during startup. However, this is not mentioned anywhere in the documentation and should therefore not be assumed. Especially becauseage
is the default and recommended method bysops
and easier to handle. In addition there are also incompatibilities between the gpg versions ((outdated) jenkins-agents vs. local machine) that are used for key generation, which leads to new and unforeseen errors during a release.The text was updated successfully, but these errors were encountered: