Skip to content
/ chary Public

A generic Helm chart that lets you create customized charts and templates directly from values.yaml or raw Kubernetes manifest files

License

Notifications You must be signed in to change notification settings

0zhu/chary

Repository files navigation

Chary

Artifact Hub GitHub

A generic Helm chart that lets you create customized charts and templates directly from values.yaml or raw Kubernetes manifest files.

Features

  • Reuse one chart across multiple apps
  • Modify resources and templates directly from values.yaml
  • Customize resources using standard manifest structure

Usage

As remote chart

  • Add repo

    helm repo add chary https://0zhu.github.io/chary
  • Create values.yaml file with your manifests

    manifests:
    - kind: Deployment
      # ...
  • Deploy

    helm upgrade --install myapp chary/chary -f values.yaml

As dependency subchart

  • Add Chary to your Chart.yaml

    apiVersion: v2
    name: myapp
    version: 0.1.0
    appVersion: "1.16.0"
    dependencies:
    - name: chary
      version: "*" # https://github.com/0zhu/chary/tags
      repository: "https://0zhu.github.io/chary"
  • Create values.yaml file with your manifests

    chary:
      manifests:
      - kind: Deployment
        # ...
  • Deploy

    helm upgrade --install myapp . -f values.yaml

As dependency subchart with local context and files

  • Add Chary to your Chart.yaml

  • Add Chary's helper function to your templates/manifests.yaml

    {{ include "chary.manifests" . }}
  • Create values.yaml file with your manifests

    manifests:
    - kind: Deployment
      # parent chart's files and context become available for templating
    - kind: ConfigMap
      data:
        config: |
          {{- .Files.Get "config.txt" | nindent 4 }}

    You can also add manifests as yaml files in manifests/:

    kind: Deployment
    # ...
  • Deploy

    helm upgrade --install myapp . -f values.yaml

Customization

For examples of templating and guidance on modifying manifests, refer to the default values.yaml file.

Contributing

Add predefined manifests to templates/manifests/ and reference them in templates/_manifests.tpl.

About

A generic Helm chart that lets you create customized charts and templates directly from values.yaml or raw Kubernetes manifest files

Topics

Resources

License

Stars

Watchers

Forks