Skip to main content

setup_developer

Function setup_developer 

Source
pub fn setup_developer(
    config: DeveloperSetupConfig,
    ctx: &AuthsContext,
    keychain: &(dyn KeyStorage + Send + Sync),
    signer: &dyn SecureSigner,
    passphrase_provider: &dyn PassphraseProvider,
    git_config: Option<&dyn GitConfigProvider>,
) -> Result<SetupResult, SetupError>
Expand description

Provisions a new developer identity with device linking, optional platform verification, git signing, and registry publication.

This function is a pure orchestrator — it delegates every step to a small, named helper and never performs I/O itself.

Args:

  • config: All setup parameters (key alias, platform, etc.).
  • ctx: Injected infrastructure adapters (registry, identity storage, attestation sink, clock).
  • keychain: Platform keychain for key storage and retrieval.
  • signer: Secure signer for creating attestation signatures.
  • passphrase_provider: Provides passphrases for key encryption/decryption.

Usage:

let result = setup_developer(config, &ctx, keychain.as_ref(), &signer, &provider, git_cfg)?;