Skip to content

On-demand, declarative-first secret management#14

Open
CertainLach wants to merge 32 commits intomasterfrom
push-xzkurnmtrspn
Open

On-demand, declarative-first secret management#14
CertainLach wants to merge 32 commits intomasterfrom
push-xzkurnmtrspn

Conversation

@CertainLach
Copy link
Member

Secret management commands replaced with interactive generators, secret generation is now nix-driven

@CertainLach CertainLach marked this pull request as ready for review February 2, 2026 17:02
}

#[tokio::main]
async fn main() -> Result<()> {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FIXME: Split, I would think about splitting my own deno implementation from things intended for my infra instead

package.version = "0.1.0"
package.edition = "2024"
package.rust-version = "1.86.0"
package.rust-version = "1.89.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason not to use the same version as in rust-toolchain.toml?

Even release-25.11 is currently at 1.91.1

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was pinned for 25.05

import: String,
// Magic values should have exactly two values to avoid pretty-printing
// as nix inline object value
__magic_marker: PhantomData<()>,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
__magic_marker: PhantomData<()>,
#[serde(rename = "__magic_import")]
_marker: PhantomData<()>,

If I understand the intent correctly, there is no need to use weird field names if it' just part of ser-de

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please elaborate

Yes, __magic_import name is to properly identify this name in nixlike serialization implementation

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is still full of todo!s

gc_now();
}
let config = Config(Arc::new(FleetConfigInternals {
// TODO: Load from somewhere
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this to be addressed in this or the following PRs?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not addressed anywhere. Feel free to add a CLI argument/ENV var for this, either way it should be handled using clap

.await
.context("failed to copy generator to target host")?;

// TODO: Remove destdir after everything is done
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This

})
.unwrap();
dbg!(&data);
// for v in 0..1000 {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guess this can be dropped

mkImpureSecretGenerator,
}:
mkImpureSecretGenerator {
# TODO: Escape prompt/part (preferrably just use env) to prevent shell injection
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Too hard/idk if worth it considering that the only attack vector is the rogue fleet module which can do anything it wants anyway

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants