cpln release
mirrors that of a helm release, essentially representing a deployed instance
of a helm chart within Control Plane. Executing a cpln release
involves the use of the cpln helm install command. Each upgrade ensures that the resources defined in the helm chart are appropriately applied. The upgrade also takes care of removing any resources that are no longer part of the chart and updates the cpln release state to reflect these changes.
When you run the cpln helm install command, it results in the creation of a secret of type opaque within your org. This secret is integral to the process, as it contains the payload corresponding to the cpln release state.
cpln release state
is the single source of truth for managing releases via the CLI. It lets you track changes—like new or removed resources—by comparing the stored state with the output of helm template command.
The state is stored as a gzipped JSON object with these top-level keys:
schemaVersion
name
info
firstDeployed
: Timestamp when the release was first installed.lastDeployed
: Timestamp of the most recent deployment.description
: Human-readable log entry for this release.status
: Current release status (e.g. deployed
, failed
).notes
: Rendered NOTES.txt
from the chart, if available.resources
id
: Unique identifier for the resource.kind
: Control Plane resource kind (e.g. workload
).version
: Version of the resource.link
: Self-link of the resource.template
: The resource’s manifest as generated by helm template command.chart
metadata
Chart.yaml
:
name
: Chart name.home
: URL for the project homepage or repository.sources
: Array of URLs pointing to the chart’s source code.version
: Chart version (SemVer 2).description
: One-sentence summary of the chart.keywords
: Array of search keywords.maintainers
name
: Maintainer’s name or organization.email
: An optional email address to contact the named maintainer.url
: An optional URL to an address for the named maintainer.icon
: URL for the chart icon.apiVersion
: Chart API version (e.g. v2
).condition
: The condition to check to enable chart.tags
: Array of tags for grouping charts.appVersion
: Version of the application contained in this chart.deprecated
: Boolean indicating if the chart is deprecated.annotations
: Arbitrary key/value pairs for external tooling.kubeVersion
: SemVer constraint for the required Kubernetes version.dependencies
name
: Dependency chart name (must match its Chart.yaml
).version
: Version (range) of this chart.repository
: URL of the dependency’s chart repository.condition
: A yaml path that resolves to a boolean, used for enabling/disabling charts (e.g. subchart1.enabled).tags
: Tags to group dependencies.enabled
: Boolean to include the dependency by default.importValues
: Mapping of child values to parent keys (either string entries or { child: parent }
pairs).alias
: Alternate name for the dependency.type
: Either application
or library
.values
: Default configuration values for the chart.config
: Merged user-provided values (overrides the chart’s defaults).manifest
: Full rendered manifest (as a YAML string).version
: Revision number of this release (incremented on each upgrade).gvc
: The GVC name for the release.valuesFiles
: Array of custom values files (contents of each -f
or --values
file).helm create CHART_NAME
CHART_NAME
will be created which will contain the following resources:
charts
and templates
.helmignore
, Chart.yaml
, and values.yaml
templates
directory.values.yaml
file and replace the contents with the following:resources.yaml
within the templates
directory and paste the following:NOTES.txt
within the templates
directory and paste the following:Output from executing the chart created in the above example
References
panel.
cpln.org
, Value: Name of your organization
.cpln.gvc
, Value: Name of your GVC
.cpln
property within your values.yaml
file, as the injected values above will
override them.cpln/release
, Value: The name of the release.helm.sh/resource-policy: keep
tag to a resource to prevent it from being uninstalled.
helm.sh/resource-policy: keep
instructs the CLI to skip deleting this resource when a cpln helm
operation (such as cpln helm upgrade
or cpln helm rollback
) would result in its deletion.
Output from executing the chart created in the above example
--wait
option in your command. This will enforce a default waiting period of 300 seconds (5 minutes). If you need to adjust this duration, use the --timeout
option with your preferred number of seconds.
Example usage:
deployed
status).Updated Resources Template
Output from executing the updated template
Output
--output
option.
Example usage:
Output
Output
Output
--output
option.
Output
Output with --all option
--output
option.
Output
--output
option.
Output