├── .gitignore
├── .DS_Store
├── charts
├── nocodb
│ ├── img
│ │ └── icon.png
│ ├── .helmignore
│ ├── Chart.lock
│ ├── templates
│ │ ├── configmap.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── secrets.yaml
│ │ ├── smtp-secret.yaml
│ │ ├── admin-user-secert.yaml
│ │ ├── serviceaccount.yaml
│ │ ├── externalminio-secrets.yaml
│ │ ├── externaldb-secrets.yaml
│ │ ├── hpa.yaml
│ │ ├── NOTES.txt
│ │ ├── ingress.yaml
│ │ └── service.yaml
│ ├── README.md.gotmpl
│ └── Chart.yaml
├── flagsmith
│ ├── templates
│ │ ├── NOTES.txt
│ │ ├── api-secrets.yaml
│ │ ├── frontend-secrets.yaml
│ │ ├── api-svc.yaml
│ │ ├── frontend-svc.yaml
│ │ ├── conf.yaml
│ │ ├── tests
│ │ │ └── test.yaml
│ │ ├── ingress.yaml
│ │ └── _helpers.tpl
│ ├── README.md.gotmpl
│ └── Chart.yaml
├── oaf-odoo-data-migration
│ ├── .DS_Store
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── service.yaml
│ │ ├── secret.yaml
│ │ ├── pvc.yaml
│ │ ├── configmap.yaml
│ │ ├── NOTES.txt
│ │ └── job.yaml
│ ├── Chart.yaml
│ └── values.yaml
├── apicurio
│ ├── ci
│ │ └── ci-values.yaml
│ ├── templates
│ │ ├── NOTES.txt
│ │ ├── apicurio-studio-secrets.yaml
│ │ ├── tests
│ │ │ └── test-connections.yaml
│ │ ├── apicurio-studio-services.yaml
│ │ ├── _helpers.tpl
│ │ ├── apicurio-studio-ui-deployment.yaml
│ │ ├── apicurio-studio-ws-deployment.yaml
│ │ └── apicurio-studio-api-deployment.yaml
│ ├── Chart.lock
│ ├── .helmignore
│ ├── Chart.yaml
│ └── README.md.gotmpl
├── sydent
│ ├── templates
│ │ ├── secret.yaml
│ │ ├── serviceaccount.yaml
│ │ ├── service.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── hpa.yaml
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ ├── ingress.yaml
│ │ └── deployment.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── values.yaml
│ └── README.md
├── kobotoolbox
│ ├── templates
│ │ ├── nginx-conf.yaml
│ │ ├── NOTES.txt
│ │ ├── enketo-conf.yaml
│ │ ├── enketo-svc.yaml
│ │ ├── kobo-conf.yaml
│ │ ├── kobo-pvc.yaml
│ │ ├── tests
│ │ │ ├── test-kobo-connections.yaml
│ │ │ └── test-kobo-api.yaml
│ │ ├── kobo-svc.yaml
│ │ ├── kobo-postgres-init.yaml
│ │ ├── ingress.yaml
│ │ ├── metrics-exporter.yaml
│ │ └── enketo-deploy.yaml
│ ├── .helmignore
│ ├── Chart.lock
│ ├── README.md.gotmpl
│ └── Chart.yaml
├── mautic
│ ├── Chart.lock
│ ├── requirements.lock
│ ├── templates
│ │ ├── secret.yaml
│ │ ├── pvc.yaml
│ │ ├── service.yaml
│ │ ├── ingress.yaml
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ └── deployment.yaml
│ ├── Chart.yaml
│ ├── README.md.gotmpl
│ ├── mautic.svg
│ ├── test-values.yaml
│ └── README.md
├── kutt
│ ├── templates
│ │ ├── secret.yaml
│ │ ├── serviceaccount.yaml
│ │ ├── service.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── hpa.yaml
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ ├── ingress.yaml
│ │ └── deployment.yaml
│ ├── .helmignore
│ ├── README.md.gotmpl
│ └── Chart.yaml
├── n8n
│ ├── templates
│ │ ├── configmap.yaml
│ │ ├── service.yaml
│ │ ├── secret.yaml
│ │ ├── pvc.yaml
│ │ ├── hpa.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── ingress.yaml
│ │ └── NOTES.txt
│ ├── Chart.lock
│ ├── .helmignore
│ ├── README.md.gotmpl
│ └── Chart.yaml
├── uptime-wrapper
│ ├── templates
│ │ ├── secrets.yaml
│ │ ├── service.yaml
│ │ ├── serviceaccount.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── hpa.yaml
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ ├── ingress.yaml
│ │ └── deployment.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── README.md
│ └── values.yaml
├── growthbook
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── configmap.yaml
│ │ ├── service.yaml
│ │ ├── pvc.yaml
│ │ ├── secrets.yaml
│ │ ├── hpa.yaml
│ │ ├── ingress.yaml
│ │ └── mongodb-configmap.yaml
│ ├── README.md.gotmpl
│ └── Chart.yaml
└── pgbouncer
│ ├── templates
│ ├── serviceaccount.yaml
│ ├── tests
│ │ └── test-connection.yaml
│ ├── service.yaml
│ ├── secret.yaml
│ ├── hpa.yaml
│ ├── configmap.yaml
│ ├── NOTES.txt
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ └── ingress.yaml
│ ├── Chart.yaml
│ ├── README.md.gotmpl
│ ├── LICENSE
│ └── values.yaml
├── archive
├── metabase
│ ├── templates
│ │ ├── NOTES.txt
│ │ ├── secrets.yaml
│ │ ├── metabase-svc.yaml
│ │ ├── _helpers.tpl
│ │ ├── ingress.yaml
│ │ └── tests
│ │ │ └── test.yaml
│ ├── Chart.yaml
│ ├── README.md.gotmpl
│ ├── values.yaml
│ └── README.md
└── geonode
│ ├── templates
│ ├── nginx-conf.yaml
│ ├── geonode-pvc.yaml
│ ├── geonode-svc.yaml
│ ├── tests
│ │ └── test-geonode.yaml
│ ├── geonode-secrets.yaml
│ ├── geonode-ingress.yaml
│ ├── postgres-init.yaml
│ ├── NOTES.txt
│ └── geonode-geoserver-conf.yaml
│ ├── Chart.lock
│ ├── .helmignore
│ ├── README.md.gotmpl
│ └── Chart.yaml
├── .yamllint.yaml
├── .github
├── ct.yaml
├── workflows
│ ├── helm-release.yaml
│ └── helm-test.yaml
└── PULL_REQUEST_TEMPLATE.md
├── artifacthub-repo.yml
├── .pre-commit-config.yaml
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | localtests
2 | *.tgz
3 |
--------------------------------------------------------------------------------
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/one-acre-fund/oaf-public-charts/HEAD/.DS_Store
--------------------------------------------------------------------------------
/charts/nocodb/img/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/one-acre-fund/oaf-public-charts/HEAD/charts/nocodb/img/icon.png
--------------------------------------------------------------------------------
/archive/metabase/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | Thank you for installing Metabase as {{ .Release.Name }} in namespace {{ .Release.Namespace }}!
2 |
3 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | Thank you for installing Flagsmith as {{ .Release.Name }} in namespace {{ .Release.Namespace }}!
2 |
3 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/one-acre-fund/oaf-public-charts/HEAD/charts/oaf-odoo-data-migration/.DS_Store
--------------------------------------------------------------------------------
/charts/apicurio/ci/ci-values.yaml:
--------------------------------------------------------------------------------
1 | keycloak:
2 | url: https://studio-auth.apicur.io/auth
3 | realm: apicurio-local
4 | client:
5 | id: apicurio-studio
6 | secret: apicuriokc
7 |
--------------------------------------------------------------------------------
/archive/metabase/templates/secrets.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ .Release.Name }}-metabase
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | {{- include "secrets" . | nindent 2 }}
8 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/api-secrets.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ .Release.Name }}-flagsmith
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | {{ include "api_secrets" . | nindent 2 }}
8 |
--------------------------------------------------------------------------------
/.yamllint.yaml:
--------------------------------------------------------------------------------
1 | extends: default
2 |
3 | rules:
4 | line-length:
5 | max: 800
6 | level: error
7 | document-start: disable
8 | empty-lines:
9 | max: 1
10 |
11 | ignore: |
12 | **/templates/**
13 | index.yaml
14 |
--------------------------------------------------------------------------------
/charts/sydent/templates/secret.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ .Release.Name }}-config
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | SYDENT_SMTP_PASSWORD: {{ .Values.env.email.smtppassword | b64enc }}
8 |
--------------------------------------------------------------------------------
/.github/ct.yaml:
--------------------------------------------------------------------------------
1 | chart-repos:
2 | - bitnami=https://charts.bitnami.com/bitnami
3 | - gatekeeper=https://gogatekeeper.github.io/helm-gogatekeeper
4 | helm-extra-args: --timeout 15m
5 | debug: true
6 | target-branch: main
7 | lint-conf: .yamllint.yaml
8 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/frontend-secrets.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ .Release.Name }}-flagsmith-frontend
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | {{ include "frontend_secrets" . | nindent 2 }}
8 |
--------------------------------------------------------------------------------
/archive/geonode/templates/nginx-conf.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ .Release.Name }}-nginx-confd
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | geonode.conf: |
8 | {{- include "nginx_conf" . | nindent 4 }}
9 |
--------------------------------------------------------------------------------
/charts/apicurio/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | Thank you for installing {{ .Chart.Name }}.
2 |
3 | Your release is named {{ .Release.Name }}.
4 |
5 | To learn more about the release, try:
6 |
7 | $ helm status {{ .Release.Name }}
8 | $ helm get {{ .Release.Name }}
9 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/nginx-conf.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ .Release.Name }}-nginx-confd
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | default.conf: |
8 | {{- include "nginx_conf" . | nindent 4 }}
9 |
--------------------------------------------------------------------------------
/charts/mautic/Chart.lock:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: mariadb
3 | repository: https://charts.bitnami.com/bitnami
4 | version: 11.4.7
5 | digest: sha256:69f21635d504b00c40ff2d37439f3c60095c7f37a1b816f976ed77edb18d0d1d
6 | generated: "2024-01-16T12:56:52.422271+03:00"
7 |
--------------------------------------------------------------------------------
/charts/apicurio/Chart.lock:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: postgresql
3 | repository: https://charts.bitnami.com/bitnami
4 | version: 11.6.26
5 | digest: sha256:780460d4ae09c265ee1b0f0b49d01ae2d372ca9a22289353c15356e84b553044
6 | generated: "2022-09-08T17:31:37.893552+03:00"
7 |
--------------------------------------------------------------------------------
/charts/mautic/requirements.lock:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: mariadb
3 | repository: https://charts.bitnami.com/bitnami
4 | version: 11.4.6
5 | digest: sha256:7395aca4f5d515b0336b9ae5cb49785913549a80be4cdd88fd7a65a287de9b5c
6 | generated: "2023-02-16T11:49:51.04783+02:00"
7 |
--------------------------------------------------------------------------------
/charts/kutt/templates/secret.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: kutt
5 | labels:
6 | {{- include "kutt.labels" . | nindent 4 }}
7 | data:
8 | {{- range $key, $val := .Values.secretEnv }}
9 | {{ $key }}: {{ $val | b64enc }}
10 | {{- end }}
11 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | Thank you for installing KoboToolbox!
2 |
3 | You can access the application using the following external URLs:
4 | - Home: {{ include "kpi_url" . }}
5 | - Kobocat (form API): {{ include "kobocat_url" . }}
6 | - Enketo (web form viewer): {{ include "enketo_url" . }}
7 |
8 |
--------------------------------------------------------------------------------
/charts/n8n/templates/configmap.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.config }}
2 | apiVersion: v1
3 | kind: ConfigMap
4 | metadata:
5 | name: {{ include "n8n.fullname" . }}
6 | labels:
7 | {{- include "n8n.labels" . | nindent 4 }}
8 | data:
9 | config.json: |
10 | {{ .Values.config | toPrettyJson | indent 4 }}
11 |
12 | {{- end }}
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/enketo-conf.yaml:
--------------------------------------------------------------------------------
1 | # The Enketo conf needs to be a Secret because it includes passwords
2 | apiVersion: v1
3 | kind: Secret
4 | metadata:
5 | name: {{ .Release.Name }}-enketo
6 | namespace: {{ .Release.Namespace }}
7 | stringData:
8 | config.json: |-
9 | {{- tpl .Values.enketo.config . | nindent 4 -}}
10 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/secrets.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ include "uptime-wrapper.fullname" . }}-secret
5 | type: Opaque
6 | data:
7 | ADMIN_PASSWORD: {{ .Values.env.ADMIN_PASSWORD | b64enc }}
8 | KUMA_PASSWORD: {{ .Values.env.KUMA_PASSWORD | b64enc }}
9 | SECRET_KEY: {{ .Values.env.SECRET_KEY | b64enc }}
--------------------------------------------------------------------------------
/charts/n8n/Chart.lock:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: redis
3 | repository: https://charts.bitnami.com/bitnami
4 | version: 17.7.4
5 | - name: postgresql
6 | repository: https://charts.bitnami.com/bitnami
7 | version: 11.6.26
8 | digest: sha256:859af2508dfc2e3df8fa2324ebb4a81cb8108acae7d374f71290a533c7416389
9 | generated: "2023-02-17T14:11:32.189165+02:00"
10 |
--------------------------------------------------------------------------------
/archive/geonode/Chart.lock:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: postgresql
3 | repository: https://charts.bitnami.com/bitnami
4 | version: 10.1.4
5 | - name: rabbitmq
6 | repository: https://charts.bitnami.com/bitnami
7 | version: 8.6.4
8 | digest: sha256:ceddcd3499d613ee83cd1bc843517ef09d1021e3f32c1f7fe620df86e267421d
9 | generated: "2021-02-09T10:06:07.7240304+03:00"
10 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/api-svc.yaml:
--------------------------------------------------------------------------------
1 | kind: Service
2 | apiVersion: v1
3 | metadata:
4 | name: {{ .Release.Name }}-api
5 | namespace: {{ .Release.Namespace }}
6 | spec:
7 | selector:
8 | org.oneacrefund.instance: {{ .Release.Name }}-flagsmith-api
9 | ports:
10 | - targetPort: 8000
11 | port: 8000
12 | name: api
13 | type: {{ .Values.general.serviceType }}
14 |
--------------------------------------------------------------------------------
/archive/metabase/templates/metabase-svc.yaml:
--------------------------------------------------------------------------------
1 | kind: Service
2 | apiVersion: v1
3 | metadata:
4 | name: {{ .Release.Name }}-metabase
5 | namespace: {{ .Release.Namespace }}
6 | spec:
7 | selector:
8 | org.metabase.instance: {{ .Release.Name }}-metabase
9 | ports:
10 | - targetPort: 3000
11 | port: 3000
12 | name: app
13 | type: {{ .Values.general.serviceType }}
14 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/enketo-svc.yaml:
--------------------------------------------------------------------------------
1 | kind: Service
2 | apiVersion: v1
3 | metadata:
4 | name: {{ .Release.Name }}-enketo
5 | namespace: {{ .Release.Namespace }}
6 | spec:
7 | selector:
8 | org.kobotoolbox.instance: {{ .Release.Name }}-enketo
9 | ports:
10 | - targetPort: 8005
11 | port: 8005
12 | name: enketo
13 | type: {{ .Values.general.serviceType }}
14 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/frontend-svc.yaml:
--------------------------------------------------------------------------------
1 | kind: Service
2 | apiVersion: v1
3 | metadata:
4 | name: {{ .Release.Name }}-frontend
5 | namespace: {{ .Release.Namespace }}
6 | spec:
7 | selector:
8 | org.oneacrefund.instance: {{ .Release.Name }}-flagsmith-frontend
9 | ports:
10 | - targetPort: 8080
11 | port: 8080
12 | name: frontend
13 | type: {{ .Values.general.serviceType }}
14 |
--------------------------------------------------------------------------------
/charts/kutt/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "kutt.serviceAccountName" . }}
6 | labels:
7 | {{- include "kutt.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/mautic/templates/secret.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ include "mautic.fullname" . | quote }}
5 | labels:
6 | {{- include "mautic.labels" . | nindent 4 }}
7 | data:
8 | MAUTIC_DB_PASSWORD: {{ .Values.mariadb.auth.password | b64enc }}
9 | {{- range $key, $value := .Values.extraSecretEnvs }}
10 | {{ $key }}: {{ $value | b64enc }}
11 | {{- end }}
12 |
--------------------------------------------------------------------------------
/charts/sydent/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "sydent.serviceAccountName" . }}
6 | labels:
7 | {{- include "sydent.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/growthbook/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "growthbook.serviceAccountName" . }}
6 | labels:
7 | {{- include "growthbook.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/archive/geonode/templates/geonode-pvc.yaml:
--------------------------------------------------------------------------------
1 | # PVC for mariadb and nextcloud disk
2 | apiVersion: v1
3 | kind: PersistentVolumeClaim
4 | metadata:
5 | name: {{ .Release.Name }}-geonode
6 | namespace: {{ .Release.Namespace }}
7 | spec:
8 | accessModes:
9 | - ReadWriteOnce
10 | storageClassName: {{ .Values.global.storageClass }}
11 | resources:
12 | requests:
13 | storage: {{ .Values.general.storageSize }}
14 |
--------------------------------------------------------------------------------
/charts/mautic/templates/pvc.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.volume.enabled }}
2 | kind: PersistentVolumeClaim
3 | apiVersion: v1
4 | metadata:
5 | name: {{ include "mautic.name" .}}-var-www-html
6 | namespace: {{ .Release.Namespace }}
7 | labels:
8 | app.kubernetes.io/name: {{ include "mautic.name" . }}
9 | app.kubernetes.io/instance: {{ .Release.Name }}
10 | spec:
11 | {{- toYaml .Values.volume.spec | nindent 2 }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/kutt/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "kutt.fullname" . }}
5 | labels:
6 | {{- include "kutt.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - port: {{ .Values.service.port }}
11 | targetPort: http
12 | protocol: TCP
13 | name: http
14 | selector:
15 | {{- include "kutt.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/charts/apicurio/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *~
18 | # Various IDEs
19 | .project
20 | .idea/
21 | *.tmproj
22 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "oaf-odoo-data-migration.serviceAccountName" . }}
6 | labels:
7 | {{- include "oaf-odoo-data-migration.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/sydent/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "sydent.fullname" . }}
5 | labels:
6 | {{- include "sydent.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - port: {{ .Values.service.port }}
11 | targetPort: http
12 | protocol: TCP
13 | name: http
14 | selector:
15 | {{- include "sydent.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/archive/geonode/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *~
18 | # Various IDEs
19 | .project
20 | .idea/
21 | *.tmproj
22 | .vscode/
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: oaf-odoo-data-migration
3 | description: A Helm chart for OAF Odoo Data Migration application
4 | type: application
5 | version: 0.1.1
6 | appVersion: "1.0.0"
7 | home: https://github.com/one-acre-fund/oaf-odoo-data-migration
8 | maintainers:
9 | - name: orchide
10 | email: orchide.irakoze@oneacrefund.org
11 | keywords:
12 | - odoo
13 | - data-migration
14 | - excel
15 | - xmlrpc
16 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "pgbouncer.serviceAccountName" . }}
6 | namespace: {{ .Release.Namespace }}
7 | labels:
8 | {{- include "pgbouncer.labels" . | nindent 4 }}
9 | {{- with .Values.serviceAccount.annotations }}
10 | annotations:
11 | {{- toYaml . | nindent 4 }}
12 | {{- end }}
13 | {{- end }}
14 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *~
18 | # Various IDEs
19 | .project
20 | .idea/
21 | *.tmproj
22 | .vscode/
23 |
--------------------------------------------------------------------------------
/charts/kutt/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *.orig
18 | *~
19 | # Various IDEs
20 | .project
21 | .idea/
22 | *.tmproj
23 | .vscode/
24 |
--------------------------------------------------------------------------------
/charts/n8n/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *.orig
18 | *~
19 | # Various IDEs
20 | .project
21 | .idea/
22 | *.tmproj
23 | .vscode/
24 |
--------------------------------------------------------------------------------
/archive/geonode/templates/geonode-svc.yaml:
--------------------------------------------------------------------------------
1 | # Load-balancer for SGW
2 | kind: Service
3 | apiVersion: v1
4 | metadata:
5 | name: {{ .Release.Name }}-geonode
6 | namespace: {{ .Release.Namespace }}
7 | spec:
8 | selector:
9 | org.geonode.instance: {{ .Release.Name }}-geonode
10 | ports:
11 | - targetPort: 80
12 | port: 80
13 | name: www
14 | - targetPort: 8080
15 | port: 8080
16 | name: geoserver
17 | type: {{ .Values.general.serviceType }}
18 |
--------------------------------------------------------------------------------
/charts/nocodb/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *.orig
18 | *~
19 | # Various IDEs
20 | .project
21 | .idea/
22 | *.tmproj
23 | .vscode/
24 |
--------------------------------------------------------------------------------
/charts/sydent/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *.orig
18 | *~
19 | # Various IDEs
20 | .project
21 | .idea/
22 | *.tmproj
23 | .vscode/
24 |
--------------------------------------------------------------------------------
/charts/kutt/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "kutt.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "kutt.labels" . | nindent 4 }}
7 | annotations:
8 | "helm.sh/hook": test
9 | spec:
10 | containers:
11 | - name: wget
12 | image: busybox
13 | command: ['wget']
14 | args: ['{{ include "kutt.fullname" . }}:{{ .Values.service.port }}']
15 | restartPolicy: Never
16 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *.orig
18 | *~
19 | # Various IDEs
20 | .project
21 | .idea/
22 | *.tmproj
23 | .vscode/
24 |
--------------------------------------------------------------------------------
/charts/sydent/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "sydent.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "sydent.labels" . | nindent 4 }}
7 | annotations:
8 | "helm.sh/hook": test
9 | spec:
10 | containers:
11 | - name: wget
12 | image: busybox
13 | command: ['wget']
14 | args: ['{{ include "sydent.fullname" . }}:{{ .Values.service.port }}']
15 | restartPolicy: Never
16 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "uptime-wrapper.fullname" . }}
5 | labels:
6 | {{- include "uptime-wrapper.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - port: {{ .Values.service.port }}
11 | targetPort: http
12 | protocol: TCP
13 | name: http
14 | selector:
15 | {{- include "uptime-wrapper.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/kobo-conf.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ .Release.Name }}-kobo
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | kpi_uwsgi.ini: |
8 | {{ tpl .Values.kpi.uwsgi_conf . | nindent 5 }}
9 | kc_uwsgi.ini: |
10 | {{ tpl .Values.kobocat.uwsgi_conf . | nindent 5 }}
11 | # Dummy script to drop in place of various init scripts to disable...
12 | empty_script: |
13 | #!/bin/bash
14 | echo "Skipping $0 $@"
15 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "pgbouncer.fullname" . }}-test-connection"
5 | labels:
6 | {{ include "pgbouncer.labels" . | indent 4 }}
7 | annotations:
8 | "helm.sh/hook": test-success
9 | spec:
10 | containers:
11 | - name: wget
12 | image: busybox
13 | command: ['wget']
14 | args: ['{{ include "pgbouncer.fullname" . }}:{{ .Values.service.port }}']
15 | restartPolicy: Never
16 |
--------------------------------------------------------------------------------
/charts/mautic/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "mautic.fullname" . }}
5 | labels:
6 | {{ include "mautic.labels" . | indent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - port: {{ .Values.service.port }}
11 | targetPort: 80
12 | protocol: TCP
13 | name: http
14 | selector:
15 | app.kubernetes.io/name: {{ include "mautic.name" . }}
16 | app.kubernetes.io/instance: {{ .Release.Name }}
17 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "uptime-wrapper.serviceAccountName" . }}
6 | labels:
7 | {{- include "uptime-wrapper.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | automountServiceAccountToken: {{ .Values.serviceAccount.automount }}
13 | {{- end }}
14 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "oaf-odoo-data-migration.fullname" . }}
5 | labels:
6 | {{- include "oaf-odoo-data-migration.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - port: {{ .Values.service.port }}
11 | targetPort: http
12 | protocol: TCP
13 | name: http
14 | selector:
15 | {{- include "oaf-odoo-data-migration.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "uptime-wrapper.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "uptime-wrapper.labels" . | nindent 4 }}
7 | annotations:
8 | "helm.sh/hook": test
9 | spec:
10 | containers:
11 | - name: wget
12 | image: busybox
13 | command: ['wget']
14 | args: ['{{ include "uptime-wrapper.fullname" . }}:{{ .Values.service.port }}']
15 | restartPolicy: Never
16 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "pgbouncer.fullname" . }}
5 | namespace: {{ .Release.Namespace }}
6 | labels:
7 | {{- include "pgbouncer.labels" . | nindent 4 }}
8 | spec:
9 | type: {{ .Values.service.type }}
10 | ports:
11 | - port: {{ .Values.service.port }}
12 | targetPort: {{ .Values.service.port }}
13 | protocol: TCP
14 | name: pgbouncer
15 | selector:
16 | {{- include "pgbouncer.selectorLabels" . | nindent 4 }}
17 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/templates/secret.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.odoo.useSecret }}
2 | apiVersion: v1
3 | kind: Secret
4 | metadata:
5 | name: {{ include "oaf-odoo-data-migration.fullname" . }}-secrets
6 | labels:
7 | {{- include "oaf-odoo-data-migration.labels" . | nindent 4 }}
8 | type: Opaque
9 | data:
10 | odoo-url: {{ .Values.odoo.url | b64enc }}
11 | odoo-database: {{ .Values.odoo.database | b64enc }}
12 | odoo-username: {{ .Values.odoo.username | b64enc }}
13 | odoo-password: {{ .Values.odoo.password | b64enc }}
14 | {{- end }}
15 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/secret.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ .Release.Name }}-pgbouncer-secret
5 | namespace: {{ .Release.Namespace }}
6 | labels:
7 | {{- include "pgbouncer.labels" . | nindent 4 }}
8 | type: Opaque
9 | data:
10 | POSTGRESQL_PASSWORD: {{ .Values.pgbouncer.password | b64enc | quote }}
11 | {{- if .Values.extraSecretConfigs }}
12 | {{- range $key, $value := .Values.extraSecretConfigs }}
13 | {{ $key }}: {{ $value | b64enc | quote }}
14 | {{- end }}
15 | {{- end }}
16 |
--------------------------------------------------------------------------------
/charts/n8n/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "n8n.fullname" . }}
5 | labels:
6 | {{- include "n8n.labels" . | nindent 4 }}
7 | {{- with .Values.service.annotations }}
8 | annotations:
9 | {{- toYaml . | nindent 4 }}
10 | {{- end }}
11 | spec:
12 | type: {{ .Values.service.type }}
13 | ports:
14 | - port: {{ .Values.service.port }}
15 | targetPort: http
16 | protocol: TCP
17 | name: http
18 | selector:
19 | {{- include "n8n.selectorLabels" . | nindent 4 }}
--------------------------------------------------------------------------------
/charts/kobotoolbox/Chart.lock:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: redis
3 | repository: https://charts.bitnami.com/bitnami
4 | version: 16.12.3
5 | - name: redis
6 | repository: https://charts.bitnami.com/bitnami
7 | version: 16.12.3
8 | - name: postgresql
9 | repository: https://charts.bitnami.com/bitnami
10 | version: 11.9.13
11 | - name: mongodb
12 | repository: https://charts.bitnami.com/bitnami
13 | version: 12.1.31
14 | digest: sha256:382b5056978bcf1e18d1d5cd444fa68ca6bc8ac0ca3631f568af835e5ec75500
15 | generated: "2023-01-07T22:14:18.421286+03:00"
16 |
--------------------------------------------------------------------------------
/archive/metabase/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{- define "secrets" -}}
2 | db-password: {{ .Values.postgresql.postgresqlPassword | b64enc }}
3 | {{- end -}}
4 |
5 | {{- define "dbHost" -}}
6 | {{ coalesce .Values.postgresql.host ( print .Release.Name "-postgresql." .Release.Namespace ".svc" ) }}
7 | {{- end -}}
8 |
9 | {{- define "dbUrl" -}}
10 | {{ printf "postgresql://%s:%s@%s:%s/%s" .Values.postgresql.postgresqlUsername .Values.postgresql.postgresqlPassword (include "dbHost" .) ( toString .Values.postgresql.service.port ) .Values.postgresql.postgresqlDatabase }}
11 | {{- end -}}
12 |
--------------------------------------------------------------------------------
/charts/nocodb/Chart.lock:
--------------------------------------------------------------------------------
1 | dependencies:
2 | - name: postgresql
3 | repository: oci://registry-1.docker.io/bitnamicharts
4 | version: 16.0.1
5 | - name: redis
6 | repository: oci://registry-1.docker.io/bitnamicharts
7 | version: 20.2.1
8 | - name: minio
9 | repository: oci://registry-1.docker.io/bitnamicharts
10 | version: 14.7.15
11 | - name: common
12 | repository: oci://registry-1.docker.io/bitnamicharts
13 | version: 2.24.0
14 | digest: sha256:095c8a46cf7ecfb015a77c6291d8fc4532f3a2f42118168ce56a31f140986183
15 | generated: "2024-10-16T06:52:03.1265937+03:00"
16 |
--------------------------------------------------------------------------------
/charts/n8n/templates/secret.yaml:
--------------------------------------------------------------------------------
1 | {{- if or .Values.secret .Values.n8n.encryption_key }}
2 | apiVersion: v1
3 | kind: Secret
4 | metadata:
5 | name: {{ include "n8n.fullname" . }}
6 | labels:
7 | {{- include "n8n.labels" . | nindent 4 }}
8 | data:
9 | secret.json: {{ .Values.secret | toPrettyJson | b64enc }}
10 | {{- if .Values.n8n.encryption_key }}
11 | N8N_ENCRYPTION_KEY: {{ .Values.n8n.encryption_key | b64enc }}
12 | {{- end }}
13 |
14 | {{- range $key, $value := .Values.extraSecretEnv }}
15 | {{ $key }}: {{ $value | b64enc }}
16 | {{- end }}
17 | {{- end }}
18 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/conf.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ .Release.Name }}-conf
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | admin.py: |
8 | ADMIN_USERNAME = env("ADMIN_USERNAME", default="admin")
9 | ADMIN_EMAIL = env("ADMIN_EMAIL", default="admin@example.com")
10 | ADMIN_INITIAL_PASSWORD = env("ADMIN_INITIAL_PASSWORD", default="password")
11 | {{- if .Values.flagsmith.extraConf }}
12 | extra-conf.py: |
13 | {{ .Values.flagsmith.extraConf | nindent 4 }}
14 | {{- end -}}
15 |
--------------------------------------------------------------------------------
/charts/growthbook/templates/configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | data:
3 | livenessprobe-exec.sh: |
4 | #!/bin/bash
5 | CURL_HTTP=$(curl -s -o /dev/null -w "%{http_code}" -XPOST http://localhost:3100/auth/refresh)
6 | CURL_EXIT=$?
7 | if [ $CURL_EXIT -eq 0 ] && [ $CURL_HTTP -eq 200 ]; then
8 | echo "Liveness check probe OK"
9 | exit 0
10 | else
11 | echo "Liveness check probe ERROR - curl exit code $CURL_EXIT, API HTTP code $CURL_HTTP"
12 | exit 1
13 | fi
14 |
15 | kind: ConfigMap
16 | metadata:
17 | name: {{ include "growthbook.fullname" . }}-livenessprobe-exec
--------------------------------------------------------------------------------
/charts/growthbook/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "growthbook.fullname" . }}
5 | labels:
6 | {{- include "growthbook.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - port: {{ .Values.port.frontendPort }}
11 | targetPort: 3000
12 | protocol: TCP
13 | name: frontend-port
14 | - port: {{ .Values.port.backendPort }}
15 | targetPort: 3100
16 | protocol: TCP
17 | name: backend-port
18 | selector:
19 | {{- include "growthbook.selectorLabels" . | nindent 4 }}
20 |
--------------------------------------------------------------------------------
/archive/geonode/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR;
15 |
16 | ```console
17 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
18 | $ helm install my-release one-acre-fund/geonode
19 | ```
20 |
21 | {{ template "chart.requirementsSection" . }}
22 |
23 | {{ template "chart.valuesSection" . }}
--------------------------------------------------------------------------------
/archive/metabase/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: metabase
3 | version: 0.1.11
4 | description: Metabase with postgres persistence and plugins support
5 | home: https://www.metabase.com/
6 | icon: https://avatars.githubusercontent.com/u/10520629?s=400&v=4
7 | keywords:
8 | - bi
9 | - analytics
10 | maintainers:
11 | - name: Yann-J
12 | email: yann.jouanique@gmail.com
13 | sources:
14 | - https://github.com/one-acre-fund/oaf-public-charts/tree/main/charts/metabase
15 | dependencies:
16 | - name: postgresql
17 | version: ~11.6.6
18 | repository: https://charts.bitnami.com/bitnami
19 | condition: postgresql.enabled
20 |
--------------------------------------------------------------------------------
/archive/metabase/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR;
15 |
16 | ```console
17 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
18 | $ helm install my-release one-acre-fund/metabase
19 | ```
20 |
21 | {{ template "chart.requirementsSection" . }}
22 |
23 | {{ template "chart.valuesSection" . }}
--------------------------------------------------------------------------------
/archive/metabase/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | apiVersion: extensions/v1beta1
3 | kind: Ingress
4 | metadata:
5 | name: {{ .Release.Name }}-metabase
6 | namespace: {{ .Release.Namespace }}
7 | annotations:
8 | {{- .Values.ingress.annotations | toYaml | nindent 4 }}
9 | spec:
10 | rules:
11 | - host: {{ .Values.ingress.domain }}
12 | http:
13 | paths:
14 | - backend:
15 | serviceName: {{ .Release.Name }}-metabase
16 | servicePort: 3000
17 | path: /
18 | pathType: Prefix
19 | tls:
20 | {{ .Values.ingress.tls | toYaml | nindent 2 }}
21 | {{- end -}}
22 |
--------------------------------------------------------------------------------
/charts/flagsmith/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR;
15 |
16 | ```console
17 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
18 | $ helm install my-release one-acre-fund/flagsmith
19 | ```
20 |
21 | {{ template "chart.requirementsSection" . }}
22 |
23 | {{ template "chart.valuesSection" . }}
--------------------------------------------------------------------------------
/charts/apicurio/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: apicurio
3 | version: 1.0.15
4 | description: Apicurio Studio API designer
5 | icon: https://avatars.githubusercontent.com/u/28107283?s=400&v=4
6 | type: application
7 | keywords:
8 | - api
9 | home: http://www.apicur.io/
10 | sources:
11 | - https://github.com/Apicurio/apicurio-studio
12 | - https://github.com/one-acre-fund/oaf-public-charts/tree/main/charts/apicurio
13 | maintainers:
14 | - name: Yann-J
15 | email: yann.jouanique@gmail.com
16 | dependencies:
17 | - name: postgresql
18 | version: ~11.6.6
19 | repository: https://charts.bitnami.com/bitnami
20 | condition: postgresql.enabled
21 |
--------------------------------------------------------------------------------
/charts/nocodb/templates/configmap.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.extraEnv -}}
2 | apiVersion: v1
3 | kind: ConfigMap
4 | metadata:
5 | name: {{ include "nocodb.fullname" . }}-config
6 | namespace: {{ .Release.Namespace | quote }}
7 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
8 | {{- if .Values.commonAnnotations }}
9 | annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
10 | {{- end }}
11 | data:
12 | {{- range $key, $val := .Values.extraEnv }}
13 | {{ $key }}: {{ $val | quote }}
14 | {{- end }}
15 | {{- end }}
--------------------------------------------------------------------------------
/charts/nocodb/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "nocodb.fullname" . }}-test-connection"
5 | namespace: {{ .Release.Namespace | quote }}
6 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
7 | annotations:
8 | "helm.sh/hook": post-install,post-upgrade
9 | "helm.sh/hook-delete-policy": hook-succeeded
10 | spec:
11 | containers:
12 | - name: wget
13 | image: busybox
14 | command: ['wget']
15 | args: ['{{ include "nocodb.fullname" . }}:{{ .Values.service.ports.http }}/api/v1/health']
16 | restartPolicy: Never
17 |
--------------------------------------------------------------------------------
/charts/apicurio/templates/apicurio-studio-secrets.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ .Release.Name }}-api
5 | namespace: {{ .Release.Namespace }}
6 | type: Opaque
7 | data:
8 | {{- include "secrets_api" . | nindent 2 }}
9 | ---
10 | apiVersion: v1
11 | kind: Secret
12 | metadata:
13 | name: {{ .Release.Name }}-ui
14 | namespace: {{ .Release.Namespace }}
15 | type: Opaque
16 | data:
17 | {{- include "secrets_ui" . | nindent 2 }}
18 | ---
19 | apiVersion: v1
20 | kind: Secret
21 | metadata:
22 | name: {{ .Release.Name }}-ws
23 | namespace: {{ .Release.Namespace }}
24 | type: Opaque
25 | data:
26 | {{- include "secrets_ws" . | nindent 2 }}
27 |
--------------------------------------------------------------------------------
/charts/flagsmith/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: flagsmith
3 | version: 0.1.5
4 | description: Flagsmith - a Feature flag and remote configuration solution
5 | type: application
6 | icon: https://avatars.githubusercontent.com/u/58150233?s=400&v=4
7 | home: https://flagsmith.com/
8 | keywords:
9 | - feature-flags
10 | - remote-config
11 | sources:
12 | - https://github.com/one-acre-fund/oaf-public-charts/tree/main/charts/flagsmith
13 | maintainers:
14 | - name: Yann-J
15 | email: yann.jouanique@gmail.com
16 | dependencies:
17 | - name: postgresql
18 | version: ~11.6.6
19 | repository: https://charts.bitnami.com/bitnami
20 | condition: postgresql.enabled
21 |
--------------------------------------------------------------------------------
/charts/mautic/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | appVersion: "v4-apache"
3 | description: A Helm chart for Mautic, a marketing automation tool
4 | name: mautic
5 | version: 0.1.7
6 | icon: https://secure.gravatar.com/avatar/a946d764bc1e4a7a39664099febfc9b2.png?s=400
7 | home: https://www.mautic.org/
8 | keywords:
9 | - marketing
10 | - mautic
11 | - crm
12 | sources:
13 | - https://github.com/one-acre-fund/oaf-public-charts/tree/main/charts/mautic
14 | maintainers:
15 | - name: Yann-J
16 | email: yann.jouanique@gmail.com
17 | dependencies:
18 | - name: mariadb
19 | version: ~11.4.6
20 | repository: https://charts.bitnami.com/bitnami
21 | condition: mariadb.enabled
22 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/kobo-pvc.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.general.mediaStorage.enabled -}}
2 | # PVC for media uploads
3 | apiVersion: v1
4 | kind: PersistentVolumeClaim
5 | metadata:
6 | name: {{ .Release.Name }}-kobo-media
7 | namespace: {{ .Release.Namespace }}
8 | spec:
9 | accessModes:
10 | - {{ .Values.general.mediaStorage.accessMode }}
11 | {{- if coalesce .Values.general.mediaStorage.storageClass .Values.global.storageClass }}
12 | storageClassName: {{ coalesce .Values.general.mediaStorage.storageClass .Values.global.storageClass | quote }}
13 | {{- end }}
14 | resources:
15 | requests:
16 | storage: {{ .Values.general.mediaStorage.size }}
17 | {{- end -}}
18 |
--------------------------------------------------------------------------------
/charts/pgbouncer/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: pgbouncer
3 | description: A Helm chart for deploying bitnami/pgbouncer with TLS encryption
4 | version: 0.1.8
5 | appVersion: 1.19.1
6 | type: application
7 | maintainers:
8 | - name: Rahma
9 | email: rahma.ahmed@oneacrefund.org
10 | url: https://github.com/samaroon
11 | icon: https://bitnami.com/assets/stacks/pgbouncer/img/pgbouncer-stack-220x234.png
12 | keywords:
13 | - pgbouncer
14 | - bitnami
15 | - PostgreSQL
16 | - database
17 | - TLS
18 | home: https://github.com/one-acre-fund/oaf-public-charts
19 | sources:
20 | - https://github.com/one-acre-fund/oaf-public-charts
21 | - https://bitnami.com/stack/pgbouncer
22 |
--------------------------------------------------------------------------------
/charts/nocodb/templates/secrets.yaml:
--------------------------------------------------------------------------------
1 | {{- if and .Values.extraEnvSecrets }}
2 | apiVersion: v1
3 | kind: Secret
4 | metadata:
5 | name: {{ include "nocodb.fullname" . }}-secrets
6 | namespace: {{ .Release.Namespace | quote }}
7 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
8 | {{- if .Values.commonAnnotations }}
9 | annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
10 | {{- end }}
11 | type: Opaque
12 | data:
13 | {{- range $key, $val := .Values.extraEnvSecrets }}
14 | {{ $key }}: {{ $val | b64enc }}
15 | {{- end }}
16 | {{- end }}
17 |
--------------------------------------------------------------------------------
/charts/n8n/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR
15 |
16 | [n8n](https://www.n8n.io/) is a fair-source API automation platform.
17 |
18 | ```console
19 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
20 | $ helm install my-release one-acre-fund/n8n
21 | ```
22 |
23 | {{ template "chart.requirementsSection" . }}
24 |
25 | {{ template "chart.valuesSection" . }}
26 |
--------------------------------------------------------------------------------
/charts/pgbouncer/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | # PgBouncer
2 |
3 | {{ template "chart.versionBadge" . }}
4 | {{ template "chart.typeBadge" . }}
5 | {{ template "chart.appVersionBadge" . }}
6 |
7 | {{ template "chart.description" . }}
8 |
9 | {{ template "chart.homepageLine" . }}
10 |
11 | {{ template "chart.maintainersSection" . }}
12 |
13 | {{ template "chart.sourcesSection" . }}
14 |
15 | ## TL;DR
16 |
17 | [pgbouncer](https://www.pgbouncer.org/) is a lightweight connection pooler for PostgreSQL.
18 |
19 | ```console
20 | helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
21 | helm install pgbouncer one-acre-fund/pgbouncer
22 | ```
23 |
24 | {{ template "chart.valuesSection" . }}
25 |
--------------------------------------------------------------------------------
/charts/nocodb/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.versionBadge" . }}
3 | {{ template "chart.appVersionBadge" . }}
4 |
5 | {{ template "chart.description" . }}
6 |
7 | {{ template "chart.maintainersSection" . }}
8 |
9 | {{ template "chart.sourcesSection" . }}
10 |
11 | ## TL;DR
12 |
13 | [nocodb](https://www.nocodb.com/) is an open source no-code platform to build and manage your data-driven applications.
14 |
15 | ```console
16 | helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
17 | helm install my-release one-acre-fund/nocodb
18 | ```
19 |
20 | {{ template "chart.requirementsSection" . }}
21 |
22 | {{ template "chart.valuesSection" . }}
23 |
--------------------------------------------------------------------------------
/charts/kutt/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR
15 |
16 | [Kutt](https://github.com/thedevs-network/kutt) is an open-source URL Shortening service.
17 |
18 | ```console
19 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
20 | $ helm install my-release one-acre-fund/kutt
21 | ```
22 |
23 | {{ template "chart.requirementsSection" . }}
24 |
25 | {{ template "chart.valuesSection" . }}
26 |
--------------------------------------------------------------------------------
/charts/mautic/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR
15 |
16 | [Mautic](https://www.mautic.org/) is an open-source marketing campaign automation tool.
17 |
18 | ```console
19 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
20 | $ helm install my-release one-acre-fund/mautic
21 | ```
22 |
23 | {{ template "chart.requirementsSection" . }}
24 |
25 | {{ template "chart.valuesSection" . }}
26 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/tests/test-kobo-connections.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: {{ .Release.Name }}-test-kobo-connections
5 | annotations:
6 | "helm.sh/hook": test-success
7 | spec:
8 | containers:
9 | - image: jwilder/dockerize
10 | imagePullPolicy: IfNotPresent
11 | name: test-connections
12 | args:
13 | - -timeout=5m
14 | # Postgres
15 | - -wait=tcp://{{ .Release.Name }}-postgresql:5432
16 | # Mongodb
17 | - -wait=tcp://{{ .Release.Name }}-mongodb:27017
18 | # Nginx
19 | - -wait=http://{{ .Release.Name }}-kobo/
20 | # Enketo
21 | - -wait=http://{{ .Release.Name }}-enketo:8005/
22 | restartPolicy: Never
23 |
--------------------------------------------------------------------------------
/archive/metabase/templates/tests/test.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: {{ .Release.Name }}-test
5 | namespace: {{ .Release.Namespace }}
6 | annotations:
7 | "helm.sh/hook": test-success
8 | # "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
9 | spec:
10 | restartPolicy: Never
11 | containers:
12 | - name: {{ .Release.Name }}-test-http
13 | # Test published services - change this to reflect your endpoints
14 | image: blacktop/httpie
15 | imagePullPolicy: IfNotPresent
16 | command:
17 | - sh
18 | - -ce
19 | - |
20 | http --ignore-stdin --check-status --print hb "http://{{ .Release.Name }}-metabase.{{ .Release.Namespace }}.svc:3000/api/health"
21 |
--------------------------------------------------------------------------------
/archive/geonode/templates/tests/test-geonode.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: {{ .Release.Name }}-test-geonode
5 | annotations:
6 | "helm.sh/hook": test-success
7 | spec:
8 | containers:
9 | - image: jwilder/dockerize
10 | imagePullPolicy: IfNotPresent
11 | name: test-connections
12 | args:
13 | - -timeout=20m
14 | # Postgres
15 | - -wait=tcp://{{ include "database_host" .}}
16 | # RabbitMQ
17 | - -wait=tcp://{{ include "rabbit_host" .}}
18 | # Nginx
19 | - -wait=http://{{ .Release.Name }}-geonode/static/geonode/img/favicon.ico
20 | # Geoserver
21 | - -wait=http://{{ .Release.Name }}-geonode/geoserver
22 | restartPolicy: Never
23 |
--------------------------------------------------------------------------------
/charts/growthbook/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR;
15 |
16 | [GrowthBook](https://www.growthbook.io/) is an open-source remote configuration / activation flag service.
17 |
18 | ```console
19 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
20 | $ helm install my-release one-acre-fund/growthbook
21 | ```
22 |
23 | {{ template "chart.requirementsSection" . }}
24 |
25 | {{ template "chart.valuesSection" . }}
26 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/kobo-svc.yaml:
--------------------------------------------------------------------------------
1 | # Load-balancer for SGW
2 | kind: Service
3 | apiVersion: v1
4 | metadata:
5 | name: {{ .Release.Name }}-kobo
6 | namespace: {{ .Release.Namespace }}
7 | spec:
8 | selector:
9 | org.kobotoolbox.instance: {{ .Release.Name }}-kobo
10 | ports:
11 | - targetPort: 80
12 | port: 80
13 | name: www
14 | - targetPort: 8003
15 | port: 8003
16 | name: kpi
17 | - targetPort: 8001
18 | port: 8001
19 | name: kobocat
20 | {{- if .Values.uwsgiExporter.enabled }}
21 | - targetPort: 1717
22 | port: 1717
23 | name: kc-metrics
24 | - targetPort: 1818
25 | port: 1818
26 | name: kpi-metrics
27 | {{- end }}
28 | type: {{ .Values.general.serviceType }}
29 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR;
15 |
16 | [KoboToolbox](https://www.kobotoolbox.org/) is an open-source field data collection tool optimised to build offline form-based apps.
17 |
18 | ```console
19 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
20 | $ helm install my-release one-acre-fund/kobotoolbox
21 | ```
22 |
23 | {{ template "chart.requirementsSection" . }}
24 |
25 | {{ template "chart.valuesSection" . }}
26 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/templates/pvc.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.persistence.enabled }}
2 | {{- if not .Values.persistence.existingClaim }}
3 | apiVersion: v1
4 | kind: PersistentVolumeClaim
5 | metadata:
6 | name: {{ include "oaf-odoo-data-migration.fullname" . }}-pvc
7 | labels:
8 | {{- include "oaf-odoo-data-migration.labels" . | nindent 4 }}
9 | spec:
10 | accessModes:
11 | - {{ .Values.persistence.accessMode }}
12 | resources:
13 | requests:
14 | storage: {{ .Values.persistence.size }}
15 | {{- if .Values.persistence.storageClass }}
16 | {{- if (eq "-" .Values.persistence.storageClass) }}
17 | storageClassName: ""
18 | {{- else }}
19 | storageClassName: {{ .Values.persistence.storageClass }}
20 | {{- end }}
21 | {{- end }}
22 | {{- end }}
23 | {{- end }}
24 |
--------------------------------------------------------------------------------
/archive/geonode/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: geonode
3 | version: 0.1.16
4 | type: application
5 | description: Geonode - a CMS for Geospatial data
6 | icon: https://pbs.twimg.com/profile_images/1221883359/geonode_400x400.png
7 | home: https://geonode.org/
8 | keywords:
9 | - geospatial
10 | - gis
11 | - cms
12 | - maps
13 | sources:
14 | - https://github.com/one-acre-fund/oaf-public-charts/tree/main/charts/geonode
15 | maintainers:
16 | - name: Yann-J
17 | email: yann.jouanique@gmail.com
18 | dependencies:
19 | - name: postgresql
20 | version: ~10.1.2
21 | repository: https://charts.bitnami.com/bitnami
22 | condition: postgresql.enabled
23 | - name: rabbitmq
24 | version: ~8.6.0
25 | repository: https://charts.bitnami.com/bitnami
26 | condition: rabbitmq.enabled
27 |
--------------------------------------------------------------------------------
/charts/apicurio/templates/tests/test-connections.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: {{ .Release.Name }}-test-apicurio-connections
5 | annotations:
6 | "helm.sh/hook": test-success
7 | spec:
8 | containers:
9 | # TODO: find better API-level tests...
10 | - image: jwilder/dockerize
11 | imagePullPolicy: IfNotPresent
12 | name: test-connections
13 | args:
14 | - -timeout=5m
15 | # Postgres
16 | - -wait=tcp://{{ include "dbHost" . }}:{{ .Values.postgresql.service.port }}
17 | # API
18 | - -wait=http://{{ .Release.Name }}-api:8080/system/ready
19 | # UI
20 | - -wait=http://{{ .Release.Name }}-ui:8080/ready
21 | # WS
22 | - -wait=http://{{ .Release.Name }}-ws:8080/metrics
23 | restartPolicy: Never
24 |
--------------------------------------------------------------------------------
/charts/growthbook/templates/pvc.yaml:
--------------------------------------------------------------------------------
1 | {{- if and .Values.growthbook.persistence.enabled (not .Values.growthbook.persistence.existingClaim) }}
2 | apiVersion: v1
3 | kind: PersistentVolumeClaim
4 | metadata:
5 | name: {{ include "growthbook.fullname" . }}
6 | spec:
7 | accessModes:
8 | {{- range .Values.growthbook.persistence.accessModes }}
9 | - {{ . | quote }}
10 | {{- end }}
11 | {{- if .Values.growthbook.persistence.storageClass }}
12 | {{- if eq "-" .Values.growthbook.persistence.storageClassName }}
13 | storageClassName: ""
14 | {{- else }}
15 | storageClassName: {{ .Values.growthbook.persistence.storageClassName }}
16 | {{- end }}
17 | {{- end }}
18 | volumeMode: Filesystem
19 | resources:
20 | requests:
21 | storage: {{ .Values.growthbook.persistence.storage }}
22 | {{- end }}
--------------------------------------------------------------------------------
/charts/nocodb/templates/smtp-secret.yaml:
--------------------------------------------------------------------------------
1 | {{- if not (or .Values.smtp.enabled .Values.smtp.existingSecret) }}
2 | apiVersion: v1
3 | kind: Secret
4 | metadata:
5 | name: {{ include "nocodb.smtp.secretName" . }}
6 | namespace: {{ .Release.Namespace | quote }}
7 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
8 | {{- if .Values.commonAnnotations }}
9 | annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
10 | {{- end }}
11 | type: Opaque
12 | data:
13 | {{ include "nocodb.smtp.secretUsernameKey" . }}: {{ .Values.smtp.username | b64enc | quote }}
14 | {{ include "nocodb.smtp.secretPasswordKey" . }}: {{ .Values.smtp.password | b64enc | quote }}
15 | {{- end }}
16 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/tests/test.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.tests.enabled -}}
2 | apiVersion: v1
3 | kind: Pod
4 | metadata:
5 | name: {{ .Release.Name }}-test
6 | namespace: {{ .Release.Namespace }}
7 | annotations:
8 | "helm.sh/hook": test-success
9 | # "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
10 | spec:
11 | restartPolicy: Never
12 | containers:
13 | - name: test-http
14 | image: blacktop/httpie
15 | imagePullPolicy: IfNotPresent
16 | command:
17 | - sh
18 | - -ce
19 | - |
20 | http --print bh --ignore-stdin --check-status "http://{{ .Release.Name }}-api.{{ .Release.Namespace }}.svc:8000/api/v1/"
21 | http --print h --ignore-stdin --check-status "http://{{ .Release.Name }}-frontend.{{ .Release.Namespace }}.svc:8080/"
22 | {{- end -}}
23 |
--------------------------------------------------------------------------------
/charts/nocodb/templates/admin-user-secert.yaml:
--------------------------------------------------------------------------------
1 | {{ if and .Values.admin.create (not (eq .Values.admin.email "")) (not (eq .Values.admin.password "")) }}
2 | apiVersion: v1
3 | kind: Secret
4 | metadata:
5 | name: {{ include "nocodb.admin.secretName" . }}
6 | namespace: {{ .Release.Namespace | quote }}
7 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
8 | {{- if .Values.commonAnnotations }}
9 | annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
10 | {{- end }}
11 | type: Opaque
12 | data:
13 | {{ include "nocodb.admin.emailKey" . }}: {{ .Values.admin.email | b64enc | quote }}
14 | {{ include "nocodb.admin.passwordKey" . }}: {{ .Values.admin.password | b64enc | quote }}
15 | {{- end }}
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/tests/test-kobo-api.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: {{ .Release.Name }}-test-kobo-api
5 | namespace: {{ .Release.Namespace }}
6 | annotations:
7 | "helm.sh/hook": test-success
8 | # "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
9 | spec:
10 | restartPolicy: Never
11 | containers:
12 | - name: test-http
13 | image: blacktop/httpie
14 | imagePullPolicy: IfNotPresent
15 | command:
16 | - sh
17 | - -ce
18 | - |
19 | http --ignore-stdin --check-status "http://{{ .Release.Name }}-kobo/api/v2/" Host:{{ .Values.kpi.subdomain }}.{{ include "internal_domain" . }}
20 | http --ignore-stdin --check-status "http://{{ .Release.Name }}-kobo/api/v1/" Host:{{ .Values.kobocat.subdomain }}.{{ include "internal_domain" . }}
21 |
--------------------------------------------------------------------------------
/archive/geonode/templates/geonode-secrets.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ .Release.Name }}-secrets
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | ADMIN_PASSWORD: {{ .Values.general.superUser.password | b64enc }}
8 | GEOSERVER_ADMIN_PASSWORD: {{ b64enc "geoserver" }}
9 | POSTGRES_PASSWORD: {{ .Values.postgresql.postgresqlPassword | b64enc }}
10 | GEONODE_DATABASE_PASSWORD: {{ .Values.postgresql.password | b64enc }}
11 | GEONODE_GEODATABASE_PASSWORD: {{ .Values.postgresql.password | b64enc }}
12 | BROKER_URL: {{ include "broker_url" . | b64enc }}
13 | DATABASE_URL: {{ include "database_geonode" . | b64enc }}
14 | GEODATABASE_URL: {{ include "database_geonode_data" . | b64enc }}
15 | {{- range $key, $val := .Values.geonode.extraSecretEnvs }}
16 | {{ $key }}: {{ b64enc $val }}
17 | {{- end }}
18 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/templates/configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ include "oaf-odoo-data-migration.fullname" . }}-config
5 | labels:
6 | {{- include "oaf-odoo-data-migration.labels" . | nindent 4 }}
7 | data:
8 | logging.conf: |
9 | [loggers]
10 | keys=root
11 |
12 | [handlers]
13 | keys=consoleHandler
14 |
15 | [formatters]
16 | keys=simpleFormatter
17 |
18 | [logger_root]
19 | level={{ .Values.logging.level | default "INFO" }}
20 | handlers=consoleHandler
21 |
22 | [handler_consoleHandler]
23 | class=StreamHandler
24 | level={{ .Values.logging.level | default "INFO" }}
25 | formatter=simpleFormatter
26 | args=(sys.stdout,)
27 |
28 | [formatter_simpleFormatter]
29 | format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
30 |
--------------------------------------------------------------------------------
/charts/growthbook/templates/secrets.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ include "growthbook.fullname" . }}
5 | labels:
6 | {{- include "growthbook.labels" . | nindent 4 }}
7 | type: Opaque
8 | data:
9 | MONGODB_URI: {{ include "growthbook.mongo.uri" . | b64enc | quote }}
10 | JWT_SECRET: {{ .Values.growthbook.jwtSecret | b64enc | quote }}
11 | ENCRYPTION_KEY: {{ .Values.growthbook.encryptionKey | b64enc | quote }}
12 | {{- if .Values.growthbook.email.enabled }}
13 | EMAIL_HOST_PASSWORD: {{ .Values.growthbook.email.hostPassword | b64enc | quote }}
14 | {{- end }}
15 | {{- if .Values.growthbook.sso.enabled }}
16 | LICENSE_KEY: {{ .Values.growthbook.sso.licenseKey | b64enc | quote }}
17 | {{- end }}
18 | stringData:
19 | {{- if .Values.growthbook.sso.enabled }}
20 | SSO_CONFIG: {{ .Values.growthbook.sso.ssoConfig | toJson | quote }}
21 | {{- end }}
--------------------------------------------------------------------------------
/charts/nocodb/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create }}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "nocodb.serviceAccountName" . }}
6 | namespace: {{ .Release.Namespace | quote }}
7 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
8 | {{- if or .Values.serviceAccount.annotations .Values.commonAnnotations }}
9 | {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.serviceAccount.annotations .Values.commonAnnotations ) "context" . ) }}
10 | annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }}
11 | {{- end }}
12 | automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
13 | secrets:
14 | - name: {{ include "common.names.fullname" . }}
15 | {{- end }}
16 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | apiVersion: extensions/v1beta1
3 | kind: Ingress
4 | metadata:
5 | name: {{ .Release.Name }}-flagsmith
6 | namespace: {{ .Release.Namespace }}
7 | annotations:
8 | {{- .Values.ingress.annotations | toYaml | nindent 4 }}
9 | spec:
10 | rules:
11 | - host: {{ .Values.flagsmith.externalURL.web.domain }}
12 | http:
13 | paths:
14 | - backend:
15 | serviceName: {{ .Release.Name }}-frontend
16 | servicePort: 8080
17 | path: /
18 | pathType: Prefix
19 | - host: {{ .Values.flagsmith.externalURL.api.domain }}
20 | http:
21 | paths:
22 | - backend:
23 | serviceName: {{ .Release.Name }}-api
24 | servicePort: 8000
25 | path: /
26 | pathType: Prefix
27 | tls:
28 | {{ .Values.ingress.tls | toYaml | nindent 2 }}
29 | {{- end -}}
30 |
--------------------------------------------------------------------------------
/charts/n8n/templates/pvc.yaml:
--------------------------------------------------------------------------------
1 | {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
2 | apiVersion: v1
3 | kind: PersistentVolumeClaim
4 | metadata:
5 | name: {{ include "n8n.fullname" . }}
6 | {{- with .Values.persistence.annotations }}
7 | annotations:
8 | {{- range $key, $value := . }}
9 | {{ $key }}: {{ $value }}
10 | {{- end }}
11 | {{- end }}
12 | labels:
13 | {{- include "n8n.labels" . | nindent 4 }}
14 | spec:
15 | accessModes:
16 | {{- range .Values.persistence.accessModes }}
17 | - {{ . | quote }}
18 | {{- end }}
19 | resources:
20 | requests:
21 | storage: {{ .Values.persistence.size }}
22 | {{- if .Values.persistence.storageClass }}
23 | {{- if eq "-" .Values.persistence.storageClass }}
24 | storageClassName: ""
25 | {{- else }}
26 | storageClassName: {{ .Values.persistence.storageClass }}
27 | {{- end }}
28 | {{- end }}
29 | {{- end }}
--------------------------------------------------------------------------------
/archive/geonode/templates/geonode-ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | apiVersion: networking.k8s.io/v1beta1
3 | kind: Ingress
4 | metadata:
5 | name: {{ .Release.Name }}-geonode
6 | namespace: {{ .Release.Namespace }}
7 | {{- with .Values.ingress.annotations }}
8 | annotations:
9 | {{- toYaml . | nindent 4 }}
10 | {{- end }}
11 | spec:
12 | {{- if .Values.ingress.tls }}
13 | tls:
14 | {{- range .Values.ingress.tls }}
15 | - hosts:
16 | {{- range .hosts }}
17 | - {{ . | quote }}
18 | {{- end }}
19 | secretName: {{ .secretName }}
20 | {{- end }}
21 | {{- end }}
22 | rules:
23 | {{- range .Values.ingress.hosts }}
24 | - host: {{ .host | quote }}
25 | http:
26 | paths:
27 | {{- range .paths }}
28 | - path: {{ . }}
29 | backend:
30 | serviceName: {{ .Release.Name }}-geonode
31 | servicePort: www
32 | {{- end }}
33 | {{- end }}
34 | {{- end }}
--------------------------------------------------------------------------------
/charts/nocodb/templates/externalminio-secrets.yaml:
--------------------------------------------------------------------------------
1 | {{- /*
2 | Copyright Broadcom, Inc. All Rights Reserved.
3 | SPDX-License-Identifier: APACHE-2.0
4 | */}}
5 |
6 | {{- if not (or .Values.minio.enabled .Values.externalMinio.existingSecret) }}
7 | apiVersion: v1
8 | kind: Secret
9 | metadata:
10 | name: {{ printf "%s-externalminio" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
11 | namespace: {{ .Release.Namespace | quote }}
12 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
13 | {{- if .Values.commonAnnotations }}
14 | annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
15 | {{- end }}
16 | type: Opaque
17 | data:
18 | {{ include "nocodb.minio.rootUserKey" . }}: {{ .Values.externalMinio.rootUser | b64enc | quote }}
19 | {{ include "nocodb.minio.rootPasswordKey" . }}: {{ .Values.externalMinio.rootPassword | b64enc | quote }}
20 | {{- end }}
21 |
--------------------------------------------------------------------------------
/charts/n8n/templates/hpa.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.autoscaling.enabled }}
2 | apiVersion: autoscaling/v2beta1
3 | kind: HorizontalPodAutoscaler
4 | metadata:
5 | name: {{ include "n8n.fullname" . }}
6 | labels:
7 | {{- include "n8n.labels" . | nindent 4 }}
8 | spec:
9 | scaleTargetRef:
10 | apiVersion: apps/v1
11 | kind: Deployment
12 | name: {{ include "n8n.fullname" . }}
13 | minReplicas: {{ .Values.autoscaling.minReplicas }}
14 | maxReplicas: {{ .Values.autoscaling.maxReplicas }}
15 | metrics:
16 | {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
17 | - type: Resource
18 | resource:
19 | name: cpu
20 | targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
21 | {{- end }}
22 | {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
23 | - type: Resource
24 | resource:
25 | name: memory
26 | targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
27 | {{- end }}
28 | {{- end }}
--------------------------------------------------------------------------------
/archive/geonode/templates/postgres-init.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: {{ .Release.Name }}-postgres-init
5 | namespace: {{ .Release.Namespace }}
6 | stringData:
7 | init.sql: |
8 | CREATE USER "{{ .Values.postgresql.geonodeDb }}" WITH PASSWORD '{{ .Values.postgresql.password }}';
9 | CREATE USER "{{ .Values.postgresql.geodataDb }}" WITH PASSWORD '{{ .Values.postgresql.password }}';
10 |
11 | ALTER USER "{{ .Values.postgresql.geonodeDb }}" WITH SUPERUSER;
12 | ALTER USER "{{ .Values.postgresql.geodataDb }}" WITH SUPERUSER;
13 |
14 | CREATE DATABASE "{{ .Values.postgresql.geonodeDb }}" OWNER "{{ .Values.postgresql.geonodeDb }}";
15 | \c "{{ .Values.postgresql.geonodeDb }}"
16 | CREATE EXTENSION postgis;
17 | CREATE EXTENSION postgis_topology;
18 |
19 | CREATE DATABASE "{{ .Values.postgresql.geodataDb }}" OWNER "{{ .Values.postgresql.geodataDb }}";
20 | \c "{{ .Values.postgresql.geodataDb }}"
21 | CREATE EXTENSION postgis;
22 | CREATE EXTENSION postgis_topology;
23 |
--------------------------------------------------------------------------------
/charts/kutt/templates/hpa.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.autoscaling.enabled }}
2 | apiVersion: autoscaling/v2beta1
3 | kind: HorizontalPodAutoscaler
4 | metadata:
5 | name: {{ include "kutt.fullname" . }}
6 | labels:
7 | {{- include "kutt.labels" . | nindent 4 }}
8 | spec:
9 | scaleTargetRef:
10 | apiVersion: apps/v1
11 | kind: Deployment
12 | name: {{ include "kutt.fullname" . }}
13 | minReplicas: {{ .Values.autoscaling.minReplicas }}
14 | maxReplicas: {{ .Values.autoscaling.maxReplicas }}
15 | metrics:
16 | {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
17 | - type: Resource
18 | resource:
19 | name: cpu
20 | targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
21 | {{- end }}
22 | {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
23 | - type: Resource
24 | resource:
25 | name: memory
26 | targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
27 | {{- end }}
28 | {{- end }}
29 |
--------------------------------------------------------------------------------
/charts/nocodb/templates/externaldb-secrets.yaml:
--------------------------------------------------------------------------------
1 | {{- /*
2 | Copyright Broadcom, Inc. All Rights Reserved.
3 | SPDX-License-Identifier: APACHE-2.0
4 | */}}
5 |
6 | {{- if not (or .Values.postgresql.enabled .Values.externalDatabase.existingSecret) }}
7 | apiVersion: v1
8 | kind: Secret
9 | metadata:
10 | name: {{ printf "%s-externaldb" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
11 | namespace: {{ .Release.Namespace | quote }}
12 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
13 | {{- if .Values.commonAnnotations }}
14 | annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
15 | {{- end }}
16 | type: Opaque
17 | data:
18 | {{ include "nocodb.database.secretPasswordKey" . }}: {{ .Values.externalDatabase.password | b64enc | quote }}
19 | {{ include "nocodb.database.secretPostgresPasswordKey" . }}: {{ .Values.externalDatabase.postgresqlPostgresPassword | b64enc | quote }}
20 | {{- end }}
21 |
--------------------------------------------------------------------------------
/charts/sydent/templates/hpa.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.autoscaling.enabled }}
2 | apiVersion: autoscaling/v2beta1
3 | kind: HorizontalPodAutoscaler
4 | metadata:
5 | name: {{ include "sydent.fullname" . }}
6 | labels:
7 | {{- include "sydent.labels" . | nindent 4 }}
8 | spec:
9 | scaleTargetRef:
10 | apiVersion: apps/v1
11 | kind: Deployment
12 | name: {{ include "sydent.fullname" . }}
13 | minReplicas: {{ .Values.autoscaling.minReplicas }}
14 | maxReplicas: {{ .Values.autoscaling.maxReplicas }}
15 | metrics:
16 | {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
17 | - type: Resource
18 | resource:
19 | name: cpu
20 | targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
21 | {{- end }}
22 | {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
23 | - type: Resource
24 | resource:
25 | name: memory
26 | targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
27 | {{- end }}
28 | {{- end }}
29 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/kobo-postgres-init.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ .Release.Name }}-postgres-init
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | init.sql: |
8 | ALTER USER "{{ .Values.postgresql.auth.username }}" WITH SUPERUSER;
9 | CREATE DATABASE "{{ .Values.postgresql.kobocatDatabase }}" OWNER "{{ .Values.postgresql.auth.username }}";
10 | \c "{{ .Values.postgresql.kobocatDatabase }}"
11 | CREATE EXTENSION IF NOT EXISTS postgis;
12 | CREATE EXTENSION IF NOT EXISTS postgis_topology;
13 | CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;
14 | CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;
15 | CREATE DATABASE "{{ .Values.postgresql.kpiDatabase }}" OWNER "{{ .Values.postgresql.auth.username }}";
16 | \c "{{ .Values.postgresql.kpiDatabase }}"
17 | CREATE EXTENSION IF NOT EXISTS postgis;
18 | CREATE EXTENSION IF NOT EXISTS postgis_topology;
19 | CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;
20 | CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder;
21 |
--------------------------------------------------------------------------------
/charts/n8n/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "n8n.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "n8n.labels" . | nindent 4 }}
7 | annotations:
8 | "helm.sh/hook": test
9 | spec:
10 | containers:
11 | - name: wget
12 | image: busybox
13 | command: ['wget']
14 | args: ['{{ include "n8n.fullname" . }}:{{ .Values.service.port }}']
15 | - name: check-healthz
16 | image: busybox
17 | command: ['sh', '-c']
18 | args:
19 | - |
20 | RESPONSE=$(wget -qO- '{{ include "n8n.fullname" . }}:{{ .Values.service.port }}/healthz')
21 | if [ "$RESPONSE" = '{"status":"ok"}' ]; then
22 | echo "Health check passed."
23 | exit 0
24 | else
25 | echo "Health check failed. Expected '{"status":"ok"}' but got '$RESPONSE'."
26 | exit 1
27 | fi
28 | volumeMounts:
29 | - name: test-scripts
30 | mountPath: /test-scripts
31 |
32 | restartPolicy: Never
--------------------------------------------------------------------------------
/charts/growthbook/templates/hpa.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.autoscaling.enabled }}
2 | apiVersion: autoscaling/v2beta1
3 | kind: HorizontalPodAutoscaler
4 | metadata:
5 | name: {{ include "growthbook.fullname" . }}
6 | labels:
7 | {{- include "growthbook.labels" . | nindent 4 }}
8 | spec:
9 | scaleTargetRef:
10 | apiVersion: apps/v1
11 | kind: Deployment
12 | name: {{ include "growthbook.fullname" . }}
13 | minReplicas: {{ .Values.autoscaling.minReplicas }}
14 | maxReplicas: {{ .Values.autoscaling.maxReplicas }}
15 | metrics:
16 | {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
17 | - type: Resource
18 | resource:
19 | name: cpu
20 | targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
21 | {{- end }}
22 | {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
23 | - type: Resource
24 | resource:
25 | name: memory
26 | targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
27 | {{- end }}
28 | {{- end }}
29 |
--------------------------------------------------------------------------------
/.github/workflows/helm-release.yaml:
--------------------------------------------------------------------------------
1 | name: Release Charts
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | paths:
8 | - "charts/**"
9 |
10 | jobs:
11 | release:
12 | runs-on: ubuntu-20.04
13 | steps:
14 | - name: Checkout
15 | uses: actions/checkout@v4.2.2
16 | with:
17 | fetch-depth: 0
18 |
19 | - name: Configure Git
20 | run: |
21 | git config user.name "$GITHUB_ACTOR"
22 | git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
23 |
24 | - name: Install Helm
25 | uses: azure/setup-helm@v4.2.0
26 | with:
27 | version: v3.4.0
28 |
29 | - name: Add bitnami repo
30 | run: helm repo add bitnami https://charts.bitnami.com/bitnami
31 |
32 | - name: Add gatekeeper repo
33 | run: helm repo add gatekeeper https://gogatekeeper.github.io/helm-gogatekeeper
34 |
35 | - name: Run chart-releaser
36 | uses: helm/chart-releaser-action@v1.6.0
37 | env:
38 | CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
39 |
--------------------------------------------------------------------------------
/charts/apicurio/templates/apicurio-studio-services.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ .Release.Name }}-api
5 | namespace: {{ .Release.Namespace }}
6 | spec:
7 | type: {{ .Values.general.serviceType }}
8 | ports:
9 | - name: api
10 | port: 8080
11 | targetPort: 8080
12 | selector:
13 | org.apicurio.instance: {{ .Release.Name }}-api
14 | ---
15 | apiVersion: v1
16 | kind: Service
17 | metadata:
18 | name: {{ .Release.Name }}-ui
19 | namespace: {{ .Release.Namespace }}
20 | spec:
21 | type: {{ .Values.general.serviceType }}
22 | ports:
23 | - name: ui
24 | port: 8080
25 | targetPort: 8080
26 | selector:
27 | org.apicurio.instance: {{ .Release.Name }}-ui
28 | ---
29 | apiVersion: v1
30 | kind: Service
31 | metadata:
32 | name: {{ .Release.Name }}-ws
33 | namespace: {{ .Release.Namespace }}
34 | spec:
35 | type: {{ .Values.general.serviceType }}
36 | ports:
37 | - name: ws
38 | port: 8080
39 | targetPort: 8080
40 | selector:
41 | org.apicurio.instance: {{ .Release.Name }}-ws
42 |
--------------------------------------------------------------------------------
/.github/workflows/helm-test.yaml:
--------------------------------------------------------------------------------
1 | name: Lint and Test Charts
2 |
3 | on:
4 | pull_request:
5 | types: [opened, synchronize, reopened]
6 |
7 | jobs:
8 | lint-test:
9 | runs-on: ubuntu-20.04
10 | steps:
11 | - name: Checkout
12 | uses: actions/checkout@v4.2.2
13 | with:
14 | fetch-depth: 0
15 |
16 | - name: Set up Helm
17 | uses: azure/setup-helm@v4.2.0
18 | with:
19 | version: v3.16.2
20 |
21 | - name: Setup Python
22 | uses: actions/setup-python@v5.3.0
23 | with:
24 | python-version: 3.7
25 |
26 | - name: Set up chart-testing
27 | uses: helm/chart-testing-action@v2.6.1
28 |
29 | - name: Run chart-testing (list-changed)
30 | id: list-changed
31 | run: |
32 | changed=$(ct list-changed --config .github/ct.yaml)
33 | if [[ -n "$changed" ]]; then
34 | echo "changed=true" >> $GITHUB_OUTPUT
35 | fi
36 |
37 | - name: Run chart-testing (lint)
38 | run: ct lint --config .github/ct.yaml
39 |
40 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: kobotoolbox
3 | version: 0.7.4
4 | description: KoboToolbox field data collection solution
5 | home: https://www.kobotoolbox.org/
6 | icon: https://avatars.githubusercontent.com/u/5543677?s=400&v=4
7 | keywords:
8 | - survey
9 | - field
10 | sources:
11 | - https://github.com/one-acre-fund/oaf-public-charts/tree/main/charts/kobotoolbox
12 | maintainers:
13 | - name: Yann-J
14 | email: yann.jouanique@gmail.com
15 | dependencies:
16 | - name: redis
17 | version: ~16.12.3
18 | repository: https://charts.bitnami.com/bitnami
19 | condition: redismain.enabled
20 | alias: redismain
21 | - name: redis
22 | version: ~16.12.3
23 | repository: https://charts.bitnami.com/bitnami
24 | condition: rediscache.enabled
25 | alias: rediscache
26 | - name: postgresql
27 | version: ~11.9.13
28 | repository: https://charts.bitnami.com/bitnami
29 | condition: postgresql.enabled
30 | - name: mongodb
31 | version: ~12.1.31
32 | repository: https://charts.bitnami.com/bitnami
33 | condition: mongodb.enabled
34 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | # Proposed changes
2 |
3 |
8 |
9 | ## Checklist
10 |
11 |
17 |
18 | - [ ] Lint and unit tests pass locally with my changes.
19 | - [ ] I have added tests that prove my fix is effective or that my feature works.
20 | - [ ] I have added documentation to describe my feature.
21 | - [ ] I have squashed my commits into logic units.
22 | - [ ] I have described the changes in the commit messages.
23 |
24 | ## Other information
25 |
26 |
30 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/hpa.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.autoscaling.enabled }}
2 | apiVersion: autoscaling/v2
3 | kind: HorizontalPodAutoscaler
4 | metadata:
5 | name: {{ include "pgbouncer.fullname" . }}
6 | labels:
7 | {{- include "pgbouncer.labels" . | nindent 4 }}
8 | spec:
9 | scaleTargetRef:
10 | apiVersion: apps/v1
11 | kind: Deployment
12 | name: {{ include "pgbouncer.fullname" . }}
13 | minReplicas: {{ .Values.autoscaling.minReplicas }}
14 | maxReplicas: {{ .Values.autoscaling.maxReplicas }}
15 | metrics:
16 | {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
17 | - type: Resource
18 | resource:
19 | name: cpu
20 | target:
21 | type: Utilization
22 | averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
23 | {{- end }}
24 | {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
25 | - type: Resource
26 | resource:
27 | name: memory
28 | target:
29 | type: Utilization
30 | averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
31 | {{- end }}
32 | {{- end }}
33 |
--------------------------------------------------------------------------------
/charts/pgbouncer/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Alexey Belaytzev
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/artifacthub-repo.yml:
--------------------------------------------------------------------------------
1 | # Artifact Hub repository metadata file
2 | #
3 | # Some settings like the verified publisher flag or the ignored packages won't
4 | # be applied until the next time the repository is processed. Please keep in
5 | # mind that the repository won't be processed if it has not changed since the
6 | # last time it was processed. Depending on the repository kind, this is checked
7 | # in a different way. For Helm http based repositories, we consider it has
8 | # changed if the `index.yaml` file changes. For git based repositories, it does
9 | # when the hash of the last commit in the branch you set up changes. This does
10 | # NOT apply to ownership claim operations, which are processed immediately.
11 | #
12 | repositoryID: 237e8320-45e6-436b-b88d-40248a904580
13 | # owners: # (optional, used to claim repository ownership)
14 | # - name: user1
15 | # email: user1@email.com
16 | # - name: user2
17 | # email: user2@email.com
18 | # ignore: # (optional, packages that should not be indexed by Artifact Hub)
19 | # - name: package1
20 | # - name: package2 # Exact match
21 | # version: beta # Regular expression (when omitted, all versions are ignored)
22 |
--------------------------------------------------------------------------------
/charts/growthbook/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | apiVersion: networking.k8s.io/v1
3 | kind: Ingress
4 | metadata:
5 | name: {{ .Values.ingress.name }}
6 | annotations:
7 | {{- toYaml .Values.ingress.annotations | nindent 4 }}
8 | spec:
9 | rules:
10 | - host: {{ .Values.ingress.appOriginName }}
11 | http:
12 | paths:
13 | - path: /
14 | pathType: Prefix
15 | backend:
16 | service:
17 | name: {{ include "growthbook.fullname" . }}
18 | port:
19 | number: {{ .Values.port.frontendPort }}
20 | - host: {{ .Values.ingress.apiHostName }}
21 | http:
22 | paths:
23 | - path: /
24 | pathType: Prefix
25 | backend:
26 | service:
27 | name: {{ include "growthbook.fullname" . }}
28 | port:
29 | number: {{ .Values.port.backendPort }}
30 | tls:
31 | - hosts:
32 | - {{ .Values.ingress.appOriginName }}
33 | - {{ .Values.ingress.apiHostName }}
34 | secretName: {{ .Values.ingress.secretName }}
35 | {{- end -}}
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/hpa.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.autoscaling.enabled }}
2 | apiVersion: autoscaling/v2
3 | kind: HorizontalPodAutoscaler
4 | metadata:
5 | name: {{ include "uptime-wrapper.fullname" . }}
6 | labels:
7 | {{- include "uptime-wrapper.labels" . | nindent 4 }}
8 | spec:
9 | scaleTargetRef:
10 | apiVersion: apps/v1
11 | kind: Deployment
12 | name: {{ include "uptime-wrapper.fullname" . }}
13 | minReplicas: {{ .Values.autoscaling.minReplicas }}
14 | maxReplicas: {{ .Values.autoscaling.maxReplicas }}
15 | metrics:
16 | {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
17 | - type: Resource
18 | resource:
19 | name: cpu
20 | target:
21 | type: Utilization
22 | averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
23 | {{- end }}
24 | {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
25 | - type: Resource
26 | resource:
27 | name: memory
28 | target:
29 | type: Utilization
30 | averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
31 | {{- end }}
32 | {{- end }}
33 |
--------------------------------------------------------------------------------
/charts/mautic/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "mautic.fullname" . -}}
3 | apiVersion: networking.k8s.io/v1
4 | kind: Ingress
5 | metadata:
6 | name: {{ $fullName }}
7 | labels:
8 | {{ include "mautic.labels" . | indent 4 }}
9 | {{- with .Values.ingress.annotations }}
10 | annotations:
11 | {{- toYaml . | nindent 4 }}
12 | {{- end }}
13 | spec:
14 | {{- if .Values.ingress.tls }}
15 | tls:
16 | {{- range .Values.ingress.tls }}
17 | - hosts:
18 | {{- range .hosts }}
19 | - {{ . | quote }}
20 | {{- end }}
21 | secretName: {{ .secretName }}
22 | {{- end }}
23 | {{- end }}
24 | rules:
25 | {{- range .Values.ingress.hosts }}
26 | - host: {{ .host | quote }}
27 | http:
28 | paths:
29 | {{- range .paths }}
30 | - path: {{ . }}
31 | pathType: Prefix
32 | backend:
33 | service:
34 | name: {{ $fullName }}
35 | port:
36 | number: 80
37 | serviceName: {{ $fullName }}
38 | servicePort: http
39 | {{- end }}
40 | {{- end }}
41 | {{- end }}
42 |
--------------------------------------------------------------------------------
/charts/n8n/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "n8n.fullname" . -}}
3 | {{- $svcPort := .Values.service.port -}}
4 | {{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
5 | apiVersion: networking.k8s.io/v1beta1
6 | {{- else -}}
7 | apiVersion: extensions/v1beta1
8 | {{- end }}
9 | kind: Ingress
10 | metadata:
11 | name: {{ $fullName }}
12 | labels:
13 | {{- include "n8n.labels" . | nindent 4 }}
14 | {{- with .Values.ingress.annotations }}
15 | annotations:
16 | {{- toYaml . | nindent 4 }}
17 | {{- end }}
18 | spec:
19 | {{- if .Values.ingress.tls }}
20 | tls:
21 | {{- range .Values.ingress.tls }}
22 | - hosts:
23 | {{- range .hosts }}
24 | - {{ . | quote }}
25 | {{- end }}
26 | secretName: {{ .secretName }}
27 | {{- end }}
28 | {{- end }}
29 | rules:
30 | {{- range .Values.ingress.hosts }}
31 | - host: {{ .host | quote }}
32 | http:
33 | paths:
34 | {{- range .paths }}
35 | - path: {{ . }}
36 | backend:
37 | serviceName: {{ $fullName }}
38 | servicePort: {{ $svcPort }}
39 | {{- end }}
40 | {{- end }}
41 | {{- end }}
42 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | apiVersion: extensions/v1beta1
3 | kind: Ingress
4 | metadata:
5 | name: {{ .Release.Name }}-kobo
6 | namespace: {{ .Release.Namespace }}
7 | annotations:
8 | {{- .Values.ingress.annotations | toYaml | nindent 4 }}
9 | spec:
10 | # The kobo sidecar nginx will do further host-based routing for kpi and kobocat
11 | rules:
12 | - host: {{ .Values.kpi.subdomain }}.{{ .Values.general.externalDomain }}
13 | http:
14 | paths:
15 | - backend:
16 | serviceName: {{ .Release.Name }}-kobo
17 | servicePort: 80
18 | - host: {{ .Values.kobocat.subdomain }}.{{ .Values.general.externalDomain }}
19 | http:
20 | paths:
21 | - backend:
22 | serviceName: {{ .Release.Name }}-kobo
23 | servicePort: 80
24 | - host: {{ .Values.enketo.subdomain }}.{{ .Values.general.externalDomain }}
25 | http:
26 | paths:
27 | - backend:
28 | serviceName: {{ .Release.Name }}-enketo
29 | servicePort: enketo
30 | {{- if .Values.ingress.tls }}
31 | tls:
32 | {{- .Values.ingress.tls | toYaml | nindent 4 }}
33 | {{- end }}
34 | {{- end -}}
35 |
--------------------------------------------------------------------------------
/charts/sydent/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: sydent
3 | description: A Helm chart for Kubernetes
4 |
5 | # A chart can be either an 'application' or a 'library' chart.
6 | #
7 | # Application charts are a collection of templates that can be packaged into versioned archives
8 | # to be deployed.
9 | #
10 | # Library charts provide useful utilities or functions for the chart developer. They're included as
11 | # a dependency of application charts to inject those utilities and functions into the rendering
12 | # pipeline. Library charts do not define any templates and therefore cannot be deployed.
13 | type: application
14 |
15 | # This is the chart version. This version number should be incremented each time you make changes
16 | # to the chart and its templates, including the app version.
17 | # Versions are expected to follow Semantic Versioning (https://semver.org/)
18 | version: 0.2.5
19 |
20 | # This is the version number of the application being deployed. This version number should be
21 | # incremented each time you make changes to the application. Versions are not expected to
22 | # follow Semantic Versioning. They should reflect the version the application is using.
23 | # It is recommended to use it with quotes.
24 | appVersion: "1.16.1"
25 |
26 | maintainers:
27 | - name: bisonlou
28 | email: bisonlou@gmail.com
29 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: uptime-wrapper
3 | description: A Helm chart for Kubernetes
4 |
5 | # A chart can be either an 'application' or a 'library' chart.
6 | #
7 | # Application charts are a collection of templates that can be packaged into versioned archives
8 | # to be deployed.
9 | #
10 | # Library charts provide useful utilities or functions for the chart developer. They're included as
11 | # a dependency of application charts to inject those utilities and functions into the rendering
12 | # pipeline. Library charts do not define any templates and therefore cannot be deployed.
13 | type: application
14 |
15 | # This is the chart version. This version number should be incremented each time you make changes
16 | # to the chart and its templates, including the app version.
17 | # Versions are expected to follow Semantic Versioning (https://semver.org/)
18 | version: 1.0.3
19 |
20 | # This is the version number of the application being deployed. This version number should be
21 | # incremented each time you make changes to the application. Versions are not expected to
22 | # follow Semantic Versioning. They should reflect the version the application is using.
23 | # It is recommended to use it with quotes.
24 | appVersion: "1.16.0"
25 |
26 | maintainers:
27 | - name: bisonlou
28 | email: bisonlou@gmail.com
29 |
--------------------------------------------------------------------------------
/charts/flagsmith/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{- define "dbHost" -}}
2 | {{ coalesce .Values.postgresql.host ( print .Release.Name "-postgresql." .Release.Namespace ".svc" ) }}
3 | {{- end -}}
4 |
5 | {{- define "dbUrl" -}}
6 | {{ printf "postgresql://%s:%s@%s:%s/%s" .Values.postgresql.postgresqlUsername .Values.postgresql.postgresqlPassword (include "dbHost" .) ( toString .Values.postgresql.service.port ) .Values.postgresql.postgresqlDatabase }}
7 | {{- end -}}
8 |
9 | {{- define "apiHost" -}}
10 | {{ .Release.Name }}-api.{{ .Release.Namespace }}.svc
11 | {{- end -}}
12 |
13 | {{- define "fullUrl" -}}
14 | {{ .scheme }}://{{ .domain }}{{ if .port }}:{{ .port }}{{ end }}
15 | {{- end -}}
16 |
17 | {{- define "api_secrets" -}}
18 | DJANGO_DB_PASSWORD: {{ .Values.postgresql.postgresqlPassword | b64enc }}
19 | DATABASE_URL: {{ include "dbUrl" . | b64enc }}
20 | ADMIN_INITIAL_PASSWORD: {{ .Values.flagsmith.admin.password | b64enc }}
21 | DJANGO_SECRET_KEY: {{ .Values.flagsmith.djangoSecret | b64enc }}
22 | # Custom keys
23 | {{- range $key, $value := .Values.flagsmith.api.extraSecretEnv }}
24 | {{ $key }}: {{ tpl $value $ | b64enc }}
25 | {{- end }}
26 | {{- end -}}
27 |
28 | {{- define "frontend_secrets" -}}
29 | {{- range $key, $value := .Values.flagsmith.frontend.extraSecretEnv }}
30 | {{ $key }}: {{ tpl $value $ | b64enc }}
31 | {{- end }}
32 | {{- end -}}
33 |
--------------------------------------------------------------------------------
/charts/apicurio/README.md.gotmpl:
--------------------------------------------------------------------------------
1 | {{ template "chart.header" . }}
2 | {{ template "chart.deprecationWarning" . }}
3 |
4 | {{ template "chart.versionBadge" . }}
5 |
6 | {{ template "chart.description" . }}
7 |
8 | {{ template "chart.homepageLine" . }}
9 |
10 | {{ template "chart.maintainersSection" . }}
11 |
12 | {{ template "chart.sourcesSection" . }}
13 |
14 | ## TL;DR;
15 |
16 | This chart will install an Apicurio instance, with an optional dependent Postgres backing db.
17 |
18 | ```console
19 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
20 | $ helm install my-release one-acre-fund/apicurio
21 | ```
22 |
23 | __WARNING__: The [Apicurio docs](https://www.apicur.io/studio/docs/setting-up-keycloak-for-use-with-apicurio) are wrong/incomplete about the Github integration. The documented instructions will let you login and link accounts, but NOT publish into your repository. To enable this, you will need to:
24 |
25 | * In the default roles of your realm, add the `broker` client role named `read-token`
26 | * Add this `read-token` `broker` role to already created users if needed
27 | * Use at least these scopes for your Github identity provider configuration: `read:org,repo,user`
28 |
29 | For more details, see [this ticket](https://github.com/Apicurio/apicurio-studio/issues/821).
30 |
31 | {{ template "chart.requirementsSection" . }}
32 |
33 | {{ template "chart.valuesSection" . }}
--------------------------------------------------------------------------------
/charts/nocodb/templates/hpa.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.autoscaling.enabled }}
2 | apiVersion: autoscaling/v2
3 | kind: HorizontalPodAutoscaler
4 | metadata:
5 | name: {{ template "common.names.fullname" . }}
6 | namespace: {{ .Release.Namespace | quote }}
7 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
8 | {{- if .Values.commonAnnotations }}
9 | annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
10 | {{- end }}
11 | spec:
12 | scaleTargetRef:
13 | apiVersion: apps/v1
14 | kind: Deployment
15 | name: {{ include "nocodb.fullname" . }}
16 | minReplicas: {{ .Values.autoscaling.minReplicas }}
17 | maxReplicas: {{ .Values.autoscaling.maxReplicas }}
18 | metrics:
19 | {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
20 | - type: Resource
21 | resource:
22 | name: cpu
23 | target:
24 | type: Utilization
25 | averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
26 | {{- end }}
27 | {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
28 | - type: Resource
29 | resource:
30 | name: memory
31 | target:
32 | type: Utilization
33 | averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
34 | {{- end }}
35 | {{- end }}
36 |
--------------------------------------------------------------------------------
/charts/mautic/mautic.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.pre-commit-config.yaml:
--------------------------------------------------------------------------------
1 | repos:
2 | - repo: https://github.com/norwoodj/helm-docs
3 | rev: v1.11.0
4 | hooks:
5 | - id: helm-docs
6 | args:
7 | - --chart-search-root=charts
8 | - --template-files=README.md.gotmpl
9 | - repo: https://github.com/adrienverge/yamllint.git
10 | rev: v1.17.0
11 | hooks:
12 | - id: yamllint
13 | args: [-c=.yamllint.yaml]
14 | - repo: https://github.com/zricethezav/gitleaks
15 | rev: v8.15.3
16 | hooks:
17 | - id: gitleaks
18 | - repo: https://github.com/pre-commit/pre-commit-hooks
19 | rev: v4.3.0
20 | hooks:
21 | - id: check-added-large-files
22 | args: ["--maxkb=500"]
23 | name: check for added large files
24 | description: prevents giant files from being committed
25 | entry: check-added-large-files
26 | language: python
27 | stages:
28 | - commit
29 | - push
30 | - manual
31 | - id: check-json
32 | name: check json
33 | description: checks json files for parseable syntax.
34 | entry: check-json
35 | language: python
36 | types:
37 | - json
38 | - id: no-commit-to-branch
39 | args: ["--branch", "main"]
40 | - repo: https://github.com/milin/giticket
41 | rev: v1.4
42 | hooks:
43 | - id: giticket
44 | args: ["--mode=regex_match", "--format=[{ticket}] {commit_msg}"]
45 | - repo: https://github.com/gruntwork-io/pre-commit
46 | rev: v0.1.18
47 | hooks:
48 | - id: helmlint
49 |
--------------------------------------------------------------------------------
/charts/mautic/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if .Values.ingress.enabled }}
3 | {{- range $host := .Values.ingress.hosts }}
4 | {{- range .paths }}
5 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
6 | {{- end }}
7 | {{- end }}
8 | {{- else if contains "NodePort" .Values.service.type }}
9 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "mautic.fullname" . }})
10 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11 | echo http://$NODE_IP:$NODE_PORT
12 | {{- else if contains "LoadBalancer" .Values.service.type }}
13 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "mautic.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "mautic.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
16 | echo http://$SERVICE_IP:{{ .Values.service.port }}
17 | {{- else if contains "ClusterIP" .Values.service.type }}
18 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "mautic.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19 | echo "Visit http://127.0.0.1:8080 to use your application"
20 | kubectl port-forward $POD_NAME 8080:80
21 | {{- end }}
22 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ .Release.Name }}-pgbouncer-config
5 | labels:
6 | {{- include "pgbouncer.labels" . | nindent 4 }}
7 | data:
8 | POSTGRESQL_USERNAME: "{{ .Values.pgbouncer.username }}"
9 | POSTGRESQL_DATABASE: "{{ .Values.pgbouncer.postgresqlDatabase }}"
10 | PGBOUNCER_DATABASE: "{{ .Values.pgbouncer.database }}"
11 | POSTGRESQL_HOST: "{{ .Values.pgbouncer.host }}"
12 | POSTGRESQL_PORT: "{{ .Values.pgbouncer.port }}"
13 | PGBOUNCER_PORT: "{{ .Values.service.port }}"
14 | {{- if .Values.pgbouncer.setDatabaseUser }}
15 | PGBOUNCER_SET_DATABASE_USER: "{{ .Values.pgbouncer.setDatabaseUser }}"
16 | {{- end }}
17 | {{- if .Values.pgbouncer.setDatabasePassword }}
18 | PGBOUNCER_SET_DATABASE_PASSWORD: "{{ .Values.pgbouncer.setDatabasePassword }}"
19 | {{- end }}
20 | {{- if .Values.pgbouncer.connectQuery }}
21 | PGBOUNCER_CONNECT_QUERY: "{{ .Values.pgbouncer.connectQuery }}"
22 | {{- end }}
23 | {{- if .Values.tls.enabled }}
24 | PGBOUNCER_CLIENT_TLS_SSLMODE: "require"
25 | PGBOUNCER_CLIENT_TLS_CERT_FILE: "/etc/pgbouncer/tls/{{ .Values.tls.certFilename }}"
26 | PGBOUNCER_CLIENT_TLS_KEY_FILE: "/etc/pgbouncer/tls/{{ .Values.tls.certKeyFilename }}"
27 | PGBOUNCER_SERVER_TLS_SSLMODE: "require"
28 | PGBOUNCER_SERVER_TLS_CERT_FILE: "/etc/pgbouncer/tls/{{ .Values.tls.certFilename }}"
29 | PGBOUNCER_SERVER_TLS_KEY_FILE: "/etc/pgbouncer/tls/{{ .Values.tls.certKeyFilename }}"
30 | {{- end }}
31 | {{- range $key, $value := .Values.extraConfigs }}
32 | {{ $key }}: "{{ $value }}"
33 | {{- end }}
--------------------------------------------------------------------------------
/archive/geonode/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | Thank you for installing GeoNode!
2 |
3 | Get the application URL by running these commands:
4 | {{- if .Values.ingress.enabled }}
5 | {{- range $host := .Values.ingress.hosts }}
6 | {{- range .paths }}
7 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
8 | {{- end }}
9 | {{- end }}
10 | {{- else if contains "NodePort" .Values.general.serviceType }}
11 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ .Release.Name }}-geonode)
12 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
13 | echo http://$NODE_IP:$NODE_PORT
14 | {{- else if contains "LoadBalancer" .Values.general.serviceType }}
15 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
16 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ .Release.Name }}-geonode'
17 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ .Release.Name }}-geonode --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
18 | echo http://$SERVICE_IP:{{ .Values.service.port }}
19 | {{- else if contains "ClusterIP" .Values.general.serviceType }}
20 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "org.geonode.instance={{ .Release.Name }}-geonode" -o jsonpath="{.items[0].metadata.name}")
21 | echo "Visit http://127.0.0.1:8080 to use your application"
22 | kubectl port-forward $POD_NAME 8080:80
23 | {{- end }}
24 |
--------------------------------------------------------------------------------
/archive/metabase/values.yaml:
--------------------------------------------------------------------------------
1 | global:
2 | # -- This will be used on all pods for all PVCs, including dependencies (postgres)
3 | storageClass: standard
4 |
5 | general:
6 | # -- Used for all published services
7 | serviceType: ClusterIP
8 |
9 | # -- See https://www.metabase.com/docs/latest/operations-guide/running-metabase-on-docker.html for more details
10 | # @default -- see `values.yaml`
11 | metabase:
12 | # -- Replica count
13 | replicas: 1
14 | image:
15 | # -- Metabase image name
16 | name: metabase/metabase
17 | # -- Metabase image tag
18 | tag: latest
19 | # -- Array of URLs to download extra plugins from (jar files)
20 | extraPlugins: []
21 |
22 | # -- Postgres config
23 | # See https://artifacthub.io/packages/helm/bitnami/postgresql for docs
24 | # @default -- see `values.yaml`
25 | postgresql:
26 | # -- Install postgres?
27 | enabled: true
28 | # Specify an external host here if desired - otherwise we will use the subchart dependency
29 | host: ""
30 |
31 | # -- Password for the `postgres` user
32 | postgresqlPostgresPassword: H55Djpc7Vs
33 | # -- Database to create and use
34 | postgresqlDatabase: metabase
35 | # -- Application username
36 | postgresqlUsername: metabase
37 | # -- Application password
38 | postgresqlPassword: ciJ8KfiMUK
39 | service:
40 | # -- Postgres port
41 | port: 5432
42 |
43 | ingress:
44 | # -- Install ingress?
45 | enabled: false
46 | # -- Dictionary of ingress annotations
47 | annotations: {}
48 | # -- Ingress TLS settings, passed directly to ingress definition
49 | tls: {}
50 |
51 | resources: {}
52 |
53 | javaOpts: ""
54 |
--------------------------------------------------------------------------------
/charts/mautic/test-values.yaml:
--------------------------------------------------------------------------------
1 | mariadb:
2 | auth:
3 | rootPassword: toto
4 | username: mautic
5 | password: mautic123
6 |
7 | ingress:
8 | enabled: false
9 |
10 | extraEnvs:
11 | MAUTIC_CONFIG_DEBUG: "1"
12 |
13 | # MAUTIC_DB_HOST: ... (defaults to the IP and port of the linked mysql container)
14 | # MAUTIC_DB_USER: ... (defaults to "root")
15 | # MAUTIC_DB_PASSWORD: ... (defaults to the value of the MYSQL_ROOT_PASSWORD environment variable from the linked mysql container)
16 | # MAUTIC_DB_NAME: ... (defaults to "mautic")
17 | # MAUTIC_DB_TABLE_PREFIX: ... (defaults to empty) Add prefix do Mautic Tables. Very useful when migrate existing databases from another server to docker.
18 |
19 | # MAUTIC_RUN_CRON_JOBS: ... (defaults to true - enabled) If set to true runs mautic cron jobs using included cron daemon
20 | # MAUTIC_RUN_MIGRATIONS: ... (defaults to false - disabled) If set to true runs database migrations automatically on startup.
21 | MAUTIC_TRUSTED_PROXIES: '["0.0.0.0/0"]'
22 |
23 | # PHP_INI_DATE_TIMEZONE: ... (defaults to UTC) Set PHP timezone
24 | # PHP_MEMORY_LIMIT: ... (defaults to 256M) Set PHP memory limit
25 | # PHP_MAX_UPLOAD: ... (defaults to 20M) Set PHP upload max file size
26 | # PHP_MAX_EXECUTION_TIME: ... (defaults to 300) Set PHP max execution time
27 |
28 | MAUTIC_URL: https://mautic.example.com
29 | MAUTIC_ADMIN_EMAIL: "yann.jouanique@oneacrefund.org"
30 | MAUTIC_INSTALL_FORCE: "true"
31 | MAUTIC_ADMIN_USERNAME: Admin
32 | MAUTIC_ADMIN_FIRSTNAME: Yann
33 | MAUTIC_ADMIN_LASTNAME: Jouanique
34 |
35 | extraSecretEnvs:
36 | MAUTIC_ADMIN_PASSWORD: password123
37 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if .Values.ingress.enabled }}
3 | {{- range $host := .Values.ingress.hosts }}
4 | {{- range .paths }}
5 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
6 | {{- end }}
7 | {{- end }}
8 | {{- else if contains "NodePort" .Values.service.type }}
9 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "pgbouncer.fullname" . }})
10 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11 | echo http://$NODE_IP:$NODE_PORT
12 | {{- else if contains "LoadBalancer" .Values.service.type }}
13 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "pgbouncer.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "pgbouncer.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
16 | echo http://$SERVICE_IP:{{ .Values.service.port }}
17 | {{- else if contains "ClusterIP" .Values.service.type }}
18 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "pgbouncer.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19 | echo "Visit http://127.0.0.1:8080 to use your application"
20 | kubectl port-forward $POD_NAME 8080:80
21 | {{- end }}
22 |
--------------------------------------------------------------------------------
/charts/n8n/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: n8n
3 | description: A Helm chart for n8n
4 |
5 | # A chart can be either an 'application' or a 'library' chart.
6 | #
7 | # Application charts are a collection of templates that can be packaged into versioned archives
8 | # to be deployed.
9 | #
10 | # Library charts provide useful utilities or functions for the chart developer. They're included as
11 | # a dependency of application charts to inject those utilities and functions into the rendering
12 | # pipeline. Library charts do not define any templates and therefore cannot be deployed.
13 | type: application
14 |
15 | # This is the chart version. This version number should be incremented each time you make changes
16 | # to the chart and its templates, including the app version.
17 | # Versions are expected to follow Semantic Versioning (https://semver.org/)
18 |
19 | version: 0.1.52
20 |
21 | # This is the version number of the application being deployed. This version number should be
22 | # incremented each time you make changes to the application. Versions are not expected to
23 | # follow Semantic Versioning. They should reflect the version the application is using.
24 | appVersion: 0.212.0
25 |
26 | icon: https://avatars.githubusercontent.com/u/45487711?s=400&v=4
27 |
28 | dependencies:
29 | - name: redis
30 | version: ~17.7.4
31 | repository: https://charts.bitnami.com/bitnami
32 | condition: redis.enabled
33 | - name: postgresql
34 | version: ~11.6.6
35 | repository: https://charts.bitnami.com/bitnami
36 | condition: postgresql.enabled
37 |
38 | maintainers:
39 | - name: bisonlou
40 | email: bisonlou@gmail.com
41 | - name: Yann-J
42 | email: yann.jouanique@gmail.com
43 |
--------------------------------------------------------------------------------
/charts/growthbook/templates/mongodb-configmap.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.mongodb.enabled }}
2 | apiVersion: v1
3 | kind: ConfigMap
4 | metadata:
5 | name: {{ include "growthbook.fullname" . }}-mongodb-common-scripts
6 | namespace: {{ .Release.Namespace }}
7 | data:
8 | ping-mongodb.sh: |
9 | #!/bin/bash
10 | set -euo pipefail
11 | TLS_OPTIONS="${TLS_OPTIONS:-}"
12 | mongo $TLS_OPTIONS --port "${MONGODB_PORT_NUMBER:-27017}" --quiet --eval "db.adminCommand('ping')"
13 |
14 | readiness-probe.sh: |
15 | #!/bin/bash
16 | set -euo pipefail
17 | TLS_OPTIONS="${TLS_OPTIONS:-}"
18 | # Detect server version (e.g., 4.4.5)
19 | [[ $(mongod -version | grep "db version") =~ ([0-9]+\.[0-9]+\.[0-9]+) ]] && VERSION=${BASH_REMATCH[1]}
20 | . /opt/bitnami/scripts/libversion.sh
21 | VERSION_MAJOR="$(get_sematic_version "$VERSION" 1)"
22 | VERSION_MINOR="$(get_sematic_version "$VERSION" 2)"
23 | VERSION_PATCH="$(get_sematic_version "$VERSION" 3)"
24 |
25 | if [[ ( "$VERSION_MAJOR" -ge 5 ) || ( "$VERSION_MAJOR" -ge 4 && "$VERSION_MINOR" -ge 4 && "$VERSION_PATCH" -ge 2 ) ]]; then
26 | mongo $TLS_OPTIONS --port "${MONGODB_PORT_NUMBER:-27017}" --quiet --eval "db.hello().isWritablePrimary || db.hello().secondary" | grep -q 'true'
27 | else
28 | mongo $TLS_OPTIONS --port "${MONGODB_PORT_NUMBER:-27017}" --quiet --eval "db.isMaster().ismaster || db.isMaster().secondary" | grep -q 'true'
29 | fi
30 |
31 | startup-probe.sh: |
32 | #!/bin/bash
33 | set -euo pipefail
34 | TLS_OPTIONS="${TLS_OPTIONS:-}"
35 | mongo $TLS_OPTIONS --port "${MONGODB_PORT_NUMBER:-27017}" --quiet --eval "db.hello().isWritablePrimary || db.hello().secondary" | grep -q 'true'
36 | {{- end }}
--------------------------------------------------------------------------------
/charts/kutt/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: kutt
3 | description: A Helm chart for Kubernetes
4 |
5 | # A chart can be either an 'application' or a 'library' chart.
6 | #
7 | # Application charts are a collection of templates that can be packaged into versioned archives
8 | # to be deployed.
9 | #
10 | # Library charts provide useful utilities or functions for the chart developer. They're included as
11 | # a dependency of application charts to inject those utilities and functions into the rendering
12 | # pipeline. Library charts do not define any templates and therefore cannot be deployed.
13 | type: application
14 |
15 | # This is the chart version. This version number should be incremented each time you make changes
16 | # to the chart and its templates, including the app version.
17 | # Versions are expected to follow Semantic Versioning (https://semver.org/)
18 | version: 0.2.5
19 |
20 | # This is the version number of the application being deployed. This version number should be
21 | # incremented each time you make changes to the application. Versions are not expected to
22 | # follow Semantic Versioning. They should reflect the version the application is using.
23 | # It is recommended to use it with quotes.
24 | appVersion: "1.16.0"
25 |
26 | icon: https://raw.githubusercontent.com/thedevs-network/kutt/9d1c873897c3f5b9a1bd0c74dc5d23f2ed01f2ec/static/images/logo-github.png
27 |
28 | dependencies:
29 | - name: postgresql
30 | version: ~12.1.2
31 | repository: https://charts.bitnami.com/bitnami
32 | condition: postgresql.enabled
33 | - name: redis
34 | version: ~17.3.11
35 | repository: https://charts.bitnami.com/bitnami
36 | condition: redis.enabled
37 |
38 | maintainers:
39 | - name: bisonlou
40 | email: bisonlou@gmail.com
41 |
--------------------------------------------------------------------------------
/charts/growthbook/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: growthbook
3 | description: A Helm chart for Growthbook
4 |
5 | # A chart can be either an 'application' or a 'library' chart.
6 | #
7 | # Application charts are a collection of templates that can be packaged into versioned archives
8 | # to be deployed.
9 | #
10 | # Library charts provide useful utilities or functions for the chart developer. They're included as
11 | # a dependency of application charts to inject those utilities and functions into the rendering
12 | # pipeline. Library charts do not define any templates and therefore cannot be deployed.
13 | type: application
14 |
15 | # This is the chart version. This version number should be incremented each time you make changes
16 | # to the chart and its templates, including the app version.
17 | # Versions are expected to follow Semantic Versioning (https://semver.org/)
18 | version: 0.1.20
19 |
20 | # This is the version number of the application being deployed. This version number should be
21 | # incremented each time you make changes to the application. Versions are not expected to
22 | # follow Semantic Versioning. They should reflect the version the application is using.
23 | # It is recommended to use it with quotes.
24 | appVersion: "1.16.0"
25 |
26 | icon: https://cdn.svgporn.com/logos/growth-book-icon.svg
27 |
28 | # Disable if you already set up mongodb
29 | dependencies:
30 | - name: mongodb
31 | version: ~13.6.1
32 | repository: https://charts.bitnami.com/bitnami/
33 | condition: mongodb.enabled
34 |
35 | maintainers:
36 | - name: bisonlou
37 | email: bisonlou@gmail.com
38 | - name: Yann-J
39 | email: yann.jouanique@gmail.com
40 | - name: Nzeugaa
41 | email: jean.poutcheu@gmail.com
42 | - name: orchide
43 | email: orchideirakoze@gmail.com
44 |
--------------------------------------------------------------------------------
/charts/apicurio/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{ define "secrets_api" -}}
2 | APICURIO_DB_PASSWORD: {{ .Values.postgresql.postgresqlPassword | b64enc }}
3 | APICURIO_KC_CLIENT_SECRET: {{ .Values.keycloak.client.secret | b64enc }}
4 | APICURIO_MICROCKS_CLIENT_SECRET: {{ .Values.microcks.client.secret | b64enc }}
5 | # Extras
6 | {{- range $key, $value := .Values.api.extraSecretEnvVars }}
7 | {{ $key }}: {{- tpl $value $ | b64enc }}
8 | {{- end }}
9 | {{- end }}
10 |
11 | {{ define "secrets_ui" -}}
12 | APICURIO_KC_CLIENT_SECRET: {{ .Values.keycloak.client.secret | b64enc }}
13 | APICURIO_MICROCKS_CLIENT_SECRET: {{ .Values.microcks.client.secret | b64enc }}
14 | # Extras
15 | {{- range $key, $value := .Values.ui.extraSecretEnvVars }}
16 | {{ $key }}: {{- tpl $value $ | b64enc }}
17 | {{- end }}
18 | {{- end }}
19 |
20 | {{ define "secrets_ws" -}}
21 | APICURIO_DB_PASSWORD: {{ .Values.postgresql.postgresqlPassword | b64enc }}
22 | # Extras
23 | {{- range $key, $value := .Values.ws.extraSecretEnvVars }}
24 | {{ $key }}: {{- tpl $value $ | b64enc }}
25 | {{- end }}
26 | {{- end }}
27 |
28 | {{- define "dbHost" -}}
29 | {{ coalesce .Values.postgresql.host ( print .Release.Name "-postgresql" ) }}
30 | {{- end -}}
31 |
32 | # TODO: support other db... for H2: "jdbc:h2:mem:apicuriodb"
33 | {{- define "dbUrl" -}}
34 | {{ printf "jdbc:postgresql://%s:%s/%s" (include "dbHost" .) ( toString .Values.postgresql.service.port ) .Values.postgresql.postgresqlDatabase }}
35 | {{- end -}}
36 |
37 | {{- define "tcpProbe" -}}
38 | tcpSocket:
39 | port: 8080
40 | initialDelaySeconds: 10
41 | periodSeconds: 5
42 | failureThreshold: 15
43 | {{- end -}}
44 |
45 | {{- define "httpProbe" -}}
46 | httpGet:
47 | path: {{ . | quote }}
48 | port: 8080
49 | initialDelaySeconds: 10
50 | periodSeconds: 5
51 | failureThreshold: 15
52 | {{- end -}}
53 |
--------------------------------------------------------------------------------
/charts/n8n/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if .Values.ingress.enabled }}
3 | {{- range $host := .Values.ingress.hosts }}
4 | {{- range .paths }}
5 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
6 | {{- end }}
7 | {{- end }}
8 | {{- else if contains "NodePort" .Values.service.type }}
9 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "n8n.fullname" . }})
10 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11 | echo http://$NODE_IP:$NODE_PORT
12 | {{- else if contains "LoadBalancer" .Values.service.type }}
13 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "n8n.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "n8n.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
16 | echo http://$SERVICE_IP:{{ .Values.service.port }}
17 | {{- else if contains "ClusterIP" .Values.service.type }}
18 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "n8n.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19 | export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
20 | echo "Visit http://127.0.0.1:8080 to use your application"
21 | kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
22 | {{- end }}
--------------------------------------------------------------------------------
/archive/geonode/templates/geonode-geoserver-conf.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ .Release.Name }}-geoserver-conf
5 | namespace: {{ .Release.Namespace }}
6 | data:
7 | notifier.xml: |
8 |
9 | 1000
10 |
11 | 1000
12 | 1
13 | type='Catalog'
14 |
15 |
16 |
17 | {{ .Values.rabbitmq.auth.username }}
18 | {{ .Values.rabbitmq.auth.password }}
19 | {{ .Release.Name }}-rabbitmq
20 | 5672
21 | /
22 | geonode
23 | geoserver.catalog
24 |
25 |
26 |
27 |
28 | 1000
29 | 10
30 | type='Data'
31 |
32 |
33 |
34 | {{ .Values.rabbitmq.auth.username }}
35 | {{ .Values.rabbitmq.auth.password }}
36 | {{ .Release.Name }}-rabbitmq
37 | 5672
38 | /
39 | geonode
40 | geoserver.data
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/charts/kutt/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if .Values.ingress.enabled }}
3 | {{- range $host := .Values.ingress.hosts }}
4 | {{- range .paths }}
5 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
6 | {{- end }}
7 | {{- end }}
8 | {{- else if contains "NodePort" .Values.service.type }}
9 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "kutt.fullname" . }})
10 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11 | echo http://$NODE_IP:$NODE_PORT
12 | {{- else if contains "LoadBalancer" .Values.service.type }}
13 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "kutt.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "kutt.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
16 | echo http://$SERVICE_IP:{{ .Values.service.port }}
17 | {{- else if contains "ClusterIP" .Values.service.type }}
18 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kutt.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19 | export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
20 | echo "Visit http://127.0.0.1:8080 to use your application"
21 | kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
22 | {{- end }}
23 |
--------------------------------------------------------------------------------
/charts/mautic/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/* vim: set filetype=mustache: */}}
2 | {{/*
3 | Expand the name of the chart.
4 | */}}
5 | {{- define "mautic.name" -}}
6 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
7 | {{- end -}}
8 |
9 | {{/*
10 | Create a default fully qualified app name.
11 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
12 | If release name contains chart name it will be used as a full name.
13 | */}}
14 | {{- define "mautic.fullname" -}}
15 | {{- if .Values.fullnameOverride -}}
16 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
17 | {{- else -}}
18 | {{- $name := default .Chart.Name .Values.nameOverride -}}
19 | {{- if contains $name .Release.Name -}}
20 | {{- .Release.Name | trunc 63 | trimSuffix "-" -}}
21 | {{- else -}}
22 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
23 | {{- end -}}
24 | {{- end -}}
25 | {{- end -}}
26 |
27 | {{/*
28 | Create chart name and version as used by the chart label.
29 | */}}
30 | {{- define "mautic.chart" -}}
31 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
32 | {{- end -}}
33 |
34 | {{/*
35 | Common labels
36 | */}}
37 | {{- define "mautic.labels" -}}
38 | app.kubernetes.io/name: {{ include "mautic.name" . }}
39 | helm.sh/chart: {{ include "mautic.chart" . }}
40 | app.kubernetes.io/instance: {{ .Release.Name }}
41 | {{- if .Chart.AppVersion }}
42 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
43 | {{- end }}
44 | app.kubernetes.io/managed-by: {{ .Release.Service }}
45 | {{- end -}}
46 |
47 |
48 | # TODO: support external db
49 | {{- define "db_host" -}}
50 | {{ include "mautic.fullname" . }}-mariadb:{{ .Values.mariadb.primary.service.ports.mysql | default "3306" }}
51 | {{- end -}}
52 |
--------------------------------------------------------------------------------
/charts/nocodb/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if .Values.ingress.enabled }}
3 | {{- range $host := .Values.ingress.hosts }}
4 | {{- range .paths }}
5 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
6 | {{- end }}
7 | {{- end }}
8 | {{- else if contains "NodePort" .Values.service.type }}
9 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "nocodb.fullname" . }})
10 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11 | echo http://$NODE_IP:$NODE_PORT
12 | {{- else if contains "LoadBalancer" .Values.service.type }}
13 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "nocodb.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "nocodb.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
16 | echo http://$SERVICE_IP:{{ .Values.service.port }}
17 | {{- else if contains "ClusterIP" .Values.service.type }}
18 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "nocodb.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19 | export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
20 | echo "Visit http://127.0.0.1:8080 to use your application"
21 | kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
22 | {{- end }}
23 |
--------------------------------------------------------------------------------
/charts/sydent/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if .Values.ingress.enabled }}
3 | {{- range $host := .Values.ingress.hosts }}
4 | {{- range .paths }}
5 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
6 | {{- end }}
7 | {{- end }}
8 | {{- else if contains "NodePort" .Values.service.type }}
9 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "sydent.fullname" . }})
10 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11 | echo http://$NODE_IP:$NODE_PORT
12 | {{- else if contains "LoadBalancer" .Values.service.type }}
13 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "sydent.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "sydent.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
16 | echo http://$SERVICE_IP:{{ .Values.service.port }}
17 | {{- else if contains "ClusterIP" .Values.service.type }}
18 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "sydent.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19 | export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
20 | echo "Visit http://127.0.0.1:8080 to use your application"
21 | kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
22 | {{- end }}
23 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if .Values.ingress.enabled }}
3 | {{- range $host := .Values.ingress.hosts }}
4 | {{- range .paths }}
5 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
6 | {{- end }}
7 | {{- end }}
8 | {{- else if contains "NodePort" .Values.service.type }}
9 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "uptime-wrapper.fullname" . }})
10 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11 | echo http://$NODE_IP:$NODE_PORT
12 | {{- else if contains "LoadBalancer" .Values.service.type }}
13 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14 | You can watch its status by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "uptime-wrapper.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "uptime-wrapper.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
16 | echo http://$SERVICE_IP:{{ .Values.service.port }}
17 | {{- else if contains "ClusterIP" .Values.service.type }}
18 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "uptime-wrapper.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19 | export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
20 | echo "Visit http://127.0.0.1:8080 to use your application"
21 | kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
22 | {{- end }}
23 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/metrics-exporter.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.uwsgiExporter.enabled }}
2 | apiVersion: apps/v1
3 | kind: Deployment
4 | metadata:
5 | name: {{ .Release.Name }}-metrics-exporter
6 | namespace: {{ .Release.Namespace }}
7 | spec:
8 | replicas: 1
9 | selector:
10 | matchLabels:
11 | org.kobotoolbox.instance: {{ .Release.Name }}-metrics-exporter
12 | template:
13 | metadata:
14 | annotations:
15 | prometheus.io/scrape: "true"
16 | prometheus.io/path: "/metrics"
17 | labels:
18 | org.kobotoolbox.instance: {{ .Release.Name }}-metrics-exporter
19 | spec:
20 | initContainers:
21 | # Wait for kobocat and kpi
22 | - name: wait-servers
23 | image: jwilder/dockerize
24 | imagePullPolicy: IfNotPresent
25 | command:
26 | - sh
27 | - -c
28 | - dockerize -timeout=120s -wait tcp://{{ .Release.Name }}-kobo:1717 -wait tcp://{{ .Release.Name }}-kobo:1818
29 | containers:
30 | - name: kc-uwsgi-exporter
31 | image: timonwong/uwsgi-exporter:latest
32 | imagePullPolicy: IfNotPresent
33 | args:
34 | - --stats.uri=tcp://{{ .Release.Name }}-kobo:1717
35 | - --web.telemetry-path=/metrics
36 | - --log.level={{ .Values.uwsgiExporter.logLevel }}
37 | - --web.listen-address=:9117
38 | ports:
39 | - name: metrics
40 | containerPort: 9117
41 | - name: kpi-uwsgi-exporter
42 | image: timonwong/uwsgi-exporter:latest
43 | imagePullPolicy: IfNotPresent
44 | args:
45 | - --stats.uri=tcp://{{ .Release.Name }}-kobo:1818
46 | - --web.telemetry-path=/metrics
47 | - --log.level={{ .Values.uwsgiExporter.logLevel }}
48 | - --web.listen-address=:9118
49 | ports:
50 | - name: metrics
51 | containerPort: 9118
52 | {{- end }}
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # OAF Public Charts
2 |
3 | [](https://artifacthub.io/packages/search?repo=one-acre-fund)
4 | [](https://github.com/one-acre-fund/oaf-public-charts/actions/workflows/helm-release.yaml)
5 |
6 | A collection of useful Helm charts used at [One Acre Fund](https://oneacrefund.org/).
7 |
8 | ## Installation
9 |
10 | ```sh
11 | helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
12 | ```
13 |
14 | ## Included Charts
15 |
16 | * [Apicurio Studio](https://www.apicur.io/studio/)
17 | * [Flagsmith](https://flagsmith.com/)
18 | * [GrowthBook](https://growthbook.io/)
19 | * [KoboToolbox](https://www.kobotoolbox.org/)
20 | * [Kutt](https://kutt.it/)
21 | * [Mautic](https://www.mautic.org/)
22 | * [n8n](https://n8n.io/)
23 | * [Nocodb](https://www.nocodb.com/)
24 | * [PgBouncer](https://www.pgbouncer.org/)
25 | * [Sydent](https://github.com/matrix-org/sydent)
26 | * [Uptime Wrapper](https://uptime-kuma-api.readthedocs.io/en/latest)
27 |
28 | ## How to contribute
29 |
30 | This repository has the following CI workflows:
31 |
32 | * Every PR will lint and test all updated charts using [chart-testing](https://github.com/helm/chart-testing)
33 | * __Note__: this will fail if any chart is updated without bumping its version - so that published versions remain immutable
34 | * Every merge to `main` branch will publish all updated charts using [chart-releaser](https://github.com/helm/chart-releaser)
35 | * a pre-commit hook is configured to auto-generate each chart's README from the annotations in their `values.yaml`.
36 | * This requires contributors to install [pre-commit](https://pre-commit.com/)
37 | and set up the hook (`pre-commit install && pre-commit install-hooks`).
38 | Otherwise linting will fail at CI time if any discrepancy is detected between `values.yaml` and `README`.
39 |
--------------------------------------------------------------------------------
/charts/kutt/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "kutt.name" -}}
5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
6 | {{- end }}
7 |
8 | {{/*
9 | Create a default fully qualified app name.
10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
11 | If release name contains chart name it will be used as a full name.
12 | */}}
13 | {{- define "kutt.fullname" -}}
14 | {{- if .Values.fullnameOverride }}
15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
16 | {{- else }}
17 | {{- $name := default .Chart.Name .Values.nameOverride }}
18 | {{- if contains $name .Release.Name }}
19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }}
20 | {{- else }}
21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
22 | {{- end }}
23 | {{- end }}
24 | {{- end }}
25 |
26 | {{/*
27 | Create chart name and version as used by the chart label.
28 | */}}
29 | {{- define "kutt.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Common labels
35 | */}}
36 | {{- define "kutt.labels" -}}
37 | helm.sh/chart: {{ include "kutt.chart" . }}
38 | {{ include "kutt.selectorLabels" . }}
39 | {{- if .Chart.AppVersion }}
40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
41 | {{- end }}
42 | app.kubernetes.io/managed-by: {{ .Release.Service }}
43 | {{- end }}
44 |
45 | {{/*
46 | Selector labels
47 | */}}
48 | {{- define "kutt.selectorLabels" -}}
49 | app.kubernetes.io/name: {{ include "kutt.name" . }}
50 | app.kubernetes.io/instance: {{ .Release.Name }}
51 | {{- end }}
52 |
53 | {{/*
54 | Create the name of the service account to use
55 | */}}
56 | {{- define "kutt.serviceAccountName" -}}
57 | {{- if .Values.serviceAccount.create }}
58 | {{- default (include "kutt.fullname" .) .Values.serviceAccount.name }}
59 | {{- else }}
60 | {{- default "default" .Values.serviceAccount.name }}
61 | {{- end }}
62 | {{- end }}
63 |
--------------------------------------------------------------------------------
/charts/sydent/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "sydent.name" -}}
5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
6 | {{- end }}
7 |
8 | {{/*
9 | Create a default fully qualified app name.
10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
11 | If release name contains chart name it will be used as a full name.
12 | */}}
13 | {{- define "sydent.fullname" -}}
14 | {{- if .Values.fullnameOverride }}
15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
16 | {{- else }}
17 | {{- $name := default .Chart.Name .Values.nameOverride }}
18 | {{- if contains $name .Release.Name }}
19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }}
20 | {{- else }}
21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
22 | {{- end }}
23 | {{- end }}
24 | {{- end }}
25 |
26 | {{/*
27 | Create chart name and version as used by the chart label.
28 | */}}
29 | {{- define "sydent.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Common labels
35 | */}}
36 | {{- define "sydent.labels" -}}
37 | helm.sh/chart: {{ include "sydent.chart" . }}
38 | {{ include "sydent.selectorLabels" . }}
39 | {{- if .Chart.AppVersion }}
40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
41 | {{- end }}
42 | app.kubernetes.io/managed-by: {{ .Release.Service }}
43 | {{- end }}
44 |
45 | {{/*
46 | Selector labels
47 | */}}
48 | {{- define "sydent.selectorLabels" -}}
49 | app.kubernetes.io/name: {{ include "sydent.name" . }}
50 | app.kubernetes.io/instance: {{ .Release.Name }}
51 | {{- end }}
52 |
53 | {{/*
54 | Create the name of the service account to use
55 | */}}
56 | {{- define "sydent.serviceAccountName" -}}
57 | {{- if .Values.serviceAccount.create }}
58 | {{- default (include "sydent.fullname" .) .Values.serviceAccount.name }}
59 | {{- else }}
60 | {{- default "default" .Values.serviceAccount.name }}
61 | {{- end }}
62 | {{- end }}
63 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "pgbouncer.name" -}}
5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
6 | {{- end }}
7 |
8 | {{/*
9 | Create a default fully qualified app name.
10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
11 | If release name contains chart name it will be used as a full name.
12 | */}}
13 | {{- define "pgbouncer.fullname" -}}
14 | {{- if .Values.fullnameOverride }}
15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
16 | {{- else }}
17 | {{- $name := default .Chart.Name .Values.nameOverride }}
18 | {{- if contains $name .Release.Name }}
19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }}
20 | {{- else }}
21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
22 | {{- end }}
23 | {{- end }}
24 | {{- end }}
25 |
26 | {{/*
27 | Create chart name and version as used by the chart label.
28 | */}}
29 | {{- define "pgbouncer.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Common labels
35 | */}}
36 | {{- define "pgbouncer.labels" -}}
37 | helm.sh/chart: {{ include "pgbouncer.chart" . }}
38 | {{ include "pgbouncer.selectorLabels" . }}
39 | {{- if .Chart.AppVersion }}
40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
41 | {{- end }}
42 | app.kubernetes.io/managed-by: {{ .Release.Service }}
43 | {{- end }}
44 |
45 | {{/*
46 | Selector labels
47 | */}}
48 | {{- define "pgbouncer.selectorLabels" -}}
49 | app.kubernetes.io/name: {{ include "pgbouncer.name" . }}
50 | app.kubernetes.io/instance: {{ .Release.Name }}
51 | {{- end }}
52 |
53 | {{/*
54 | Create the name of the service account to use
55 | */}}
56 | {{- define "pgbouncer.serviceAccountName" -}}
57 | {{- if .Values.serviceAccount.create }}
58 | {{- default (include "pgbouncer.fullname" .) .Values.serviceAccount.name }}
59 | {{- else }}
60 | {{- default "default" .Values.serviceAccount.name }}
61 | {{- end }}
62 | {{- end }}
63 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ include "pgbouncer.fullname" . }}
5 | labels:
6 | {{- include "pgbouncer.labels" . | nindent 4 }}
7 | spec:
8 | {{- if not .Values.autoscaling.enabled }}
9 | replicas: {{ .Values.replicaCount }}
10 | {{- end }}
11 | selector:
12 | matchLabels:
13 | {{- include "pgbouncer.selectorLabels" . | nindent 6 }}
14 | template:
15 | metadata:
16 | {{- with .Values.podAnnotations }}
17 | annotations:
18 | {{- toYaml . | nindent 8 }}
19 | {{- end }}
20 | labels:
21 | {{- include "pgbouncer.selectorLabels" . | nindent 8 }}
22 | spec:
23 | {{- with .Values.imagePullSecrets }}
24 | imagePullSecrets:
25 | {{- toYaml . | nindent 8 }}
26 | {{- end }}
27 | serviceAccountName: {{ include "pgbouncer.serviceAccountName" . }}
28 | securityContext:
29 | {{- toYaml .Values.podSecurityContext | nindent 8 }}
30 | containers:
31 | - name: {{ .Chart.Name }}
32 | securityContext:
33 | {{- toYaml .Values.securityContext | nindent 12 }}
34 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
35 | imagePullPolicy: {{ .Values.image.pullPolicy }}
36 | envFrom:
37 | - configMapRef:
38 | name: {{ .Release.Name }}-pgbouncer-config
39 | envFrom:
40 | - secretRef:
41 | name: {{ .Release.Name }}-pgbouncer-secret
42 | ports:
43 | - containerPort: {{ .Values.service.port }}
44 | volumeMounts:
45 | {{- if .Values.tls.enabled }}
46 | - name: tls-secret
47 | mountPath: /etc/pgbouncer/tls
48 | readOnly: true
49 | {{- end }}
50 | {{- if .Values.resources }}
51 | resources: {{ .Values.resources | toYaml | nindent 10 }}
52 | {{- end }}
53 | {{- if .Values.tls.enabled }}
54 | volumes:
55 | - name: tls-secret
56 | secret:
57 | secretName: {{ .Values.tls.certificatesSecret }}
58 | {{- end }}
59 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "uptime-wrapper.name" -}}
5 | {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
6 | {{- end }}
7 |
8 | {{/*
9 | Create a default fully qualified app name.
10 | We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
11 | If release name contains chart name it will be used as a full name.
12 | */}}
13 | {{- define "uptime-wrapper.fullname" -}}
14 | {{- if .Values.fullnameOverride }}
15 | {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
16 | {{- else }}
17 | {{- $name := default .Chart.Name .Values.nameOverride }}
18 | {{- if contains $name .Release.Name }}
19 | {{- .Release.Name | trunc 63 | trimSuffix "-" }}
20 | {{- else }}
21 | {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
22 | {{- end }}
23 | {{- end }}
24 | {{- end }}
25 |
26 | {{/*
27 | Create chart name and version as used by the chart label.
28 | */}}
29 | {{- define "uptime-wrapper.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Common labels
35 | */}}
36 | {{- define "uptime-wrapper.labels" -}}
37 | helm.sh/chart: {{ include "uptime-wrapper.chart" . }}
38 | {{ include "uptime-wrapper.selectorLabels" . }}
39 | {{- if .Chart.AppVersion }}
40 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
41 | {{- end }}
42 | app.kubernetes.io/managed-by: {{ .Release.Service }}
43 | {{- end }}
44 |
45 | {{/*
46 | Selector labels
47 | */}}
48 | {{- define "uptime-wrapper.selectorLabels" -}}
49 | app.kubernetes.io/name: {{ include "uptime-wrapper.name" . }}
50 | app.kubernetes.io/instance: {{ .Release.Name }}
51 | {{- end }}
52 |
53 | {{/*
54 | Create the name of the service account to use
55 | */}}
56 | {{- define "uptime-wrapper.serviceAccountName" -}}
57 | {{- if .Values.serviceAccount.create }}
58 | {{- default (include "uptime-wrapper.fullname" .) .Values.serviceAccount.name }}
59 | {{- else }}
60 | {{- default "default" .Values.serviceAccount.name }}
61 | {{- end }}
62 | {{- end }}
63 |
--------------------------------------------------------------------------------
/charts/pgbouncer/values.yaml:
--------------------------------------------------------------------------------
1 | nameOverride: ""
2 | fullnameOverride: ""
3 | image:
4 | repository: bitnami/pgbouncer
5 | tag: 1.19.1-debian-11-r44
6 | pullPolicy: IfNotPresent
7 |
8 | pgbouncer:
9 | username: postgres
10 | # Provide the actual PostgreSQL password here
11 | password: "your-postgresql-password"
12 | database: ${PGBOUNCER_DATABASE}
13 | postgresqlDatabase: ${PGBOUNCER_DATABASE}
14 | host: postgresql
15 | port: 5432
16 | setDatabaseUser: no
17 | setDatabasePassword: no
18 | connectQuery: ""
19 |
20 | # Add extra enviroment varibles in
21 | # "KEY": "VALUE"
22 | extraConfigs: []
23 |
24 | # Add extra enviroment secerts in
25 | # "KEY": "VALUE"
26 | extraSecretConfigs: []
27 |
28 | tls:
29 | enabled: true
30 | certificatesSecret: oaf-tls
31 | certFilename: tls.crt
32 | certKeyFilename: tls.key
33 |
34 | service:
35 | port: 6432
36 | type: ClusterIP
37 |
38 | ingress:
39 | enabled: false
40 | annotations: {}
41 | # kubernetes.io/ingress.class: nginx
42 | # kubernetes.io/tls-acme: "true"
43 | className: "nginx"
44 | tls: []
45 | # - secretName: chart-example-tls
46 | # hosts:
47 | # - chart-example.local
48 | hosts:
49 | - host: chart-example.local
50 | paths:
51 | - path: /
52 | pathType: ImplementationSpecific
53 |
54 | resources:
55 | limits:
56 | cpu: 100m
57 | memory: 128Mi
58 | requests:
59 | cpu: 100m
60 | memory: 128Mi
61 |
62 | autoscaling:
63 | enabled: false
64 | minReplicas: 1
65 | maxReplicas: 100
66 | targetCPUUtilizationPercentage: 80
67 | targetMemoryUtilizationPercentage: 80
68 |
69 | replicaCount: 1
70 |
71 | serviceAccount:
72 | # Specifies whether a service account should be created
73 | create: true
74 | # Annotations to add to the service account
75 | annotations: {}
76 | # The name of the service account to use.
77 | # If not set and create is true, a name is generated using the fullname template
78 | name: ""
79 |
80 | podAnnotations: {}
81 |
82 | # podSecurityContext:
83 | # fsGroup: 1001
84 | podSecurityContext: {}
85 |
86 | # imagePullSecrets
87 | # - name: myRegistryKeySecretName
88 | imagePullSecrets: []
89 |
--------------------------------------------------------------------------------
/charts/nocodb/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: nocodb
3 | description: A Helm chart for Kubernetes
4 |
5 | # A chart can be either an 'application' or a 'library' chart.
6 | #
7 | # Application charts are a collection of templates that can be packaged into versioned archives
8 | # to be deployed.
9 | #
10 | # Library charts provide useful utilities or functions for the chart developer. They're included as
11 | # a dependency of application charts to inject those utilities and functions into the rendering
12 | # pipeline. Library charts do not define any templates and therefore cannot be deployed.
13 | type: application
14 |
15 | # This is the chart version. This version number should be incremented each time you make changes
16 | # to the chart and its templates, including the app version.
17 | # Versions are expected to follow Semantic Versioning (https://semver.org/)
18 | version: 0.4.5
19 |
20 | # This is the version number of the application being deployed. This version number should be
21 | # incremented each time you make changes to the application. Versions are not expected to
22 | # follow Semantic Versioning. They should reflect the version the application is using.
23 | # It is recommended to use it with quotes.
24 | appVersion: "0.258.0"
25 |
26 | dependencies:
27 | - condition: postgresql.enabled
28 | name: postgresql
29 | repository: oci://registry-1.docker.io/bitnamicharts
30 | version: 16.x.x
31 | - condition: redis.enabled
32 | name: redis
33 | repository: oci://registry-1.docker.io/bitnamicharts
34 | version: 20.x.x
35 | - condition: minio.enabled
36 | name: minio
37 | repository: oci://registry-1.docker.io/bitnamicharts
38 | version: 14.x.x
39 | - name: common
40 | repository: oci://registry-1.docker.io/bitnamicharts
41 | tags:
42 | - bitnami-common
43 | version: 2.x.x
44 |
45 | icon: https://raw.githubusercontent.com/one-acre-fund/oaf-public-charts/main/charts/nocodb/img/icon.png
46 |
47 | sources:
48 | - https://github.com/one-acre-fund/oaf-public-charts/tree/main/charts/nocodb
49 |
50 | maintainers:
51 | - name: samaroon
52 | email: rahma.ahmed@oneacrefund.org
53 | url: https://github.com/samaroon
54 |
--------------------------------------------------------------------------------
/charts/kutt/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "kutt.fullname" . -}}
3 | {{- $svcPort := .Values.service.port -}}
4 | {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
5 | {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
6 | {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
7 | {{- end }}
8 | {{- end }}
9 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
10 | apiVersion: networking.k8s.io/v1
11 | {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
12 | apiVersion: networking.k8s.io/v1beta1
13 | {{- else -}}
14 | apiVersion: extensions/v1beta1
15 | {{- end }}
16 | kind: Ingress
17 | metadata:
18 | name: {{ $fullName }}
19 | labels:
20 | {{- include "kutt.labels" . | nindent 4 }}
21 | {{- with .Values.ingress.annotations }}
22 | annotations:
23 | {{- toYaml . | nindent 4 }}
24 | {{- end }}
25 | spec:
26 | {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
27 | ingressClassName: {{ .Values.ingress.className }}
28 | {{- end }}
29 | {{- if .Values.ingress.tls }}
30 | tls:
31 | {{- range .Values.ingress.tls }}
32 | - hosts:
33 | {{- range .hosts }}
34 | - {{ . | quote }}
35 | {{- end }}
36 | secretName: {{ .secretName }}
37 | {{- end }}
38 | {{- end }}
39 | rules:
40 | {{- range .Values.ingress.hosts }}
41 | - host: {{ .host | quote }}
42 | http:
43 | paths:
44 | {{- range .paths }}
45 | - path: {{ .path }}
46 | {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
47 | pathType: {{ .pathType }}
48 | {{- end }}
49 | backend:
50 | {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
51 | service:
52 | name: {{ $fullName }}
53 | port:
54 | number: {{ $svcPort }}
55 | {{- else }}
56 | serviceName: {{ $fullName }}
57 | servicePort: {{ $svcPort }}
58 | {{- end }}
59 | {{- end }}
60 | {{- end }}
61 | {{- end }}
62 |
--------------------------------------------------------------------------------
/charts/sydent/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "sydent.fullname" . -}}
3 | {{- $svcPort := .Values.service.port -}}
4 | {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
5 | {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
6 | {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
7 | {{- end }}
8 | {{- end }}
9 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
10 | apiVersion: networking.k8s.io/v1
11 | {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
12 | apiVersion: networking.k8s.io/v1beta1
13 | {{- else -}}
14 | apiVersion: extensions/v1beta1
15 | {{- end }}
16 | kind: Ingress
17 | metadata:
18 | name: {{ $fullName }}
19 | labels:
20 | {{- include "sydent.labels" . | nindent 4 }}
21 | {{- with .Values.ingress.annotations }}
22 | annotations:
23 | {{- toYaml . | nindent 4 }}
24 | {{- end }}
25 | spec:
26 | {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
27 | ingressClassName: {{ .Values.ingress.className }}
28 | {{- end }}
29 | {{- if .Values.ingress.tls }}
30 | tls:
31 | {{- range .Values.ingress.tls }}
32 | - hosts:
33 | {{- range .hosts }}
34 | - {{ . | quote }}
35 | {{- end }}
36 | secretName: {{ .secretName }}
37 | {{- end }}
38 | {{- end }}
39 | rules:
40 | {{- range .Values.ingress.hosts }}
41 | - host: {{ .host | quote }}
42 | http:
43 | paths:
44 | {{- range .paths }}
45 | - path: {{ .path }}
46 | {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
47 | pathType: {{ .pathType }}
48 | {{- end }}
49 | backend:
50 | {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
51 | service:
52 | name: {{ $fullName }}
53 | port:
54 | number: {{ $svcPort }}
55 | {{- else }}
56 | serviceName: {{ $fullName }}
57 | servicePort: {{ $svcPort }}
58 | {{- end }}
59 | {{- end }}
60 | {{- end }}
61 | {{- end }}
62 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if contains "NodePort" .Values.service.type }}
3 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oaf-odoo-data-migration.fullname" . }})
4 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
5 | echo http://$NODE_IP:$NODE_PORT
6 | {{- else if contains "LoadBalancer" .Values.service.type }}
7 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
8 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oaf-odoo-data-migration.fullname" . }}'
9 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oaf-odoo-data-migration.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
10 | echo http://$SERVICE_IP:{{ .Values.service.port }}
11 | {{- else if contains "ClusterIP" .Values.service.type }}
12 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oaf-odoo-data-migration.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
13 | export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
14 | echo "Visit http://127.0.0.1:8080 to use your application"
15 | kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
16 | {{- end }}
17 |
18 | 2. Check the status of your migration job:
19 | {{- if .Values.job.enabled }}
20 | kubectl get jobs --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oaf-odoo-data-migration.name" . }},app.kubernetes.io/instance={{ .Release.Name }}"
21 | {{- end }}
22 |
23 | 3. View the logs of your migration:
24 | kubectl logs --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oaf-odoo-data-migration.name" . }},app.kubernetes.io/instance={{ .Release.Name }}"
25 |
26 | 4. Configuration:
27 | - Odoo URL: {{ .Values.odoo.url }}
28 | - Odoo Database: {{ .Values.odoo.database }}
29 | - Odoo Username: {{ .Values.odoo.username }}
30 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "uptime-wrapper.fullname" . -}}
3 | {{- $svcPort := .Values.service.port -}}
4 | {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
5 | {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
6 | {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
7 | {{- end }}
8 | {{- end }}
9 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
10 | apiVersion: networking.k8s.io/v1
11 | {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
12 | apiVersion: networking.k8s.io/v1beta1
13 | {{- else -}}
14 | apiVersion: extensions/v1beta1
15 | {{- end }}
16 | kind: Ingress
17 | metadata:
18 | name: {{ $fullName }}
19 | labels:
20 | {{- include "uptime-wrapper.labels" . | nindent 4 }}
21 | {{- with .Values.ingress.annotations }}
22 | annotations:
23 | {{- toYaml . | nindent 4 }}
24 | {{- end }}
25 | spec:
26 | {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
27 | ingressClassName: {{ .Values.ingress.className }}
28 | {{- end }}
29 | {{- if .Values.ingress.tls }}
30 | tls:
31 | {{- range .Values.ingress.tls }}
32 | - hosts:
33 | {{- range .hosts }}
34 | - {{ . | quote }}
35 | {{- end }}
36 | secretName: {{ .secretName }}
37 | {{- end }}
38 | {{- end }}
39 | rules:
40 | {{- range .Values.ingress.hosts }}
41 | - host: {{ .host | quote }}
42 | http:
43 | paths:
44 | {{- range .paths }}
45 | - path: {{ .path }}
46 | {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
47 | pathType: {{ .pathType }}
48 | {{- end }}
49 | backend:
50 | {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
51 | service:
52 | name: {{ $fullName }}
53 | port:
54 | number: {{ $svcPort }}
55 | {{- else }}
56 | serviceName: {{ $fullName }}
57 | servicePort: {{ $svcPort }}
58 | {{- end }}
59 | {{- end }}
60 | {{- end }}
61 | {{- end }}
62 |
--------------------------------------------------------------------------------
/charts/pgbouncer/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "pgbouncer.fullname" . -}}
3 | {{- $svcPort := .Values.service.port -}}
4 | {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
5 | {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
6 | {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
7 | {{- end }}
8 | {{- end }}
9 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
10 | apiVersion: networking.k8s.io/v1
11 | {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
12 | apiVersion: networking.k8s.io/v1beta1
13 | {{- else -}}
14 | apiVersion: extensions/v1beta1
15 | {{- end }}
16 | kind: Ingress
17 | metadata:
18 | name: {{ $fullName }}
19 | labels:
20 | {{- include "pgbouncer.labels" . | nindent 4 }}
21 | {{- with .Values.ingress.annotations }}
22 | annotations:
23 | {{- toYaml . | nindent 4 }}
24 | {{- end }}
25 | spec:
26 | {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
27 | ingressClassName: {{ .Values.ingress.className }}
28 | {{- end }}
29 | {{- if .Values.ingress.tls }}
30 | tls:
31 | {{- range .Values.ingress.tls }}
32 | - hosts:
33 | {{- range .hosts }}
34 | - {{ . | quote }}
35 | {{- end }}
36 | secretName: {{ .secretName }}
37 | {{- end }}
38 | {{- end }}
39 | rules:
40 | {{- range .Values.ingress.hosts }}
41 | - host: {{ .host | quote }}
42 | http:
43 | paths:
44 | {{- range .paths }}
45 | - path: {{ .path }}
46 | {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
47 | pathType: {{ .pathType }}
48 | {{- end }}
49 | backend:
50 | {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
51 | service:
52 | name: {{ $fullName }}
53 | port:
54 | number: {{ $svcPort }}
55 | {{- else }}
56 | serviceName: {{ $fullName }}
57 | servicePort: {{ $svcPort }}
58 | {{- end }}
59 | {{- end }}
60 | {{- end }}
61 | {{- end }}
62 |
--------------------------------------------------------------------------------
/charts/nocodb/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "nocodb.fullname" . -}}
3 | {{- $svcPort := .Values.service.port -}}
4 | {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
5 | {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
6 | {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
7 | {{- end }}
8 | {{- end }}
9 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
10 | apiVersion: networking.k8s.io/v1
11 | {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
12 | apiVersion: networking.k8s.io/v1beta1
13 | {{- else -}}
14 | apiVersion: extensions/v1beta1
15 | {{- end }}
16 | kind: Ingress
17 | metadata:
18 | name: {{ template "common.names.fullname" . }}
19 | namespace: {{ .Release.Namespace | quote }}
20 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
21 | {{- if .Values.commonAnnotations }}
22 | annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
23 | {{- end }}
24 | spec:
25 | {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
26 | ingressClassName: {{ .Values.ingress.className }}
27 | {{- end }}
28 | {{- if .Values.ingress.tls }}
29 | tls:
30 | {{- range .Values.ingress.tls }}
31 | - hosts:
32 | {{- range .hosts }}
33 | - {{ . | quote }}
34 | {{- end }}
35 | secretName: {{ .secretName }}
36 | {{- end }}
37 | {{- end }}
38 | rules:
39 | {{- range .Values.ingress.hosts }}
40 | - host: {{ .host | quote }}
41 | http:
42 | paths:
43 | {{- range .paths }}
44 | - path: {{ .path }}
45 | {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
46 | pathType: {{ .pathType }}
47 | {{- end }}
48 | backend:
49 | {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
50 | service:
51 | name: {{ $fullName }}
52 | port:
53 | number: {{ $svcPort }}
54 | {{- else }}
55 | serviceName: {{ $fullName }}
56 | servicePort: {{ $svcPort }}
57 | {{- end }}
58 | {{- end }}
59 | {{- end }}
60 | {{- end }}
61 |
--------------------------------------------------------------------------------
/charts/mautic/README.md:
--------------------------------------------------------------------------------
1 | # mautic
2 |
3 | 
4 |
5 | A Helm chart for Mautic, a marketing automation tool
6 |
7 | **Homepage:**
8 |
9 | ## Maintainers
10 |
11 | | Name | Email | Url |
12 | | ---- | ------ | --- |
13 | | Yann-J | | |
14 |
15 | ## Source Code
16 |
17 | *
18 |
19 | ## TL;DR
20 |
21 | [Mautic](https://www.mautic.org/) is an open-source marketing campaign automation tool.
22 |
23 | ```console
24 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
25 | $ helm install my-release one-acre-fund/mautic
26 | ```
27 |
28 | ## Requirements
29 |
30 | | Repository | Name | Version |
31 | |------------|------|---------|
32 | | https://charts.bitnami.com/bitnami | mariadb | ~11.4.6 |
33 |
34 | ## Values
35 |
36 | | Key | Type | Default | Description |
37 | |-----|------|---------|-------------|
38 | | affinity | object | `{}` | |
39 | | extraEnvs | object | `{}` | Dictionary of env vars, see https://hub.docker.com/r/mautic/mautic for possible values |
40 | | extraSecretEnvs | object | `{}` | Same as `extraEnvs` but passed as a secret |
41 | | image.pullPolicy | string | `"IfNotPresent"` | |
42 | | image.repository | string | `"mautic/mautic"` | |
43 | | image.tag | string | `"v4-apache"` | |
44 | | imagePullSecrets | list | `[]` | |
45 | | ingress | object | see `values.yaml` | Ingress definition |
46 | | ingress.enabled | bool | `true` | Enable ingress? |
47 | | mariadb | object | see `values.yaml` | Mariadb subchart configuration, see https://artifacthub.io/packages/helm/bitnami/mariadb for docs |
48 | | mariadb.enabled | bool | `true` | Enable Mariadb chart? |
49 | | nodeSelector | object | `{}` | |
50 | | persistence.existingClaim | string | `""` | |
51 | | probes | object | See `values.yaml` | Probes definitions |
52 | | replicaCount | int | `1` | __WARNING__: if using multiple nodes, you will need to use a `ReadWriteMany` storage class |
53 | | resources | object | `{}` | |
54 | | service.port | int | `80` | |
55 | | service.type | string | `"ClusterIP"` | |
56 | | strategy.type | string | `"Recreate"` | Since we are mounting a volume, using `Recreate` to avoid double-mounting |
57 | | tolerations | list | `[]` | |
58 | | volume.enabled | bool | `true` | |
59 | | volume.spec.accessModes[0] | string | `"ReadWriteOnce"` | |
60 | | volume.spec.resources.requests.storage | string | `"1Gi"` | |
61 |
--------------------------------------------------------------------------------
/archive/metabase/README.md:
--------------------------------------------------------------------------------
1 | # metabase
2 |
3 | 
4 |
5 | Metabase with postgres persistence and plugins support
6 |
7 | **Homepage:**
8 |
9 | ## Maintainers
10 |
11 | | Name | Email | Url |
12 | | ---- | ------ | --- |
13 | | Yann-J | | |
14 |
15 | ## Source Code
16 |
17 | *
18 |
19 | ## TL;DR;
20 |
21 | ```console
22 | $ helm repo add one-acre-fund https://one-acre-fund.github.io/oaf-public-charts
23 | $ helm install my-release one-acre-fund/metabase
24 | ```
25 |
26 | ## Requirements
27 |
28 | | Repository | Name | Version |
29 | |------------|------|---------|
30 | | https://charts.bitnami.com/bitnami | postgresql | ~11.6.6 |
31 |
32 | ## Values
33 |
34 | | Key | Type | Default | Description |
35 | |-----|------|---------|-------------|
36 | | general.serviceType | string | `"ClusterIP"` | Used for all published services |
37 | | global.storageClass | string | `"standard"` | This will be used on all pods for all PVCs, including dependencies (postgres) |
38 | | ingress.annotations | object | `{}` | Dictionary of ingress annotations |
39 | | ingress.enabled | bool | `false` | Install ingress? |
40 | | ingress.tls | object | `{}` | Ingress TLS settings, passed directly to ingress definition |
41 | | javaOpts | string | `""` | |
42 | | metabase | object | see `values.yaml` | See https://www.metabase.com/docs/latest/operations-guide/running-metabase-on-docker.html for more details |
43 | | metabase.extraPlugins | list | `[]` | Array of URLs to download extra plugins from (jar files) |
44 | | metabase.image.name | string | `"metabase/metabase"` | Metabase image name |
45 | | metabase.image.tag | string | `"latest"` | Metabase image tag |
46 | | metabase.replicas | int | `1` | Replica count |
47 | | postgresql | object | see `values.yaml` | Postgres config See https://artifacthub.io/packages/helm/bitnami/postgresql for docs |
48 | | postgresql.enabled | bool | `true` | Install postgres? |
49 | | postgresql.postgresqlDatabase | string | `"metabase"` | Database to create and use |
50 | | postgresql.postgresqlPassword | string | `"ciJ8KfiMUK"` | Application password |
51 | | postgresql.postgresqlPostgresPassword | string | `"H55Djpc7Vs"` | Password for the `postgres` user |
52 | | postgresql.postgresqlUsername | string | `"metabase"` | Application username |
53 | | postgresql.service.port | int | `5432` | Postgres port |
54 | | resources | object | `{}` | |
--------------------------------------------------------------------------------
/charts/sydent/values.yaml:
--------------------------------------------------------------------------------
1 | # Default values for sydent.
2 | # This is a YAML-formatted file.
3 | # Declare variables to be passed into your templates.
4 |
5 | replicaCount: 1
6 |
7 | image:
8 | repository: oaftech.azurecr.io/oneacrefund/sydent
9 | pullPolicy: IfNotPresent
10 | # Overrides the image tag whose default is the chart appVersion.
11 | tag: "latest"
12 |
13 | imagePullSecrets: []
14 | nameOverride: ""
15 | fullnameOverride: ""
16 |
17 | env:
18 | default:
19 | username: sydentusername
20 | password: sydentpassword
21 | templatePath: res
22 | email:
23 | smtphost: smtp.gmail.com
24 | smtpport: 25
25 | smtpusername: devops.oneacrefund.org
26 | smtppassword: smtpsupersecretpassword
27 | hostname: smtphostname
28 | tlsmode: 0
29 |
30 | serviceAccount:
31 | # Specifies whether a service account should be created
32 | create: true
33 | # Annotations to add to the service account
34 | annotations: {}
35 | # The name of the service account to use.
36 | # If not set and create is true, a name is generated using the fullname template
37 | name: ""
38 |
39 | podAnnotations: {}
40 |
41 | podSecurityContext:
42 | fsGroup: 993
43 | runAsUser: 993
44 | runAsGroup: 933
45 |
46 | securityContext: {}
47 | # capabilities:
48 | # drop:
49 | # - ALL
50 | # readOnlyRootFilesystem: false
51 | # runAsNonRoot: true
52 | # runAsUser: 993
53 |
54 | service:
55 | type: ClusterIP
56 | port: 8090
57 |
58 | ingress:
59 | enabled: false
60 | className: ""
61 | annotations: {}
62 | # kubernetes.io/ingress.class: nginx
63 | # kubernetes.io/tls-acme: "true"
64 | hosts:
65 | - host: chart-example.local
66 | paths:
67 | - path: /
68 | pathType: ImplementationSpecific
69 | tls: []
70 | # - secretName: chart-example-tls
71 | # hosts:
72 | # - chart-example.local
73 |
74 | resources: {}
75 | # We usually recommend not to specify default resources and to leave this as a conscious
76 | # choice for the user. This also increases chances charts run on environments with little
77 | # resources, such as Minikube. If you do want to specify resources, uncomment the following
78 | # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
79 | # limits:
80 | # cpu: 100m
81 | # memory: 128Mi
82 | # requests:
83 | # cpu: 100m
84 | # memory: 128Mi
85 |
86 | autoscaling:
87 | enabled: false
88 | minReplicas: 1
89 | maxReplicas: 100
90 | targetCPUUtilizationPercentage: 80
91 | # targetMemoryUtilizationPercentage: 80
92 |
93 | nodeSelector: {}
94 |
95 | tolerations: []
96 |
97 | affinity: {}
98 |
--------------------------------------------------------------------------------
/charts/kutt/templates/deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ include "kutt.fullname" . }}
5 | labels:
6 | {{- include "kutt.labels" . | nindent 4 }}
7 | spec:
8 | {{- if not .Values.autoscaling.enabled }}
9 | replicas: {{ .Values.replicaCount }}
10 | {{- end }}
11 | selector:
12 | matchLabels:
13 | {{- include "kutt.selectorLabels" . | nindent 6 }}
14 | template:
15 | metadata:
16 | {{- with .Values.podAnnotations }}
17 | annotations:
18 | {{- toYaml . | nindent 8 }}
19 | {{- end }}
20 | labels:
21 | {{- include "kutt.selectorLabels" . | nindent 8 }}
22 | spec:
23 | {{- with .Values.imagePullSecrets }}
24 | imagePullSecrets:
25 | {{- toYaml . | nindent 8 }}
26 | {{- end }}
27 | serviceAccountName: {{ include "kutt.serviceAccountName" . }}
28 | securityContext:
29 | {{- toYaml .Values.podSecurityContext | nindent 8 }}
30 | containers:
31 | - name: {{ .Chart.Name }}
32 | securityContext:
33 | {{- toYaml .Values.securityContext | nindent 12 }}
34 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
35 | imagePullPolicy: {{ .Values.image.pullPolicy }}
36 | envFrom:
37 | - secretRef:
38 | name: kutt
39 | env:
40 | {{- range $key, $val := .Values.env }}
41 | - name : {{ $key }}
42 | value: {{ $val | quote }}
43 | {{- end }}
44 | - name: DB_PASSWORD
45 | valueFrom:
46 | secretKeyRef:
47 | name: kutt-postgresql
48 | key: postgres-password
49 | - name: REDIS_PASSWORD
50 | valueFrom:
51 | secretKeyRef:
52 | name: kutt-redis
53 | key: redis-password
54 | ports:
55 | - name: http
56 | containerPort: 3000
57 | protocol: TCP
58 | livenessProbe:
59 | httpGet:
60 | path: /
61 | port: http
62 | readinessProbe:
63 | httpGet:
64 | path: /
65 | port: http
66 | resources:
67 | {{- toYaml .Values.resources | nindent 12 }}
68 | {{- with .Values.nodeSelector }}
69 | nodeSelector:
70 | {{- toYaml . | nindent 8 }}
71 | {{- end }}
72 | {{- with .Values.affinity }}
73 | affinity:
74 | {{- toYaml . | nindent 8 }}
75 | {{- end }}
76 | {{- with .Values.tolerations }}
77 | tolerations:
78 | {{- toYaml . | nindent 8 }}
79 | {{- end }}
80 |
--------------------------------------------------------------------------------
/charts/nocodb/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ template "common.names.fullname" . }}
5 | namespace: {{ .Release.Namespace | quote }}
6 | labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
7 | {{- if or .Values.service.annotations .Values.commonAnnotations }}
8 | {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.service.annotations .Values.commonAnnotations ) "context" . ) }}
9 | annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }}
10 | {{- end }}
11 | spec:
12 | type: {{ .Values.service.type }}
13 | {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }}
14 | clusterIP: {{ .Values.service.clusterIP }}
15 | {{- end }}
16 | {{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
17 | externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
18 | {{- end }}
19 | {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerSourceRanges)) }}
20 | loadBalancerSourceRanges: {{ .Values.service.loadBalancerSourceRanges }}
21 | {{- end }}
22 | {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerIP)) }}
23 | loadBalancerIP: {{ .Values.service.loadBalancerIP }}
24 | {{- end }}
25 | {{- if .Values.service.sessionAffinity }}
26 | sessionAffinity: {{ .Values.service.sessionAffinity }}
27 | {{- end }}
28 | {{- if .Values.service.sessionAffinityConfig }}
29 | sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }}
30 | {{- end }}
31 | ports:
32 | - name: http
33 | port: {{ coalesce .Values.service.ports.http .Values.service.port }}
34 | protocol: TCP
35 | targetPort: http
36 | {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty (coalesce .Values.service.nodePorts.http .Values.service.nodePort))) }}
37 | nodePort: {{ coalesce .Values.service.nodePorts.http .Values.service.nodePort }}
38 | {{- else if eq .Values.service.type "ClusterIP" }}
39 | nodePort: null
40 | {{- end }}
41 | {{- if .Values.service.extraPorts }}
42 | {{- include "common.tplvalues.render" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }}
43 | {{- end }}
44 | {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.podLabels .Values.commonLabels ) "context" . ) }}
45 | selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }}
46 |
--------------------------------------------------------------------------------
/charts/apicurio/templates/apicurio-studio-ui-deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ .Release.Name }}-ui
5 | namespace: {{ .Release.Namespace }}
6 | labels:
7 | org.apicurio.instance: {{ .Release.Name }}-ui
8 | spec:
9 | replicas: {{ .Values.ui.replicas }}
10 | selector:
11 | matchLabels:
12 | org.apicurio.instance: {{ .Release.Name }}-ui
13 | template:
14 | metadata:
15 | labels:
16 | org.apicurio.instance: {{ .Release.Name }}-ui
17 | annotations:
18 | # Force a pod restart if secret values change
19 | checksum/secrets: {{ include "secrets_ui" . | sha256sum }}
20 | spec:
21 | securityContext:
22 | {{- .Values.ui.securityContext | toYaml | nindent 8 }}
23 | restartPolicy: Always
24 | containers:
25 | - name: api
26 | image: "{{ .Values.ui.image.name }}:{{ .Values.ui.image.tag }}"
27 | imagePullPolicy: {{ .Values.ui.imagePullPolicy }}
28 | terminationMessagePolicy: FallbackToLogsOnError
29 | env:
30 | # UI Settings
31 | - name: APICURIO_UI_FEATURE_SHARE_WITH_EVERYONE
32 | value: {{ .Values.general.shareForEveryone | quote }}
33 | - name: APICURIO_UI_HUB_API_URL
34 | value: {{ coalesce .Values.ui.apiUrl (print "https://" .Values.general.hostname "/studio-api") }}
35 | - name: APICURIO_UI_EDITING_URL
36 | value: {{ coalesce .Values.ui.editingUrl (print "wss://" .Values.general.hostname "/ws") }}
37 |
38 | # Microcks settings
39 | - name: APICURIO_MICROCKS_API_URL
40 | value: {{ .Values.microcks.api.url | quote }}
41 | - name: APICURIO_MICROCKS_CLIENT_ID
42 | value: {{ .Values.microcks.client.id | quote }}
43 |
44 | # Keycloak settings
45 | - name: APICURIO_KC_AUTH_URL
46 | value: {{ .Values.keycloak.url | quote }}
47 | - name: APICURIO_KC_REALM
48 | value: {{ .Values.keycloak.realm | quote }}
49 | - name: APICURIO_KC_CLIENT_ID
50 | value: {{ .Values.keycloak.client.id | quote }}
51 |
52 | {{- range $key, $value := .Values.ui.extraEnvVars }}
53 | - name: {{ $key }}
54 | value: |-
55 | {{- tpl $value $ | nindent 16 }}
56 | {{- end }}
57 |
58 | envFrom:
59 | - secretRef:
60 | name: {{ .Release.Name }}-ui
61 |
62 | ports:
63 | - containerPort: 8080
64 | readinessProbe:
65 | {{- include "httpProbe" "/ready" | nindent 12 }}
66 | livenessProbe:
67 | {{- include "httpProbe" "/ready" | nindent 12 }}
68 |
--------------------------------------------------------------------------------
/charts/apicurio/templates/apicurio-studio-ws-deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ .Release.Name }}-ws
5 | namespace: {{ .Release.Namespace }}
6 | labels:
7 | org.apicurio.instance: {{ .Release.Name }}-ws
8 | spec:
9 | replicas: {{ .Values.ws.replicas }}
10 | selector:
11 | matchLabels:
12 | org.apicurio.instance: {{ .Release.Name }}-ws
13 | template:
14 | metadata:
15 | labels:
16 | org.apicurio.instance: {{ .Release.Name }}-ws
17 | annotations:
18 | # Force a pod restart if secret values change
19 | checksum/secrets: {{ include "secrets_ws" . | sha256sum }}
20 | spec:
21 | securityContext:
22 | {{- .Values.ws.securityContext | toYaml | nindent 8 }}
23 | restartPolicy: Always
24 |
25 | initContainers:
26 | {{- if .Values.api.wait }}
27 | # Wait for db
28 | - name: wait-db
29 | image: jwilder/dockerize
30 | imagePullPolicy: IfNotPresent
31 | args:
32 | - -wait
33 | - tcp://{{ include "dbHost" . }}:{{ .Values.postgresql.service.port }}
34 | - -timeout
35 | - 300s
36 | {{- end}}
37 |
38 | containers:
39 | - name: api
40 | image: "{{ .Values.ws.image.name }}:{{ .Values.ws.image.tag }}"
41 | imagePullPolicy: {{ .Values.ws.imagePullPolicy }}
42 | terminationMessagePolicy: FallbackToLogsOnError
43 | env:
44 | # DB settings
45 | - name: APICURIO_DB_CONNECTION_URL
46 | value: {{ include "dbUrl" . | quote }}
47 | - name: APICURIO_DB_DRIVER_NAME
48 | value: {{ .Values.database.driver | quote }}
49 | - name: APICURIO_DB_INITIALIZE
50 | value: {{ .Values.database.initialize | quote }}
51 | - name: APICURIO_DB_TYPE
52 | value: {{ .Values.database.type | quote }}
53 | - name: APICURIO_DB_USER_NAME
54 | value: {{ .Values.postgresql.postgresqlUsername | quote }}
55 |
56 | # Others
57 | - name: APICURIO_SHARE_FOR_EVERYONE
58 | value: {{ .Values.general.shareForEveryone | quote }}
59 |
60 | {{- range $key, $value := .Values.ws.extraEnvVars }}
61 | - name: {{ $key }}
62 | value: |-
63 | {{- tpl $value $ | nindent 16 }}
64 | {{- end }}
65 |
66 | envFrom:
67 | - secretRef:
68 | name: {{ .Release.Name }}-ws
69 |
70 | ports:
71 | - containerPort: 8080
72 | readinessProbe:
73 | {{- include "httpProbe" "/metrics" | nindent 12 }}
74 | livenessProbe:
75 | {{- include "httpProbe" "/metrics" | nindent 12 }}
76 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/templates/deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ include "uptime-wrapper.fullname" . }}
5 | labels:
6 | {{- include "uptime-wrapper.labels" . | nindent 4 }}
7 | spec:
8 | {{- if not .Values.autoscaling.enabled }}
9 | replicas: {{ .Values.replicaCount }}
10 | {{- end }}
11 | selector:
12 | matchLabels:
13 | {{- include "uptime-wrapper.selectorLabels" . | nindent 6 }}
14 | template:
15 | metadata:
16 | {{- with .Values.podAnnotations }}
17 | annotations:
18 | {{- toYaml . | nindent 8 }}
19 | {{- end }}
20 | labels:
21 | {{- include "uptime-wrapper.labels" . | nindent 8 }}
22 | {{- with .Values.podLabels }}
23 | {{- toYaml . | nindent 8 }}
24 | {{- end }}
25 | spec:
26 | {{- with .Values.imagePullSecrets }}
27 | imagePullSecrets:
28 | {{- toYaml . | nindent 8 }}
29 | {{- end }}
30 | serviceAccountName: {{ include "uptime-wrapper.serviceAccountName" . }}
31 | securityContext:
32 | {{- toYaml .Values.podSecurityContext | nindent 8 }}
33 | containers:
34 | - name: {{ .Chart.Name }}
35 | securityContext:
36 | {{- toYaml .Values.securityContext | nindent 12 }}
37 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
38 | imagePullPolicy: {{ .Values.image.pullPolicy }}
39 | ports:
40 | - name: http
41 | containerPort: {{ .Values.service.port }}
42 | protocol: TCP
43 | env:
44 | - name: KUMA_SERVER
45 | value: {{ .Values.env.KUMA_SERVER }}
46 | - name: KUMA_USERNAME
47 | value: {{ .Values.env.KUMA_USERNAME }}
48 | envFrom:
49 | - secretRef:
50 | name: {{ include "uptime-wrapper.fullname" . }}-secret
51 |
52 | livenessProbe:
53 | {{- toYaml .Values.livenessProbe | nindent 12 }}
54 | readinessProbe:
55 | {{- toYaml .Values.readinessProbe | nindent 12 }}
56 | resources:
57 | {{- toYaml .Values.resources | nindent 12 }}
58 | {{- with .Values.volumeMounts }}
59 | volumeMounts:
60 | {{- toYaml . | nindent 12 }}
61 | {{- end }}
62 | {{- with .Values.volumes }}
63 | volumes:
64 | {{- toYaml . | nindent 8 }}
65 | {{- end }}
66 | {{- with .Values.nodeSelector }}
67 | nodeSelector:
68 | {{- toYaml . | nindent 8 }}
69 | {{- end }}
70 | {{- with .Values.affinity }}
71 | affinity:
72 | {{- toYaml . | nindent 8 }}
73 | {{- end }}
74 | {{- with .Values.tolerations }}
75 | tolerations:
76 | {{- toYaml . | nindent 8 }}
77 | {{- end }}
78 |
--------------------------------------------------------------------------------
/charts/sydent/README.md:
--------------------------------------------------------------------------------
1 | # sydent
2 |
3 |   
4 |
5 | A Helm chart for Kubernetes
6 |
7 | ## Maintainers
8 |
9 | | Name | Email | Url |
10 | | ---- | ------ | --- |
11 | | bisonlou | | |
12 |
13 | ## Values
14 |
15 | | Key | Type | Default | Description |
16 | |-----|------|---------|-------------|
17 | | affinity | object | `{}` | |
18 | | autoscaling.enabled | bool | `false` | |
19 | | autoscaling.maxReplicas | int | `100` | |
20 | | autoscaling.minReplicas | int | `1` | |
21 | | autoscaling.targetCPUUtilizationPercentage | int | `80` | |
22 | | env.default.password | string | `"sydentpassword"` | |
23 | | env.default.templatePath | string | `"res"` | |
24 | | env.default.username | string | `"sydentusername"` | |
25 | | env.email.hostname | string | `"smtphostname"` | |
26 | | env.email.smtphost | string | `"smtp.gmail.com"` | |
27 | | env.email.smtppassword | string | `"smtpsupersecretpassword"` | |
28 | | env.email.smtpport | int | `25` | |
29 | | env.email.smtpusername | string | `"devops.oneacrefund.org"` | |
30 | | env.email.tlsmode | int | `0` | |
31 | | fullnameOverride | string | `""` | |
32 | | image.pullPolicy | string | `"IfNotPresent"` | |
33 | | image.repository | string | `"oaftech.azurecr.io/oneacrefund/sydent"` | |
34 | | image.tag | string | `"latest"` | |
35 | | imagePullSecrets | list | `[]` | |
36 | | ingress.annotations | object | `{}` | |
37 | | ingress.className | string | `""` | |
38 | | ingress.enabled | bool | `false` | |
39 | | ingress.hosts[0].host | string | `"chart-example.local"` | |
40 | | ingress.hosts[0].paths[0].path | string | `"/"` | |
41 | | ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
42 | | ingress.tls | list | `[]` | |
43 | | nameOverride | string | `""` | |
44 | | nodeSelector | object | `{}` | |
45 | | podAnnotations | object | `{}` | |
46 | | podSecurityContext.fsGroup | int | `993` | |
47 | | podSecurityContext.runAsGroup | int | `933` | |
48 | | podSecurityContext.runAsUser | int | `993` | |
49 | | replicaCount | int | `1` | |
50 | | resources | object | `{}` | |
51 | | securityContext | object | `{}` | |
52 | | service.port | int | `8090` | |
53 | | service.type | string | `"ClusterIP"` | |
54 | | serviceAccount.annotations | object | `{}` | |
55 | | serviceAccount.create | bool | `true` | |
56 | | serviceAccount.name | string | `""` | |
57 | | tolerations | list | `[]` | |
58 |
59 | ----------------------------------------------
60 | Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1)
61 |
--------------------------------------------------------------------------------
/charts/sydent/templates/deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ include "sydent.fullname" . }}
5 | labels:
6 | {{- include "sydent.labels" . | nindent 4 }}
7 | spec:
8 | {{- if not .Values.autoscaling.enabled }}
9 | replicas: {{ .Values.replicaCount }}
10 | {{- end }}
11 | selector:
12 | matchLabels:
13 | {{- include "sydent.selectorLabels" . | nindent 6 }}
14 | template:
15 | metadata:
16 | {{- with .Values.podAnnotations }}
17 | annotations:
18 | {{- toYaml . | nindent 8 }}
19 | {{- end }}
20 | labels:
21 | {{- include "sydent.selectorLabels" . | nindent 8 }}
22 | spec:
23 | {{- with .Values.imagePullSecrets }}
24 | imagePullSecrets:
25 | {{- toYaml . | nindent 8 }}
26 | {{- end }}
27 | serviceAccountName: {{ include "sydent.serviceAccountName" . }}
28 | securityContext:
29 | {{- toYaml .Values.podSecurityContext | nindent 8 }}
30 | containers:
31 | - name: {{ .Chart.Name }}
32 | securityContext:
33 | {{- toYaml .Values.securityContext | nindent 12 }}
34 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
35 | imagePullPolicy: {{ .Values.image.pullPolicy }}
36 | env:
37 | - name: SYDENT_SMTP_HOST
38 | value: {{ .Values.env.email.smtphost }}
39 | - name: SYDENT_SMTP_PORT
40 | value: {{ .Values.env.email.smtpport | quote }}
41 | - name: SYDENT_SMTP_USER
42 | value: {{ .Values.env.email.smtpusername }}
43 | - name: SYDENT_SMTP_HOSTNAME
44 | value: {{ .Values.env.email.hostname }}
45 | - name: SYDENT_TLS_MODE
46 | value: {{ .Values.env.email.tlsmode | quote }}
47 | - name: SYDENT_TEMPLATES_PATH
48 | value: {{ .Values.env.default.templatePath | quote }}
49 | envFrom:
50 | - secretRef:
51 | name: {{ .Release.Name }}-config
52 | ports:
53 | - name: http
54 | containerPort: {{ .Values.service.port }}
55 | protocol: TCP
56 | # livenessProbe:
57 | # httpGet:
58 | # path: /
59 | # port: http
60 | # readinessProbe:
61 | # httpGet:
62 | # path: /
63 | # port: http
64 | resources:
65 | {{- toYaml .Values.resources | nindent 12 }}
66 | {{- with .Values.nodeSelector }}
67 | nodeSelector:
68 | {{- toYaml . | nindent 8 }}
69 | {{- end }}
70 | {{- with .Values.affinity }}
71 | affinity:
72 | {{- toYaml . | nindent 8 }}
73 | {{- end }}
74 | {{- with .Values.tolerations }}
75 | tolerations:
76 | {{- toYaml . | nindent 8 }}
77 | {{- end }}
78 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/README.md:
--------------------------------------------------------------------------------
1 | # uptime-wrapper
2 |
3 |   
4 |
5 | A Helm chart for Kubernetes
6 |
7 | ## Maintainers
8 |
9 | | Name | Email | Url |
10 | | ---- | ------ | --- |
11 | | bisonlou | | |
12 |
13 | ## Values
14 |
15 | | Key | Type | Default | Description |
16 | |-----|------|---------|-------------|
17 | | affinity | object | `{}` | |
18 | | autoscaling.enabled | bool | `false` | |
19 | | autoscaling.maxReplicas | int | `100` | |
20 | | autoscaling.minReplicas | int | `1` | |
21 | | autoscaling.targetCPUUtilizationPercentage | int | `80` | |
22 | | env.ADMIN_PASSWORD | string | `"change_me"` | |
23 | | env.KUMA_PASSWORD | string | `"change_me"` | |
24 | | env.KUMA_SERVER | string | `"http://uptime-kuma-web:3001"` | |
25 | | env.KUMA_USERNAME | string | `"admin"` | |
26 | | env.SECRET_KEY | string | `"32_character_secret_key"` | |
27 | | fullnameOverride | string | `""` | |
28 | | image.pullPolicy | string | `"IfNotPresent"` | |
29 | | image.repository | string | `"oaftech.azurecr.io/oneacrefund/uptime-wrapper-api"` | |
30 | | image.tag | string | `"latest"` | |
31 | | imagePullSecrets | list | `[]` | |
32 | | ingress.annotations | object | `{}` | |
33 | | ingress.className | string | `""` | |
34 | | ingress.enabled | bool | `false` | |
35 | | ingress.hosts[0].host | string | `"chart-example.local"` | |
36 | | ingress.hosts[0].paths[0].path | string | `"/"` | |
37 | | ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
38 | | ingress.tls | list | `[]` | |
39 | | livenessProbe.httpGet.path | string | `"/"` | |
40 | | livenessProbe.httpGet.port | string | `"http"` | |
41 | | nameOverride | string | `""` | |
42 | | nodeSelector | object | `{}` | |
43 | | podAnnotations | object | `{}` | |
44 | | podLabels | object | `{}` | |
45 | | podSecurityContext | object | `{}` | |
46 | | readinessProbe.httpGet.path | string | `"/"` | |
47 | | readinessProbe.httpGet.port | string | `"http"` | |
48 | | replicaCount | int | `1` | |
49 | | resources | object | `{}` | |
50 | | securityContext | object | `{}` | |
51 | | service.port | int | `8000` | |
52 | | service.targetPort | string | `"http"` | |
53 | | service.type | string | `"ClusterIP"` | |
54 | | serviceAccount.annotations | object | `{}` | |
55 | | serviceAccount.automount | bool | `true` | |
56 | | serviceAccount.create | bool | `true` | |
57 | | serviceAccount.name | string | `""` | |
58 | | tolerations | list | `[]` | |
59 | | volumeMounts | list | `[]` | |
60 | | volumes | list | `[]` | |
61 |
62 | ----------------------------------------------
63 | Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1)
64 |
--------------------------------------------------------------------------------
/charts/mautic/templates/deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ include "mautic.fullname" . }}
5 | labels:
6 | {{- include "mautic.labels" . | nindent 4 }}
7 | spec:
8 | replicas: {{ .Values.replicaCount }}
9 | {{- with .Values.strategy }}
10 | strategy:
11 | {{- toYaml . | nindent 4 }}
12 | {{- end }}
13 | selector:
14 | matchLabels:
15 | app.kubernetes.io/name: {{ include "mautic.name" . }}
16 | app.kubernetes.io/instance: {{ .Release.Name }}
17 | template:
18 | metadata:
19 | labels:
20 | app.kubernetes.io/name: {{ include "mautic.name" . }}
21 | app.kubernetes.io/instance: {{ .Release.Name }}
22 | spec:
23 | {{- with .Values.imagePullSecrets }}
24 | imagePullSecrets:
25 | {{- toYaml . | nindent 8 }}
26 | {{- end }}
27 | initContainers:
28 | # Wait for DB
29 | - name: wait-db
30 | image: jwilder/dockerize
31 | # We don't care about having latest...
32 | imagePullPolicy: IfNotPresent
33 | command:
34 | - sh
35 | - -c
36 | - dockerize -timeout=120s -wait tcp://{{ include "db_host" .}}
37 | containers:
38 | - name: {{ .Chart.Name }}
39 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
40 | imagePullPolicy: {{ .Values.image.pullPolicy }}
41 | env:
42 | - name: MAUTIC_DB_HOST
43 | value: {{ include "db_host" . | quote }}
44 | - name: MAUTIC_DB_USER
45 | value: {{ .Values.mariadb.auth.username | quote }}
46 | - name: MAUTIC_DB_NAME
47 | value: {{ .Values.mariadb.auth.database | quote }}
48 | {{- range $key, $value := .Values.extraEnvs }}
49 | - name: {{ $key | quote }}
50 | value: |-
51 | {{- tpl $value $ | nindent 18 }}
52 | {{- end }}
53 | envFrom:
54 | - secretRef:
55 | name: {{ include "mautic.fullname" . | quote }}
56 | ports:
57 | - name: http
58 | containerPort: 80
59 | protocol: TCP
60 | {{- if .Values.probes }}
61 | {{- toYaml .Values.probes | nindent 10 }}
62 | {{- end }}
63 | resources:
64 | {{- toYaml .Values.resources | nindent 12 }}
65 | volumeMounts:
66 | - name: var-www-html
67 | mountPath: /var/www/html
68 | {{- with .Values.nodeSelector }}
69 | nodeSelector:
70 | {{- toYaml . | nindent 8 }}
71 | {{- end }}
72 | {{- with .Values.affinity }}
73 | affinity:
74 | {{- toYaml . | nindent 8 }}
75 | {{- end }}
76 | {{- with .Values.tolerations }}
77 | tolerations:
78 | {{- toYaml . | nindent 8 }}
79 | {{- end }}
80 | volumes:
81 | - name: var-www-html
82 | persistentVolumeClaim:
83 | {{- if .Values.persistence.existingClaim }}
84 | claimName: {{ .Values.persistence.existingClaim }}
85 | {{- else }}
86 | claimName: {{ include "mautic.name" .}}-var-www-html
87 | {{- end }}
88 |
--------------------------------------------------------------------------------
/charts/uptime-wrapper/values.yaml:
--------------------------------------------------------------------------------
1 | # Default values for uptime-wrapper.
2 | # This is a YAML-formatted file.
3 | # Declare variables to be passed into your templates.
4 |
5 | replicaCount: 1
6 |
7 | image:
8 | repository: oaftech.azurecr.io/oneacrefund/uptime-wrapper-api
9 | pullPolicy: IfNotPresent
10 | # Overrides the image tag whose default is the chart appVersion.
11 | tag: "latest"
12 |
13 | env:
14 | KUMA_SERVER: "http://uptime-kuma-web:3001"
15 | KUMA_USERNAME: "admin"
16 | KUMA_PASSWORD: "change_me"
17 | ADMIN_PASSWORD: "change_me"
18 | SECRET_KEY: "32_character_secret_key"
19 |
20 | imagePullSecrets: []
21 | nameOverride: ""
22 | fullnameOverride: ""
23 |
24 | serviceAccount:
25 | # Specifies whether a service account should be created
26 | create: true
27 | # Automatically mount a ServiceAccount's API credentials?
28 | automount: true
29 | # Annotations to add to the service account
30 | annotations: {}
31 | # The name of the service account to use.
32 | # If not set and create is true, a name is generated using the fullname template
33 | name: ""
34 |
35 | podAnnotations: {}
36 | podLabels: {}
37 |
38 | podSecurityContext: {}
39 | # fsGroup: 2000
40 |
41 | securityContext: {}
42 | # capabilities:
43 | # drop:
44 | # - ALL
45 | # readOnlyRootFilesystem: true
46 | # runAsNonRoot: true
47 | # runAsUser: 1000
48 |
49 | service:
50 | type: ClusterIP
51 | port: 8000
52 | targetPort: http
53 |
54 | ingress:
55 | enabled: false
56 | className: ""
57 | annotations: {}
58 | # kubernetes.io/ingress.class: nginx
59 | # kubernetes.io/tls-acme: "true"
60 | hosts:
61 | - host: chart-example.local
62 | paths:
63 | - path: /
64 | pathType: ImplementationSpecific
65 | tls: []
66 | # - secretName: chart-example-tls
67 | # hosts:
68 | # - chart-example.local
69 |
70 | resources: {}
71 | # We usually recommend not to specify default resources and to leave this as a conscious
72 | # choice for the user. This also increases chances charts run on environments with little
73 | # resources, such as Minikube. If you do want to specify resources, uncomment the following
74 | # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
75 | # limits:
76 | # cpu: 100m
77 | # memory: 128Mi
78 | # requests:
79 | # cpu: 100m
80 | # memory: 128Mi
81 |
82 | livenessProbe:
83 | httpGet:
84 | path: /
85 | port: http
86 | readinessProbe:
87 | httpGet:
88 | path: /
89 | port: http
90 |
91 | autoscaling:
92 | enabled: false
93 | minReplicas: 1
94 | maxReplicas: 100
95 | targetCPUUtilizationPercentage: 80
96 | # targetMemoryUtilizationPercentage: 80
97 |
98 | # Additional volumes on the output Deployment definition.
99 | volumes: []
100 | # - name: foo
101 | # secret:
102 | # secretName: mysecret
103 | # optional: false
104 |
105 | # Additional volumeMounts on the output Deployment definition.
106 | volumeMounts: []
107 | # - name: foo
108 | # mountPath: "/etc/foo"
109 | # readOnly: true
110 |
111 | nodeSelector: {}
112 |
113 | tolerations: []
114 |
115 | affinity: {}
116 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/templates/job.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.job.enabled }}
2 | apiVersion: batch/v1
3 | kind: Job
4 | metadata:
5 | name: {{ include "oaf-odoo-data-migration.fullname" . }}-job
6 | labels:
7 | {{- include "oaf-odoo-data-migration.labels" . | nindent 4 }}
8 | spec:
9 | backoffLimit: {{ .Values.job.backoffLimit }}
10 | {{- if .Values.job.activeDeadlineSeconds }}
11 | activeDeadlineSeconds: {{ .Values.job.activeDeadlineSeconds }}
12 | {{- end }}
13 | {{- if .Values.job.ttlSecondsAfterFinished }}
14 | ttlSecondsAfterFinished: {{ .Values.job.ttlSecondsAfterFinished }}
15 | {{- end }}
16 | template:
17 | metadata:
18 | {{- with .Values.podAnnotations }}
19 | annotations:
20 | {{- toYaml . | nindent 8 }}
21 | {{- end }}
22 | labels:
23 | {{- include "oaf-odoo-data-migration.selectorLabels" . | nindent 8 }}
24 | spec:
25 | {{- with .Values.imagePullSecrets }}
26 | imagePullSecrets:
27 | {{- toYaml . | nindent 8 }}
28 | {{- end }}
29 | serviceAccountName: {{ include "oaf-odoo-data-migration.serviceAccountName" . }}
30 | securityContext:
31 | {{- toYaml .Values.podSecurityContext | nindent 8 }}
32 | restartPolicy: {{ .Values.job.restartPolicy }}
33 | containers:
34 | - name: {{ .Chart.Name }}
35 | securityContext:
36 | {{- toYaml .Values.securityContext | nindent 12 }}
37 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
38 | imagePullPolicy: {{ .Values.image.pullPolicy }}
39 | env:
40 | {{- include "oaf-odoo-data-migration.odooEnvVars" . | nindent 12 }}
41 | {{- range .Values.env }}
42 | - name: {{ .name }}
43 | value: {{ .value | quote }}
44 | {{- end }}
45 | {{- with .Values.envFrom }}
46 | envFrom:
47 | {{- toYaml . | nindent 12 }}
48 | {{- end }}
49 | resources:
50 | {{- toYaml .Values.resources | nindent 12 }}
51 | volumeMounts:
52 | {{- if .Values.dataFiles.configMapName }}
53 | - name: data-files
54 | mountPath: {{ .Values.dataFiles.mountPath }}
55 | readOnly: true
56 | {{- end }}
57 | {{- if .Values.persistence.enabled }}
58 | - name: data-storage
59 | mountPath: /app/data
60 | {{- end }}
61 | volumes:
62 | {{- if .Values.dataFiles.configMapName }}
63 | - name: data-files
64 | configMap:
65 | name: {{ .Values.dataFiles.configMapName }}
66 | {{- end }}
67 | {{- if .Values.persistence.enabled }}
68 | - name: data-storage
69 | persistentVolumeClaim:
70 | claimName: {{ include "oaf-odoo-data-migration.fullname" . }}-pvc
71 | {{- end }}
72 | {{- with .Values.nodeSelector }}
73 | nodeSelector:
74 | {{- toYaml . | nindent 8 }}
75 | {{- end }}
76 | {{- with .Values.affinity }}
77 | affinity:
78 | {{- toYaml . | nindent 8 }}
79 | {{- end }}
80 | {{- with .Values.tolerations }}
81 | tolerations:
82 | {{- toYaml . | nindent 8 }}
83 | {{- end }}
84 | {{- end }}
85 |
--------------------------------------------------------------------------------
/charts/oaf-odoo-data-migration/values.yaml:
--------------------------------------------------------------------------------
1 | # Default values for oaf-odoo-data-migration.
2 | # This is a YAML-formatted file.
3 | # Declare variables to be passed into your templates.
4 |
5 | replicaCount: 1
6 |
7 | image:
8 | repository: oaf-odoo-data-migration
9 | pullPolicy: IfNotPresent
10 | # Overrides the image tag whose default is the chart appVersion.
11 | tag: "latest"
12 |
13 | imagePullSecrets: []
14 | nameOverride: ""
15 | fullnameOverride: ""
16 |
17 | # Odoo connection configuration
18 | odoo:
19 | url: ""
20 | database: ""
21 | username: ""
22 | password: ""
23 |
24 | # Whether to store sensitive data in the chart's secret (recommended)
25 | useSecret: true
26 |
27 | # Job configuration - since this is a one-time data migration
28 | job:
29 | enabled: true
30 | restartPolicy: Never
31 | backoffLimit: 3
32 | activeDeadlineSeconds: 3600
33 | ttlSecondsAfterFinished: 86400
34 |
35 | # CronJob configuration - for scheduled migrations
36 | cronJob:
37 | enabled: false
38 | schedule: "0 2 * * *" # Run daily at 2 AM
39 | suspend: false
40 | successfulJobsHistoryLimit: 3
41 | failedJobsHistoryLimit: 1
42 |
43 | # Service configuration (not typically needed for batch jobs)
44 | service:
45 | type: ClusterIP
46 | port: 80
47 |
48 | # Data volume configuration
49 | persistence:
50 | enabled: true
51 | # existingClaim: ""
52 | storageClass: ""
53 | accessMode: ReadWriteOnce
54 | size: 2Gi # Increased size for larger files
55 | # If you want to use an existing PVC
56 | # existingClaim: "my-data-pvc"
57 |
58 | # Data files configuration
59 | dataFiles:
60 | # ConfigMap name for small files (< 1MB)
61 | configMapName: ""
62 | mountPath: "/app/data"
63 |
64 | serviceAccount:
65 | # Specifies whether a service account should be created
66 | create: true
67 | # Annotations to add to the service account
68 | annotations: {}
69 | # The name of the service account to use.
70 | # If not set and create is true, a name is generated using the fullname template
71 | name: ""
72 |
73 | podAnnotations: {}
74 |
75 | podSecurityContext:
76 | {}
77 | # fsGroup: 2000
78 |
79 | securityContext:
80 | {}
81 | # capabilities:
82 | # drop:
83 | # - ALL
84 | # readOnlyRootFilesystem: true
85 | # runAsNonRoot: true
86 | # runAsUser: 1000
87 |
88 | resources:
89 | # We usually recommend not to specify default resources and to leave this as a conscious
90 | # choice for the user. This also increases chances charts run on environments with little
91 | # resources, such as Minikube. If you do want to specify resources, uncomment the following
92 | # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
93 | limits:
94 | cpu: 500m
95 | memory: 512Mi
96 | requests:
97 | cpu: 100m
98 | memory: 128Mi
99 |
100 | nodeSelector: {}
101 |
102 | tolerations: []
103 |
104 | affinity: {}
105 |
106 | # Environment variables
107 | env:
108 | - name: PYTHONUNBUFFERED
109 | value: "1"
110 |
111 | # Additional environment variables from secrets
112 | envFrom:
113 | []
114 | # - secretRef:
115 | # name: odoo-credentials
116 |
117 | # Logging configuration
118 | logging:
119 | level: INFO
120 |
--------------------------------------------------------------------------------
/charts/kobotoolbox/templates/enketo-deploy.yaml:
--------------------------------------------------------------------------------
1 | # Sync gateway pod
2 | apiVersion: apps/v1
3 | kind: Deployment
4 | metadata:
5 | name: {{ .Release.Name }}-enketo
6 | namespace: {{ .Release.Namespace }}
7 | spec:
8 | replicas: {{ .Values.enketo.replicas }}
9 | selector:
10 | matchLabels:
11 | org.kobotoolbox.instance: {{ .Release.Name }}-enketo
12 | template:
13 | metadata:
14 | annotations:
15 | # Add a checksum to force the re-creation of the pods on every config update
16 | checksum/config: {{ tpl .Values.enketo.config . | sha256sum }}
17 | labels:
18 | org.kobotoolbox.instance: {{ .Release.Name }}-enketo
19 | spec:
20 | initContainers:
21 | # Copy settings from configmap to a volume, since it needs to be writable by the container, which ConfigMaps cannot be
22 | - name: copy-config
23 | image: busybox
24 | command:
25 | - sh
26 | - -c
27 | - |
28 | cp /config-init/config.json /srv/src/enketo_express/config/
29 | volumeMounts:
30 | - name: enketo-config
31 | mountPath: /config-init/config.json
32 | subPath: config.json
33 | readOnly: true
34 | - name: cache-volume
35 | subPath: config
36 | mountPath: /srv/src/enketo_express/config
37 |
38 | containers:
39 | # Enketo is the web-based form viewer
40 | - name: enketo
41 | image: "{{ .Values.enketo.image.name }}:{{ .Values.enketo.image.tag }}"
42 | terminationMessagePolicy: FallbackToLogsOnError
43 | volumeMounts:
44 | # Config
45 | - name: cache-volume
46 | subPath: config/config.json
47 | mountPath: /srv/src/enketo_express/config/config.json
48 | # Custom icons
49 | - name: kobo-assets
50 | mountPath: /srv/src/enketo_express/public/images/favicon.ico
51 | subPath: favicon.ico
52 | readOnly: true
53 | - name: kobo-assets
54 | mountPath: /srv/src/enketo_express/public/images/icon_180x180.png
55 | subPath: icon_180x180.png
56 | readOnly: true
57 | ports:
58 | - containerPort: 8005
59 | env:
60 | - name: ENKETO_BUILD_IE11
61 | value: 'true'
62 | # This one is REALLY slow to come up since we rebuild the entire webapp at startup...
63 | # It's probably best to not have a readiness probe, as this would delay the termination of older pods
64 | # readinessProbe:
65 | # tcpSocket:
66 | # port: 8005
67 | # initialDelaySeconds: 30
68 | # periodSeconds: 30
69 | # failureThreshold: 15
70 | livenessProbe:
71 | tcpSocket:
72 | port: 8005
73 | initialDelaySeconds: 600
74 | periodSeconds: 20
75 |
76 | volumes:
77 | - name: enketo-config
78 | secret:
79 | secretName: {{ .Release.Name }}-enketo
80 | - name: kobo-assets
81 | configMap:
82 | name: {{ .Release.Name }}-assets
83 | # Using an emptyDir to cache compiled statics... it will survive container crashes, but not pod restarts
84 | - name: cache-volume
85 | emptyDir: {}
86 |
--------------------------------------------------------------------------------
/charts/apicurio/templates/apicurio-studio-api-deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ .Release.Name }}-api
5 | namespace: {{ .Release.Namespace }}
6 | labels:
7 | org.apicurio.instance: {{ .Release.Name }}-api
8 | spec:
9 | replicas: {{ .Values.api.replicas }}
10 | selector:
11 | matchLabels:
12 | org.apicurio.instance: {{ .Release.Name }}-api
13 | template:
14 | metadata:
15 | labels:
16 | org.apicurio.instance: {{ .Release.Name }}-api
17 | annotations:
18 | # Force a pod restart if secret values change
19 | checksum/secrets: {{ include "secrets_api" . | sha256sum }}
20 | spec:
21 | securityContext:
22 | {{- .Values.api.securityContext | toYaml | nindent 8 }}
23 | restartPolicy: Always
24 |
25 | initContainers:
26 | {{- if .Values.api.wait }}
27 | # Wait for db
28 | - name: wait-db
29 | image: jwilder/dockerize
30 | imagePullPolicy: IfNotPresent
31 | args:
32 | - -timeout=300s
33 | - -wait=tcp://{{ include "dbHost" . }}:{{ .Values.postgresql.service.port }}
34 | {{- end }}
35 |
36 | containers:
37 | - name: api
38 | image: "{{ .Values.api.image.name }}:{{ .Values.api.image.tag }}"
39 | imagePullPolicy: {{ .Values.api.imagePullPolicy }}
40 | terminationMessagePolicy: FallbackToLogsOnError
41 | env:
42 | # DB settings
43 | - name: APICURIO_DB_CONNECTION_URL
44 | value: {{ include "dbUrl" . | quote }}
45 | - name: APICURIO_DB_DRIVER_NAME
46 | value: {{ .Values.database.driver | quote }}
47 | - name: APICURIO_DB_INITIALIZE
48 | value: {{ .Values.database.initialize | quote }}
49 | - name: APICURIO_DB_TYPE
50 | value: {{ .Values.database.type | quote }}
51 | - name: APICURIO_DB_USER_NAME
52 | value: {{ .Values.postgresql.postgresqlUsername | quote }}
53 |
54 | # Microcks settings
55 | - name: APICURIO_MICROCKS_API_URL
56 | value: {{ .Values.microcks.api.url | quote }}
57 | - name: APICURIO_MICROCKS_CLIENT_ID
58 | value: {{ .Values.microcks.client.id | quote }}
59 |
60 | # Keycloak settings
61 | - name: APICURIO_KC_AUTH_URL
62 | value: {{ .Values.keycloak.url | quote }}
63 | - name: APICURIO_KC_REALM
64 | value: {{ .Values.keycloak.realm | quote }}
65 | - name: APICURIO_KC_CLIENT_ID
66 | value: {{ .Values.keycloak.client.id | quote }}
67 |
68 | # Others
69 | - name: APICURIO_SHARE_FOR_EVERYONE
70 | value: {{ .Values.general.shareForEveryone | quote }}
71 |
72 | {{- range $key, $value := .Values.api.extraEnvVars }}
73 | - name: {{ $key }}
74 | value: |-
75 | {{- tpl $value $ | nindent 16 }}
76 | {{- end }}
77 |
78 | envFrom:
79 | - secretRef:
80 | name: {{ .Release.Name }}-api
81 |
82 | ports:
83 | - containerPort: 8080
84 |
85 | readinessProbe:
86 | {{- include "httpProbe" "/system/ready" | nindent 12 }}
87 | livenessProbe:
88 | {{- include "httpProbe" "/system/ready" | nindent 12 }}
89 |
--------------------------------------------------------------------------------