Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 37 additions & 5 deletions charts/helmfile/helmfile.yaml.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@ environments:
default:
values:
- ./values/common.yaml
kind:
values:
- ./values/common.yaml
- ../../tests/integration/kind/helmfile/values-kind.yaml
---
{{- $deployCertManager := .Values.releases.certManager.enabled }}
{{- $deployPostgresql := .Values.releases.postgresql.enabled }}
{{- $deployManagementServer := .Values.releases.managementServer.enabled }}
{{- $postgresqlNamespace := .Values.releases.postgresql.namespace }}
{{- if ne $postgresqlNamespace "" }}
{{- $postgresqlNamespace = printf "-n %s" $postgresqlNamespace }}
{{- end }}
{{- $pgNamespace := .Values.releases.postgresql.namespace }}

repositories:
- name: bitnami
Expand All @@ -28,6 +29,17 @@ releases:
- crds:
enabled: true
keep: true
hooks:
- events: ["postsync"]
showlogs: true
command: sh
args:
- -c
- |
kubectl wait --for=condition=Established crd/certificates.cert-manager.io --timeout=300s
kubectl wait --for=condition=Established crd/issuers.cert-manager.io --timeout=300s
kubectl -n cert-manager rollout status deployment/cert-manager-webhook --timeout=300s
kubectl -n cert-manager wait pod -l app.kubernetes.io/component=webhook --for=condition=Ready --timeout=300s
- name: postgresql
{{- if ne .Values.releases.postgresql.namespace "" }}
namespace: {{ .Values.releases.postgresql.namespace }}
Expand All @@ -47,11 +59,31 @@ releases:
args:
- -c
- |
kubectl create configmap db-init-configmap {{ $postgresqlNamespace }} --from-file=./resources/db-setup.sql -o yaml --dry-run=client | kubectl apply -f -
kubectl create configmap db-init-configmap {{- if ne $pgNamespace "" }} -n {{ $pgNamespace }}{{- end }} --from-file=./resources/db-setup.sql -o yaml --dry-run=client | kubectl apply -f -
- name: management-server
{{- if ne .Values.releases.managementServer.namespace "" }}
namespace: {{ .Values.releases.managementServer.namespace }}
{{- end }}
createNamespace: true
chart: ../management-server
installed: {{ $deployManagementServer }}
needs:
- cert-manager/cert-manager
{{- if ne $pgNamespace "" }}
- {{ $pgNamespace }}/postgresql
{{- else }}
- postgresql
{{- end }}
labels:
component: management-server
values:
- ./values/management-server.yaml.gotmpl
hooks:
- events: ["presync"]
showlogs: true
command: sh
args:
- -c
- |
kubectl -n cert-manager rollout status deployment/cert-manager-webhook --timeout=300s
kubectl -n cert-manager wait pod -l app.kubernetes.io/component=webhook --for=condition=Ready --timeout=120s
8 changes: 8 additions & 0 deletions charts/helmfile/values/common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@ postgres:
storageClass: ""
imagePullSecret: ""

# configuration for the management controller image
managementServer:
image:
repository: quay.io/skupper/vms-management-controller
tag: latest
pullPolicy: Always

# Release configuration:
# certManager: installed into the cert-manager namespace (will be created if not exists)
# postgresql: installed into the namespace specified in the namespace key (will be created if not exists). If namespace is empty, the release will be installed into the current namespace.
Expand All @@ -43,3 +50,4 @@ releases:
namespace: ""
managementServer:
enabled: true
namespace: ""
6 changes: 6 additions & 0 deletions charts/helmfile/values/management-server.yaml.gotmpl
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
{{- $ms := .Values.managementServer | default dict }}
{{- $image := $ms.image | default dict }}
postgres:
host: {{ .Values.postgres.host | quote }}
port: {{ .Values.postgres.port | quote }}
database: {{ .Values.postgres.database | quote }}
credentialsSecret:
{{- toYaml .Values.postgres.credentialsSecret | nindent 4 }}
image:
repository: {{ $image.repository | default "quay.io/skupper/vms-management-controller" | quote }}
tag: {{ $image.tag | default "latest" | quote }}
pullPolicy: {{ $image.pullPolicy | default "Always" | quote }}
4 changes: 4 additions & 0 deletions charts/helmfile/values/postgres.yaml.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ auth:
existingSecret: {{ $sec.name | quote }}
secretKeys:
adminPasswordKey: {{ $sec.adminPasswordKey | quote }}
{{- if and (hasKey $pg "image") (hasKey $pg.image "pullPolicy") }}
image:
pullPolicy: {{ $pg.image.pullPolicy | quote }}
{{- end }}
primary:
initdb:
scriptsConfigMap: db-init-configmap
Expand Down
19 changes: 19 additions & 0 deletions tests/integration/kind/helmfile/values-kind.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Kind integration overlay (helmfile -e kind). Local image, single namespace, no PV.
postgres:
host: postgresql
persistence:
enabled: false
image:
pullPolicy: IfNotPresent

releases:
postgresql:
namespace: vms-test
managementServer:
namespace: vms-test

managementServer:
image:
repository: vms-management-controller
tag: kind
pullPolicy: Never