Carvel Logo

Authoring Commands Reference

Package

kctrl authoring commands help users generate resources that interact with kapp-controllers packaging layer.

Initialising the package

The package init command takes user inputs and creates a boilerplate for package creation. It should be run before using the package release or dev command.

$ kctrl package init

Supported flags:

  • --chdir string, Location of the working directory
  • --tty, boolean, Force TTY-like output

Note: We suggest to run pkg init in an interactive flow.

Releasing the Package

The package release command is used to generate Package and PackageMetadata resources.

$ kctrl package release -v 1.0.0 --repo-output packages

Supported flags:

  • -v, --version string, Version to be released
  • --repo-output string, Output location for artifacts in repository bundle format
  • --copy-to string, Output location for artifacts (default “carvel-artifacts”)
  • --chdir string, Location of the working directory
  • --tty, boolean, Force TTY-like output
  • --openapi-schema, boolean, Generates openapi schema for ytt and helm templated files and adds it to generated package
  • --tag string, Tag pushed with imgpkg bundle (default “build-”)

Package Repository

Releasing a Package Repository

The package repository release command publishes a PackageRepository using the output of --repo-output flag from the package release command.

$ kctrl package repository release -v 1.0.0

Supported flags:

  • -v, --version string, Version to be released
  • --copy-to string, Output location for artifacts (default “carvel-artifacts”)
  • --chdir string, Location of the working directory
  • --tty, boolean, Force TTY-like output

Dev

kctrl dev command help in testing the package locally using kapp-controller’s APIs.

$ kctrl dev

Supported flags:

  • --delete Delete deployed app
  • -f, --file strings Set App CR, Package CR, PackageInstall CR file (required)
  • -b, --kbld-build Allow kbld build
  • -l, --local Use local fetch source
  • -n, --namespace string, Specified namespace ($KCTRL_NAMESPACE or default from kubeconfig)
  • --tty, boolean, Force TTY-like output

Global Flags

  • --debug boolean, Include debug output
  • --color boolean, Set color output (default true)
  • --column string, Filter to show only given columns
  • --json boolean, Output as JSON
  • --kube-api-burst, int, Set Kubernetes API client burst limit (default 1000)
  • --kube-api-qps float32, Set Kubernetes API client QPS limit (default 1000)
  • --kubeconfig string, Path to the kubeconfig file ($KCTRL_KUBECONFIG),
  • --kubeconfig-contextstring, Kubeconfig context override ($KCTRL_KUBECONFIG_CONTEXT)
  • --kubeconfig-yaml string, Kubeconfig contents as YAML ($KCTRL_KUBECONFIG_YAML)

(Help improve our docs: edit this page on GitHub)