The existing implementation of ConfidentialStore in Jenkins relies on a secret key that is stored inside JENKINS_HOME/secrets/master.key which is used for encrypting the keys used to encrypt various other secrets. This key file is really only required during startup as the key is loaded into memory and used for unlocking the confidential store which allows for encrypting and decrypting data elsewhere in Jenkins.
The existing implementation of ConfidentialStore in Jenkins relies on a secret key that is stored inside {{JENKINS_HOME/secrets/master.key}} which is used for encrypting the keys used to encrypt various other secrets. This key file is really only required during startup as the key is loaded into memory and used for unlocking the confidential store which allows for encrypting and decrypting data elsewhere in Jenkins.
This can potentially be improved in a couple ways:
# Add a CLI option or environment variable to specify the location of the master key file. This would make it simpler to locate it on removable file system or secret mount. # Provide an unlock prompt similar to the admin password for uploading or specifying the master key on startup if there is no master key available to decrypt the confidential store.
One thing I'm noticing is there's a potential ability to refactor the confidential store to use the KeyStore APIs which would allow for more standardized keystore maintenance.