Documentation for version v0.35.0 is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date documentation, see the latest version.
Package Command Reference
Overview ¶
Package command provides options to interact with package repositories, available packages and package installs.
Package Repositories ¶
The package repository
group of commands can be used to view, create and delete packages repositories.
Adding package repositories ¶
The package repository add
command can be used to add a package repository to a namespace.
$ kctrl package repository add -r test-repo --url index.docker.io/k8slt/kc-e2e-test-repo:latest
Supported flags:
-n
,--namespace
string, Specified namespace ($KCTRL_NAMESPACE or default from kubeconfig)-r
,--repository
, string, Set package repository name (required)--url
, string, OCI registry url for package repository bundle (required)--wait
, boolean, Wait for reconciliation to complete (default true)--wait-check-interval
, duration, Amount of time to sleep between checks while waiting (default 1s)--wait-timeout
, duration, Maximum amount of time to wait in wait phase (default 5m0s)
Updating existing package repositories ¶
The package repository update
command can be used to update an existing repository.
$ kctrl package repository update -r test-repo --url index.docker.io/k8slt/kc-e2e-test-repo-2:latest
Supported flags:
-n
,--namespace
string, Specified namespace ($KCTRL_NAMESPACE or default from kubeconfig)-r
,--repository
, string, Set package repository name (required)--url
, string, OCI registry url for package repository bundle (required)--wait
, boolean, Wait for reconciliation to complete (default true)--wait-check-interval
, duration, Amount of time to sleep between checks while waiting (default 1s)--wait-timeout
, duration, Maximum amount of time to wait in wait phase (default 5m0s)
Listing package repositories ¶
The package repository list
command can be used to list existing repositories.
$ kctrl package repository list
Supported flags:
-A
,--all-namespaces
string, List available packages in all namespaces-n
,--namespace
string, Specified namespace ($KCTRL_NAMESPACE or default from kubeconfig)
Getting details for package repositories ¶
The package repository get
command can be used to get details of an existing package repository.
$ kctrl package repository get -r test-repo
Supported flags:
-n
,--namespace
string, Specified namespace ($KCTRL_NAMESPACE or default from kubeconfig)-r
,--repository
string, Set package repository name (required)
Deleting package repositories ¶
The package repository delete
command can be used to delete a package repository.
$ kctrl package repository delete -r test-repo
Supported flags:
-n
,--namespace
string, Specified namespace ($KCTRL_NAMESPACE or default from kubeconfig)-r
,--repository
string, Set package repository name (required)--wait
, boolean, Wait for reconciliation to complete (default true)--wait-check-interval
, duration, Amount of time to sleep between checks while waiting (default 1s)--wait-timeout
, duration, Maximum amount of time to wait in wait phase (default 5m0s)
Available packages ¶
The package available
group of commands can be used to get or list packages available in a namespace or all namespaces.
Listing available packages ¶
The package available list
command can be used to get a list of packages available in one or all namespaces.
$ kctrl package available list
A package can also be passed to get different available versions of the package.
$ kctrl package available list -p pkg.test.carvel.dev
Supported flags:
-A
,--all-namespaces
string, List available packages in all namespaces-n
,--namespace
string, Specified namespace ($KCTRL_NAMESPACE or default from kubeconfig)-p
,--package
, string, List all available versions of package--summary
, boolean, Show summarized list of packages (default true)--wide
, boolean, Show additional info
Getting details of available packages ¶
The package available get
command can be used to get details of available packages or specific versions of a package.
$ kctrl package available get -p pkg.test.carvel.dev
# or...
$ kctrl package available get -p pkg.test.carvel.dev/1.0.0
The values-schema
flag can be used to get the available values schema for a specific version of the package.
$ kctrl package available get -p pkg.test.carvel.dev/1.0.0 --values-schema
Supported flags:
-n
,--namespace
string, Specified namespace ($KCTRL_NAMESPACE or default from kubeconfig)-p
,--package
, string, List all available versions of package--values-schema
, string, Values schema of the package (optional)
Installed Packages ¶
The package installed
group of commands can be used to view, create and update installed packages.
Installing a package ¶
The package installed create
command can be used to create a new installation. The package install
command is a sugared alternative for the same.
$ kctrl package installed create --package-install cert-man --package cert-manager.community.tanzu.vmware.com --version 1.5.4
# or...
$ kctrl package install --package-install cert-man --package cert-manager.community.tanzu.vmware.com --version 1.5.4
A values file can also be passed while running this command.
$ kctrl package install --package-install cert-man --package cert-manager.community.tanzu.vmware.com --version 1.5.4 --values-file values.yml
Supported flags:
-p
,--package
string, name of available package consumed by the installation--version
string, version of package that the package install should consume--service-account-name
string, Name of an existing service account used to install underlying package contents, optional--namespace
string, Specified namespace for package installation--wait
boolean, Wait for reconciliation to complete (defaulttrue
)--wait-check-interval
duration, Amount of time to sleep between checks while waiting (default 1s)--wait-timeout
duration, Maximum amount of time to wait in wait phase (default 30m0s)
Updating an installed package ¶
The package installed update
command can be used to update an existing installation to a newer version or with a new values file.
To update to a newer version:
$ kctrl package installed update --package-install cert-man --version 1.6.1
To update to a newer values file:
$ kctrl package installed update --package-install cert-man --values-file updated-values.yml
Supported flags:
--version
string, version of package that the package install should consume--install
boolean, Install package if the installed package does not exist (defaultfalse
)--namespace
string, Specified namespace to find package installation to be updated in--wait
boolean, Wait for reconciliation to complete (defaulttrue
)--wait-check-interval
duration, Amount of time to sleep between checks while waiting (default 1s)--wait-timeout
duration, Maximum amount of time to wait in wait phase (default 30m0s)
Listing package installs ¶
The package install list
command can be used to list all installed packages.
$ kctrl package installed list
Supported flags:
-n
,--namespace
string, Specify namespace wherekctrl
should look for package installs-A
,--all-namespaces
boolean, List installed packages in all namespaces
Getting details for installed package ¶
The package installed get
command can be used to fetch information for an installed package.
$ kctrl package installed get --package-install cert-man
This can also be used to view the values being used with the package install.
$ kctrl package installed get --package-install cert-man --values
Or to download the values file consumed by the installation.
$ kctrl package installed get --package-install cert-man --values-file-output output-values.yml
Deleting package installatiions ¶
The package installed delete
command can be used to delete package installations and resources created along with it by kctrl
.
$ kctrl package installed delete -i cert-man
Created resources other than the PackageInstall
resource might include Secrets, Service Accounts, Cluster Roles and Cluster Role Bindings which are cleaned up if they were created while installing the package using the CLI.
Shared flags ¶
-i
,--package-install
string, assigned name for a package installation
Created resources ¶
If a service account name is not specified using a flag while creating a package installation, kctrl
creates a service account, cluster role and cluster role binding to be used by the package install.
If values are specified using a values file, kctrl
creates a secret using the values that can be consumed by the package installation.
(See Installing a Package for information on how PackageInstall
CRs consume secrets)
These resources are tracked by using the packaging.carvel.dev/package-...
annotations and similar annotations are added to the resources themselves to assert ownership of the resources, so that they can be safely deleted while deleting the package installation.
(See Security Model for information on how PackageInstall
CRs use service accounts)
Global Flags ¶
--color
boolean, Set color output (default true)--column
string, Filter to show only given columns--debug
boolean, Include debug output-h
,--help
boolean, help for kctrl--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-context
string, Kubeconfig context override ($KCTRL_KUBECONFIG_CONTEXT)--kubeconfig-yaml
string, Kubeconfig contents as YAML ($KCTRL_KUBECONFIG_YAML)--tty
boolean, Force TTY-like output (default true)-v
,--version
boolean, version for kctrl-y
,--yes
, boolean, Assumes yes for any prompt
(Help improve our docs: edit this page on GitHub)