-
Notifications
You must be signed in to change notification settings - Fork 9
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
Derive and pass workload secrets to initializer #788
Derive and pass workload secrets to initializer #788
Conversation
e6340e7
to
d2fec5b
Compare
|
4341506
to
68662a9
Compare
// SeedEngine is the seed engine used to derive secrets. | ||
SeedEngine *seedengine.SeedEngine |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The SeedEngine's lifecycle is simpler than the State's - from the consumer point of view, it is either present or absent, and if it's present it does not change again. So instead of tacking the seedengine to the channel, we could pass the getter to meshapi directly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure but the meshapi (server) is created in the main.go and the seedengine is internal to the authority, since it's also initialized from there. So we need some form of channel either way, or is there something I'm missing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could pass the getter to meshapi directly
The meshapi needs to be configured with a seedengine getter, but that does not need to be part of the channel state is what I'm trying to say.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, as stated above, I think I might be a bit more comfortable without the seedengine in the state, but also unsure whether it makes sense as a getter interface in the meshapi. If somebody else has more concrete opinions, shoot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to implement your suggestion in fee113c. I'll take any opinions on which one is better.
@@ -108,6 +108,7 @@ systemd | |||
tardev | |||
tarfs | |||
Terraform | |||
themself |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
themself |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
still there
043687c
to
2b800a5
Compare
f695e97
to
7ab7870
Compare
// SeedEngine is the seed engine used to derive secrets. | ||
SeedEngine *seedengine.SeedEngine |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, as stated above, I think I might be a bit more comfortable without the seedengine in the state, but also unsure whether it makes sense as a getter interface in the meshapi. If somebody else has more concrete opinions, shoot.
383c8a8
to
fee113c
Compare
Note: I misclicked and re-requested Markus despite already having an approval. |
@@ -108,6 +108,7 @@ systemd | |||
tardev | |||
tarfs | |||
Terraform | |||
themself |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
still there
DeriveWorkloadSecret takes a string an uses it as info parameter for a hkdf derivation using the seed
fee113c
to
fb55114
Compare
Previous work in the manifest: #785
Note: the openssl, service-mesh, and workload secret ci yaml seem repetitive.
Should we just combine the second to last the (the "just" step) with the last step (nix step) since we already have a just target for e2e tests? we'd only need to pass the undeploy flag.