Home

Awesome

Helmfile KCL Plugin

Go Report Card GoDoc License FOSSA Status

KCL is a constraint-based record & functional domain language. Full documents of KCL can be found here.

You can use the helmfile-kcl plugin to

Install

Prerequisites

Quick Start

cd examples/hello-world && helmfile apply

The content of helmfile.yaml looks like this:

repositories:
- name: prometheus-community
  url: https://prometheus-community.github.io/helm-charts

releases:
- name: prom-norbac-ubuntu
  namespace: prometheus
  chart: prometheus-community/prometheus
  set:
  - name: rbac.create
    value: false
  transformers:
  # Use KRM KCL Plugin to mutate or validate Kubernetes manifests.
  - apiVersion: krm.kcl.dev/v1alpha1
    kind: KCLRun
    metadata:
      name: "set-annotation"
      annotations:
        config.kubernetes.io/function: |
          container:
            image: docker.io/kcllang/kustomize-kcl:v0.1.2
    spec:
      params:
        annotations:
          config.kubernetes.io/local-config: "true"
      source: oci://ghcr.io/kcl-lang/set-annotation

Guides for Developing KCL

Here's what you can do in the KCL script:

Full documents of KCL can be found here.

Examples

See here for more examples.

Thanks

License

FOSSA Status