krib/helm-charts

certmanager acme challenge dns01 provider

Array of charts to install via Helm. The list will be followed in order. Work is idempotent: No action is taken if charts are already installed.

Fields: chart and name are required.

Options exist to inject additional control flags into helm install instructions:

  • name - name of the chart (required)
  • chart - reference of the chart (required) - may rely on repo, path or other helm install [chart] standard
  • namespace - kubernetes namespace to use for chart (defaults to none)
  • params - map of parameters to include in the helm install (optional). Keys and values are converted to --[key] [value] in the install instruction.
  • sleep - time to wait after install (defaults to 10)
  • wait - wait for name (and namespace if provided) to be running before next action
  • prekubectl - (optional) array of kubectl [request] commands to run before the helm install
  • postkubectl - (optional) array of kubectl [request] commands to run after the helm install
  • targz - (optional) provides a location for a tar.gz file containing charts to install. Path is relative.
  • templates - (optional) map of DRP templates keyed to the desired names (must be uploaded!) to render before doing other work.
  • repos - (optional) adds the requested repos to helm using helm repo add before installing helm. syntax is [repo name]: [repo path].
  • templatesbefore - (optional) expands the provided template files inline before the helm install happens.
  • templatesafter - (optional) expands the provided template files inline after the helm install happens

example:

[
  {
    "chart": "stable/mysql",
    "name": "mysql"
  }, {
    "chart": "istio-1.0.1/install/kubernetes/helm/istio",
    "name": "istio",
    "targz": "https://github.com/istio/istio/releases/download/1.0.1/istio-1.0.1-linux.tar.gz",
    "namespace": "istio-system",
    "params": {
      "set": "sidecarInjectorWebhook.enabled=true"
    },
    "sleep": 10,
    "wait": true,
    "kubectlbefore": ["get nodes"],
    "kubectlafter": ["get nodes"]
  }, {
    "chart": "rook-stable/rook-ceph",
    "kubectlafter": [
      "apply -f cluster.yaml"
    ],
    "name": "rook-ceph",
    "namespace": "rook-ceph-system",
    "repos": {
      "rook-stable": "https://charts.rook.io/stable"
    },
    "templatesafter": [{
      "name": "helm-rook.after.sh.tmpl"
      "nodes": "leader",
    }],
    "templatesbefore": [{
      "name": "helm-rook.before.sh.tmpl",
      "nodes": "all",
      "runIfInstalled": true
    }],
    "templates": {
      "cluster": "helm-rook.cfg.tmpl"
    },
    "wait": true
  }
]