setupidentity

package
v0.7.0-alpha.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 3, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package setupidentity provides the command to bootstrap the secure environment.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrFingerprintNotFound is returned when a GPG key fingerprint cannot be parsed.
	ErrFingerprintNotFound = errors.New("could not determine fingerprint for key")
	// ErrNoSecretKey is returned when no secret key is found after import.
	ErrNoSecretKey = errors.New("no secret key found after import")
	// ErrEmptyToken is returned when the user provides an empty token.
	ErrEmptyToken = errors.New("token cannot be empty")
)
View Source
var SetupIdentityCmd = &cobra.Command{
	Use:   "setup-identity",
	Short: "Bootstraps the secure environment (GPG, Pass, GitHub).",
	Long: `Configures the "Chain of Trust" workflow: GPG Agent, Git signing,
Password Store, and GitHub CLI authentication.`,
	RunE: func(cmd *cobra.Command, _ []string) error {
		presenter := ui.NewPresenter(cmd.OutOrStdout(), cmd.ErrOrStderr())
		ctx := cmd.Context()

		presenter.Summary("Secure Environment Bootstrap")

		presenter.Header("1. Configuring Tools & Shell")

		err := configureGPGAgent(ctx, presenter)
		if err != nil {
			return err
		}

		err = configureGitSecurity(ctx, presenter)
		if err != nil {
			return err
		}

		err = configureBashrc(presenter)
		if err != nil {
			return err
		}

		presenter.Newline()

		presenter.Header("2. Identity & Secrets")

		keyID, err := importGPGKey(ctx, presenter)
		if err != nil {
			return err
		}

		err = trustGPGKey(ctx, presenter, keyID)
		if err != nil {
			return err
		}

		err = initPass(ctx, presenter, keyID)
		if err != nil {
			return err
		}

		err = authenticateGitHub(ctx, presenter)
		if err != nil {
			return err
		}

		presenter.Success("Bootstrap Complete! Your environment is secure.")
		presenter.Advice("Run 'source ~/.bashrc' to refresh your shell configuration.")

		return nil
	},
}

SetupIdentityCmd represents the setup-identity command.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL