/module

Helm Chart Module

Primary LanguageGo

module

Run Controller

make manifests fmt
kubectl apply -f config/crd/bases/pkg.x-helm.dev_modules.yaml
kubectl apply -f config/crd/bases/pkg.x-helm.dev_moduleexecstatuses.yaml

make run

kubectl create ns demo
kubectl apply -f cmd/myflow.yaml
helm repo add module-testdata https://raw.githubusercontent.com/kubepack/module-testdata/master/stable/
helm repo update

--set values

Render Templates

Zero Template Chart

  • Must always use Install action
  • Can't use Install or Upgrade to remove any YAMLs

** ToDos **

  • Auto Register Application CRD

Multi-chart

  • ownership checks for resources
  metadata:
    annotations:
      meta.helm.sh/release-name: first
      meta.helm.sh/release-namespace: default
    labels:
      app.kubernetes.io/managed-by: Helm
  • storage driver ownership
	// apply labels
	lbs.set("name", rls.Name)
	lbs.set("owner", "helm")
	lbs.set("status", rls.Info.Status.String())
	lbs.set("version", strconv.Itoa(rls.Version))

** Chart Annotations **

	// Annotations are additional mappings uninterpreted by Helm,
	// made available for inspection by other applications.
	Annotations map[string]string `json:"annotations,omitempty"`
  • app.kubernetes.io/part-of
  • meta.x-helm.dev/editor: {gvr}
  • meta.x-helm.dev/resources: |
    • { GK }
    • { GK }