roboll / helmfile

Deploy Kubernetes Helm Charts
MIT License
4.03k stars 567 forks source link

How to use needs for local helm charts deployed #2161

Open codeRuslan opened 1 year ago

codeRuslan commented 1 year ago

I have a following helmfile.yaml

environments:
  {{- range $index,$item := readDirEntries "./environments" }}
  {{ $item.Name }}:
  {{- end }}

# Comments:
# You should use ( createNamespace: true ) only one time in order to avoid random errors occuring
# Charts are deployed in the same order as they are placed in this file
releases:
- name: nginx-ingress
  createNamespace: true
  chart: ./charts/ingress-nginx
  namespace: nginx
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml

- name: certificates
  createNamespace: true
  chart: ./charts/additional-dep
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml

- name: clickhouse
  chart: ./charts/clickhouse
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml

- name: aerospike
  chart: ./charts/aerospike
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml

- name: gitlab
  chart: ./charts/gitlab
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml
#  dependsOn:
#  - certificates

- name: hub
  chart: ./charts/hub
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml
#  dependsOn:
#  - certificates

- name: mariadb
  chart: ./charts/mariadb
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml

- name: mongo
  chart: ./charts/mongo
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml

- name: nexus
  chart: ./charts/nexus
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml
#  dependsOn:
#  - certificates

- name: youtrack
  chart: ./charts/youtrack
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml
#  dependsOn:
#  - certificates

- name: teamcity-server
  chart: ./charts/teamcity-server
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml
#  dependsOn:
#  - certificates

- name: teamcity-agent
  chart: ./charts/teamcity-agent
  namespace: system
  values:
    - ./environments/default/system-values.yaml
    - ./environments/{{ .Environment.Name }}/system-values.yaml

I want to make teamcity-server, youtrack, nexus, hub, gitlab be depended on certificates helm chart deployed in this helmfile. I have tried to use dependsOn, however it fails (it is mentioned in comments)

Helmfile version used: helmfile version 0.149.0

Kubernetes version:

Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0", GitCommit:"b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d", GitTreeState:"clean", BuildDate:"2022-12-08T19:58:30Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0", GitCommit:"b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d", GitTreeState:"clean", BuildDate:"2022-12-08T19:51:45Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"}
yxxhero commented 1 year ago

@codeRuslan please post an issue to helmfile/helmfile repo. this repo has not been maintained.