Documentation
¶
Overview ¶
Package cmdutil provides shared CLI utilities, including the Factory dependency container.
Index ¶
- Constants
- Variables
- func ConfigNotSetError(fieldName, prefix string, opts ConfigOption, hint string) error
- func ErrAuthRequired(cause error) error
- func ExactArgs(n int, usage string, hint ...string) cobra.PositionalArgs
- func ValidateStringFlags(cmd *cobra.Command) error
- type ConfigOption
- type Factory
Constants ¶
const LoginHint = "Or run: krci auth login --portal-url <url>"
LoginHint suggests running "krci auth login" to configure the CLI.
Variables ¶
var ClusterNameOption = ConfigOption{
EnvVar: "KRCI_CLUSTER_NAME",
ConfigKey: "cluster-name in ~/.config/krci/config.yaml",
}
ClusterNameOption describes how to set the cluster name.
var IssuerURLOption = ConfigOption{
EnvVar: "KRCI_ISSUER_URL",
ConfigKey: "issuer-url in ~/.config/krci/config.yaml",
}
IssuerURLOption describes how to set the OIDC issuer URL.
var NamespaceOption = ConfigOption{
EnvVar: "KRCI_NAMESPACE",
ConfigKey: "namespace in ~/.config/krci/config.yaml",
}
NamespaceOption describes how to set the namespace.
var PortalURLOption = ConfigOption{
Flag: "--portal-url",
EnvVar: "KRCI_PORTAL_URL",
ConfigKey: "portal-url in ~/.config/krci/config.yaml",
}
PortalURLOption describes how to set the portal URL.
Functions ¶
func ConfigNotSetError ¶ added in v0.3.0
func ConfigNotSetError(fieldName, prefix string, opts ConfigOption, hint string) error
ConfigNotSetError returns a formatted error for a missing configuration field. When prefix is empty, the error opens with "<fieldName> not configured". When prefix is non-empty, it is used verbatim as the opening line. hint, when non-empty, is appended after the options list.
func ErrAuthRequired ¶ added in v0.3.0
ErrAuthRequired wraps a cause into a user-facing "authentication required" error with a hint to run "krci auth login".
func ExactArgs ¶ added in v0.4.0
func ExactArgs(n int, usage string, hint ...string) cobra.PositionalArgs
ExactArgs returns a cobra.PositionalArgs that requires exactly n arguments, producing a user-friendly error message that names the missing argument. An optional hint is appended as a "Hint:" line when provided.
func ValidateStringFlags ¶ added in v0.6.3
ValidateStringFlags checks that no string flag received a value that looks like another flag (e.g. "--status --pr 53" where "--pr" is consumed as the value for --status). Cobra/pflag silently accepts this; we reject it.
Types ¶
type ConfigOption ¶ added in v0.3.0
type ConfigOption struct {
Flag string // e.g. "--portal-url" (empty if not available)
EnvVar string // e.g. "KRCI_PORTAL_URL"
ConfigKey string // e.g. "portal-url in ~/.config/krci/config.yaml"
}
ConfigOption describes one way to set a configuration value.
type Factory ¶
type Factory struct {
IOStreams *iostreams.IOStreams
Config func() (*config.Config, error)
TokenProvider func() (auth.TokenProvider, error)
RestClient func() (*restapi.ClientWithResponses, error)
}
Factory holds lazy-func dependencies shared across all CLI commands. Each func is memoized: the first call resolves the dependency; subsequent calls return the cached result instantly.