Sign inSign up

logicmonitor/chart-manager

By logicmonitor

•Updated over 8 years ago

A Custom Resource Definition controller to manage deploying Helm charts into a cluster.

Image
0

10K+

logicmonitor/chart-manager repository overview

Note: Chart Manager is a community driven project. LogicMonitor support will not assist in any issues related to Chart Manager.

⁠Chart Manager is a tool for dynamically managing Helm releases via Kubernetes custom resource objects

  • 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

NameTypeRequiredDefaultDescription
TillerHoststringno[local tunnel]Hostname and port of the Tiller server.
TillerNamespacestringnokube-systemNamespace where Tiller is running.
ReleaseTimeoutSecintno600Time in seconds to wait for a Helm release to be marked successful.
DebugModeboolnofalseEnable debug logging.

⁠Chart Manager Custom Object Fields

⁠ChartManagerSpec
FieldTypeRequiredDescription
chartChartManagerChartyesHelm chart configuration options. Provides information about the Helm chart to be used for creating a release.
releaseChartManagerReleasenoHelm release configuration options. Provides information about the Helm release to be created.
valuesChartManagerValue arraynoList of values to override in the chart. Each name/value pair is the equivalent of using the Helm CLI '--set' flag.
optionsChartManagerOptionsnoCustom object configuration options.
⁠ChartManagerChart
FieldTypeRequiredDescription
namestringyesName of the chart to install.
versionstringnoVersion of the chart to install. Defaults to the latest version.
repositoryChartManagerChartReponoHelm chart repository configuration options. Provides the ability to install charts from a private or third-party chart repo. Defaults to stable.
⁠ChartManagerRelease
FieldTypeRequiredDescription
namestringyesName of the release to create.
⁠ChartManagerChartRepo
FieldTypeRequiredDescription
namestringyesName of the Helm chart repository
urlstringyesURL of the Helm chart repository
⁠ChartManagerValue
FieldTypeRequiredDescription
namestringyesName of the value to set. Supports the same pathing and formatting options as the Helm CLI.
valuestringyesValue to assign.
⁠ChartManagerOptions
FieldTypeRequiredDescription
createOnlyboolnoOnly 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

license

Tag summary

Content type

Image

Digest

Size

13.6 MB

Last updated

over 8 years ago

docker pull logicmonitor/chart-manager