Note: Chart Manager is a community driven project. LogicMonitor support will not assist in any issues related to Chart Manager.
- Install, Manage, and Delete Helm releases programmatically:
Simplify the process of installing, updating, and deleting large numbers of
Helm releases. Rather than managing all of your Helm releases out-of-band,
Chart Manager provides the ability to define and maintain all of your releases
programmatically and in-cluster.
- Dynamically install versioned Helm charts from public or private repositories:
Chart Manager supports creating Helm releases from charts stored in the public
stable repository as well as custom private repositories.
Note: Support for repositories requiring authentication is not yet implemented
- Specify Helm value overrides: In order to provide as much flexibility as
possible, Chart Manager also provides the ability to override default chart
values just as you would at the command line using '--set'.
Chart Manager Overview
Chart Manager provides a custom controller and Kubernetes Custom Resource
Definition designed to dynamically create, manage, and delete Helm releases.
It was developed with the goal of simplifying the process required to install a
large number of applications via Helm when a new cluster is created. Chart
Manager also provides the ability to maintain a definitive list of application
deployments required for a given cluster since all releases can now be
defined and stored just like any other Kubernetes resource definition.
Chart Manager custom resource objects contain information defining a Helm
chart, Helm repository, and any optional value overrides. The Chart Manager
controller uses this information create a Helm release for the chart in the
namespace where the custom object was created. If the custom object changes,
e.g. a value override gets updated, the Chart Manager controller will attempt
to update the existing release, similar to using helm upgrade. If
the custom object is deleted, the controller will delete the release.
Chart Manager Controller Usage
Usage:
k8s-chart-manager-controller [command]
Available Commands:
crd Dump the custom resource definition to JSON or YAML
help Help about any command
manage Start the Chart Manager controller
Flags:
--config string config file (default is $HOME/.k8s-chart-manager-controller.yaml)
-h, --help help for k8s-chart-manager-controller
Use "k8s-chart-manager-controller [command] --help" for more information about a command.
Chart Manager Controller Configuration File Options
| Name |
Type |
Required |
Default |
Description |
| TillerHost |
string |
no |
[local tunnel] |
Hostname and port of the Tiller server. |
| TillerNamespace |
string |
no |
kube-system |
Namespace where Tiller is running. |
| ReleaseTimeoutSec |
int |
no |
600 |
Time in seconds to wait for a Helm release to be marked successful. |
| DebugMode |
bool |
no |
false |
Enable debug logging. |
Chart Manager Custom Object Fields
ChartManagerSpec
| Field |
Type |
Required |
Description |
| chart |
ChartManagerChart |
yes |
Helm chart configuration options. Provides information about the Helm chart to be used for creating a release. |
| release |
ChartManagerRelease |
no |
Helm release configuration options. Provides information about the Helm release to be created. |
| values |
ChartManagerValue array |
no |
List of values to override in the chart. Each name/value pair is the equivalent of using the Helm CLI '--set' flag. |
| options |
ChartManagerOptions |
no |
Custom object configuration options. |
ChartManagerChart
| Field |
Type |
Required |
Description |
| name |
string |
yes |
Name of the chart to install. |
| version |
string |
no |
Version of the chart to install. Defaults to the latest version. |
| repository |
ChartManagerChartRepo |
no |
Helm chart repository configuration options. Provides the ability to install charts from a private or third-party chart repo. Defaults to stable. |
ChartManagerRelease
| Field |
Type |
Required |
Description |
| name |
string |
yes |
Name of the release to create. |
ChartManagerChartRepo
| Field |
Type |
Required |
Description |
| name |
string |
yes |
Name of the Helm chart repository |
| url |
string |
yes |
URL of the Helm chart repository |
ChartManagerValue
| Field |
Type |
Required |
Description |
| name |
string |
yes |
Name of the value to set. Supports the same pathing and formatting options as the Helm CLI. |
| value |
string |
yes |
Value to assign. |
ChartManagerOptions
| Field |
Type |
Required |
Description |
| createOnly |
bool |
no |
Only create the release and skip any further release management. The option is useful if you want to use Chart Manager to install a chart at cluster bootstrap but want to do ongoing management out-of-band. |
License
