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)?;