Code Monkey home page Code Monkey logo

k8s-chart-manager-controller's Introduction

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

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

license

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.