MCPcopy Create free account
hub / github.com/buildkite/agent-stack-k8s / BuildConfigFromArgs

Function BuildConfigFromArgs

cmd/controller/controller.go:70–92  ·  view source on GitHub ↗

BuildConfigFromArgs parses CLI args and env vars, then builds config. Config file can be specified via --config flag or CONFIG env var. Priority: defaults < config file < environment variables < CLI args

(args []string)

Source from the content-addressed store, hash-verified

68// Config file can be specified via --config flag or CONFIG env var.
69// Priority: defaults < config file < environment variables < CLI args
70func BuildConfigFromArgs(args []string) (*config.Config, error) {
71 cli := &CLI{}
72 parser, err := kong.New(
73 cli,
74 kong.Name("agent-stack-k8s"),
75 kong.Description("Buildkite Agent Stack for Kubernetes"),
76 kong.DefaultEnvars(""),
77 kong.ConfigureHelp(kong.HelpOptions{
78 Compact: true,
79 }),
80 kong.UsageOnError(),
81 )
82 if err != nil {
83 return nil, fmt.Errorf("failed to create parser: %w", err)
84 }
85
86 _, err = parser.Parse(args)
87 if err != nil {
88 parser.FatalIfErrorf(err)
89 }
90
91 return buildConfig(cli)
92}
93
94// buildConfig builds the config from CLI values with correct precedence:
95// defaults < config file < env vars/CLI flags.

Calls 1

buildConfigFunction · 0.85