#helmfile (2022-09)

https://github.com/helmfile/helmfile

Questions and discussion around helmfile https://github.com/roboll/helmfile and https://github.com/cloudposse/helmfiles

Archive: https://archive.sweetops.com/helmfile/

2022-09-04

Joaquin Menchaca avatar
Joaquin Menchaca

I did a small blog on ingress-nginx + cert-manager + external-dns on GKE w/ Cloud DNS deployed w helmfile, and using Dgraph for testing gRPC traffic. https://joachim8675309.medium.com/gke-with-grpc-and-ingress-nginx-644730915677

GKE with gRPC and ingress-nginxattachment image

Using gRPC with ingress-nginx add-on with GKE

1

2022-09-06

Ben B avatar

Hi, what is the best solution for

• sharing templates between multiple Helmfiles in different repos, and

• sharing a default set of releases with dependencies between eachother, and

• retaining the ability to override/change one or more of those releases (i.e. no sub-helmfile usage, since sub-helmfiles don’t get exposed to their parent) ? All I could come up with so far is this, which seems a bit hacky:

{{ $_ := exec "git" (list "clone" "--depth=1" "<https://github.com/myorg/common.git>") }}

hooks:
  - events: ["cleanup"]
    showlogs: true
    command: "rm"
    args: ["-rf", "common"]

bases:
  - common/environments.yaml
---
{{ tpl (readFile "common/templates.yaml") . }}

releases:
{{ tpl (readFile "common/releases.yaml") . }}
Maulik Kataria avatar
Maulik Kataria

We are trying to figure this out too. You can also use helmfiles to include sub-helmfiles. However, in that approach, you will have to pass in environment values manually as the environment is not propagated to sub-helmfiles. Example,

...

helmfiles:
  - path: common/release1.yaml
    values:
      - environments/common.yaml
      - environments/dev.yaml

2022-09-15

Ikana avatar

Are there any articles of best practices on how to deal with timed out waiting for condition errors I would be amazing to at least have a message that displays when that error occurs to point application engineering on the right direction

2022-09-17

2022-09-23

batistein avatar
batistein

My helmfile is failing when trying to template cilium with serviceMonitor enabled (CRDs are installed).

Error: execution error at (cilium/templates/validate.yaml:21:9): Service Monitor requires monitoring.coreos.com/v1 CRDs. Please refer to <https://github.com/prometheus-operator/prometheus-operator/blob/master/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml>

because of that validation check: https://github.com/cilium/cilium/blob/v1.12.2/install/kubernetes/cilium/templates/validate.yaml#L19-L22 Also setting one of the following didn’t helped

    disableOpenAPIValidation: true
    disableValidationOnInstall: true
    disableValidation: true
    skipDeps: true

Any idea how to solve? Sync nevertheless is working… Only “template” and “diff” is affected. But template is used by argocd… Also it’s not possible to use any jsonPatch or strategicMetgePatches, i guess because of the same reason?

{{- if and .Values.prometheus.enabled (or .Values.prometheus.serviceMonitor.enabled .Values.operator.prometheus.serviceMonitor.enabled) }}
  {{- if not (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1") }}
      {{ fail "Service Monitor requires monitoring.coreos.com/v1 CRDs. Please refer to <https://github.com/prometheus-operator/prometheus-operator/blob/master/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml>" }}
  {{- end }}
    keyboard_arrow_up