Documentation
¶
Overview ¶
Package cmdutil provides shared CLI utilities, including the Factory dependency container.
Index ¶
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.
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)
PortalClient func() (*portal.Client, 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.