Skip to main content

init

Function init 

Source
pub async fn init(
    palette: Palette,
    config: &Arc<Config>,
    database: Arc<Database>,
) -> Result<(), CliError>
Expand description

acme-proxy init — migrate, then generate whatever first-run material the configuration calls for.

The one command that creates key material. A serving process that does not run the worker role refuses to generate any, so a split deployment runs this once, as the uid that should own the files, before starting anything.

Building the profiles is what generates: server::profile::build_all constructs every signer backend, and a local_ca with no key writes one, a relay with no account registers one. That is why this goes through the real builder rather than a separate generation path — there would be two definitions of “what a fresh deployment needs” otherwise.