-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussion: improve user journeys when provisioning new hosts #60
Comments
Perhaps one aspect I don't find completely intuitive:
This message, to me, doesn't particularly make sense when I don't set a Otherwise we would force a workflow such as
I don't think (?) that (2) rekey is really necessary here. |
Sure, that'd be a good thing to mention.
A warning like this one would also be great to have generally, in case the host pubkey is unset.
Depending on the service, it will not always be easily possible to guard this. Sometimes the secrets are just required to get a valid configuration and therefore you'd have to disable the whole service. Since you cannot get around deploying twice, I'd personally rather have a dummy secret and just let the service complain if it doesn't find the decrypted secret. This saves me the work of having to guard everything (which would be a lot).
I agree, this is a bit misleading. There are kind-of two concepts of dummy secrets at the moment. First there is a true dummy secret, i.e. one that is decryptable by the host at runtime, but contains a dummy/bogus value. You can create those while rekeying if you e.g. don't plug your yubikey in. The second one is a dummy secret in the sense of a placeholder, so something that cannot be decrypted by the host, e.g. becuase its pubkey wasn't known at build time. This is what we need for initial deploys.
Yes that's right. We should improve that. Maybe a better way to handle this would be to detect if the dummy pubkey is in use, and in that case just use a placeholder file for all secrets instead of the rekeyed file. We can add a small hint to that file in case someone looks at it at runtime. If I'm not mistaken, this would just require:
Would you like to change the documentation or even implement this? Otherwise I can have a look at it in the coming days. |
Heya,
First of, thanks for this module, it helped me reason about secret management.
One user journey which seemed tricky to me was the provisioning of a new host, after reading some material on this I wondered how to improve documentation.
One thing in particular which wasn't clear to me is that
age.rekey.hostPubKey
can actually be omitted, which results in "valid" configuration, although rebuilds will emit a helpful warning:Perhaps the first suggestion would be to make this possibility more obvious in docs and/or examples.
In ended up organizing my agenix-rekey usage in the following way:
agenix-rekey
module:Usage:
And the intended flow would be a two-step install:
If this matches intended usage, do we think that it would make sense to do document this time of provisioning flow?
In my experience, this has been the trickiest point to figure out, and I would want to make it easier to understand for others.
Thanks again!
The text was updated successfully, but these errors were encountered: