// Copyright The gittuf Authors // SPDX-License-Identifier: Apache-2.0 package removegithubapp import ( "github.com/gittuf/gittuf/experimental/gittuf" "github.com/gittuf/gittuf/internal/cmd/common" "github.com/gittuf/gittuf/internal/cmd/trust/persistent" "github.com/spf13/cobra" ) type options struct { p *persistent.Options } func (o *options) AddFlags(_ *cobra.Command) {} func (o *options) Run(cmd *cobra.Command, _ []string) error { repo, err := gittuf.LoadRepository() if err != nil { return err } signer, err := gittuf.LoadSigner(repo, o.p.SigningKey) if err != nil { return err } return repo.RemoveGitHubApp(cmd.Context(), signer, true) } func New(persistent *persistent.Options) *cobra.Command { o := &options{p: persistent} cmd := &cobra.Command{ Use: "remove-github-app", Short: "Remove GitHub app from gittuf root of trust", PreRunE: common.CheckForSigningKeyFlag, RunE: o.Run, DisableAutoGenTag: true, } o.AddFlags(cmd) return cmd }