id = "vela" name = "Vela CLI" homepage = "https://go-vela.github.io/docs/" description = "CLI for Vela, Target's official Pipeline Automation Framework." # Vela's own mark, from its documentation site. icon = "https://go-vela.github.io/docs/img/vela.svg" # `vela` is also KubeVela's binary. KubeVela keeps its own state under the same # ~/.vela directory (pkg/utils/system/system.go: `const defaultVelaHome = # ".vela"`, holding the current env plus capability and terraform caches) but # never writes config.yml, so the one file below belongs unambiguously to the # go-vela CLI and a KubeVela user simply has nothing here to sync. executables = ["vela"] [dotfiles] # go-vela/cli DOCS.md: "**--config, -c**=\"\": path to Vela configuration file # (default: ~/.vela/config.yml)", which is cmd/vela-cli/main.go's # `Value: fmt.Sprintf("%s/.vela/config.yml", os.Getenv("HOME"))`. paths = ["~/.vela/config.yml"] exclude = [] # Not a whole-file secret: action/config/file.go's ConfigFile also carries the # server address, log level, output format, default org/repo, colour theme and # the secret engine/type — all worth carrying. Only the tokens are lifted out. secret = [] # Read and rewritten by a short-lived CLI process. side_effect = false # action/config/file.go, the yaml tags the CLI writes: # API.Token `yaml:"token"` under `api:` # API.AccessToken `yaml:"access_token"` under `api:` # API.RefreshToken `yaml:"refresh_token"` under `api:` # GitHub.Token `yaml:"token"` under `compiler: github:` # `vela login` writes all four. The flat compiler.github_token spelling is the # older shape and is still what the repository's own # action/config/testdata/config.yml carries, so both are named — a shape that # moved inside a file leaves nothing for a consumer to skip. [[dotfiles.secret_paths]] file = "~/.vela/config.yml" match = { key_path = [ "api.token", "api.access_token", "api.refresh_token", "compiler.github.token", "compiler.github_token", ] } [commands] format = 1 label = "KubeVela" description = "KubeVela CLI. Forms cover up and init." quality = "ai-draft" base = "fig:vela" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/vela.ts" license = "MIT" [[commands.subcommand]] path = ["up"] label = "Deploy application" description = "Deploy one application from a file or the current definition." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/vela.ts" license = "MIT" [[commands.subcommand.field]] id = "app" label = "Application" type = "string" position = 0 sources = ["fig"] [[commands.subcommand.field]] id = "file" label = "Appfile or URL" type = "path" option = ["--file", "-f"] path = { kind = "file", role = "input" } sources = ["fig"] [[commands.subcommand.field]] id = "env" label = "Environment" type = "string" option = ["--env", "-e"] sources = ["fig"] [[commands.subcommand.field]] id = "namespace" label = "Namespace" type = "string" option = ["--namespace", "-n"] sources = ["fig"] [[commands.subcommand.field]] id = "publish_version" label = "Publish version" type = "string" option = ["--publish-version", "-v"] sources = ["fig"] [[commands.subcommand.field]] id = "revision" label = "Revision" type = "string" option = ["--revision", "-r"] sources = ["fig"] [[commands.subcommand.task]] id = "up" label = "Deploy from file" fields = ["file", "env", "namespace"] required = ["file"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["app", "file", "env", "namespace"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["publish_version", "revision"] [[commands.subcommand]] path = ["init"] label = "Scaffold application" description = "Create a vela application scaffold." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/vela.ts" license = "MIT" [[commands.subcommand.field]] id = "env" label = "Environment" type = "string" option = ["--env", "-e"] sources = ["fig"] [[commands.subcommand.field]] id = "namespace" label = "Namespace" type = "string" option = ["--namespace", "-n"] sources = ["fig"] [[commands.subcommand.field]] id = "render_only" label = "Render only" type = "boolean" option = ["--render-only"] sources = ["fig"] [[commands.subcommand.task]] id = "init" label = "Scaffold" set = { render_only = [true] } fields = ["env", "namespace", "render_only"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["env", "namespace", "render_only"]