-
Notifications
You must be signed in to change notification settings - Fork 3
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
feat: enhance munge key management API #34
Conversation
Signed-off-by: Jason C. Nucciarone <[email protected]>
delete top-level slurmhelpers and move into src Signed-off-by: Jason C. Nucciarone <[email protected]>
Also, needed to update ruff since it now uses the check subcommand before performing formatting/lints. Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
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'm going back and forth with the name, and I was thinking that since the command is only used to manage the key, maybe that should be signaled by the command name. What about something like mungekeyctl
?
I agree that we could have better grammar for the command interface, however, I think the name I see that we have two options here: Option 1Keep $ mungectl get-key #=> mungectl get
$ mungectl set-key #=> mungectl set
$ mungectl generate-key #=> mungectl generate The pros of this approach is that the name matches other common system utilities - Option 2Rename to $ mungekeyx get #=> mungectl get
$ mungekeyx set #=> mungectl set
$ mungekeyx generate #=> mungectl generate
My preferred option is option 1. Let me know what your preferred option is @jedel1043! |
Option 1 is better IMO. |
Coolio, I'll do that then! |
Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
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.
Liking the new API!
Great! I'll land this so we can get to working on integrating COS! We'll worry about potentially spinning out I'll be back next week to go goblin mode 👺 |
This pull request is beefy (:cow:) as it adds the
mungectl
command to the Slurm snap to simplify munge key management for Slurm deploys.mungectl
enables us to easily manage keys between nodes by allowing us to exchange the keys back and forth as base64 encoded strings. Here's what a flow would look like:The idea here is that we don't have to worry about exposing the key on the host in a tempfile. Rather than have a temporary staging location, we can instead use pipes to get and send the new key to the snap. mungectl worries about decoding/encoding the munge key into base64 text and removing extraneous white space picked up in the process.
Integration tests and unit tests have been updated/added to verify the functionality of mungectl. I licensed it under GPL-3.0 since it is a custom submodule that we are adding. Maybe one day we'll break it out into its own repository, but for now we'll treat it like a submodule.
Let me know if you have any questions! 😄
Misc.
I centralized everything into one Makefile and updated the CI to use
make
instead oftox
. Eventually, when we replaceslurmhelpers
with something that doesn't break in classic confinement, I'll drop tox and everything can have nice Makefile syntax instead.I mothballed
slurmhelpers
into src since it's also a submodule, and I wanted to decrease the amount of top-level directories that we have in this repository 😅Related issues
Closes #14