├── charts
├── salt
│ ├── templates
│ │ ├── NOTES.txt
│ │ ├── serviceaccount.yaml
│ │ ├── configmap.yaml
│ │ ├── service.yaml
│ │ ├── ingress.yaml
│ │ ├── _helpers.tpl
│ │ └── statefulset.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── README.md
│ └── values.yaml
├── librenms
│ ├── .gitignore
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── configmap-rrdcached.yaml
│ │ ├── service-app.yaml
│ │ ├── service-rrdcached.yaml
│ │ ├── service-smokeping.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── secret-env.yaml
│ │ ├── configmap-env.yaml
│ │ ├── service-syslog.yaml
│ │ ├── NOTES.txt
│ │ ├── ingress.yaml
│ │ ├── deployment-syslog.yaml
│ │ ├── configmap-app.yaml
│ │ ├── _helpers.tpl
│ │ ├── configmap-smokeping.yaml
│ │ └── deployment-poller.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── README.md
│ ├── values.schema.json
│ └── values.yaml
├── sshportal
│ ├── .gitignore
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── service.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── secret.yaml
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ └── statefulset.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ └── values.yaml
├── webhook-site
│ ├── .gitignore
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── webhook-service.yaml
│ │ ├── echo-service.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ ├── ingress.yaml
│ │ ├── webhook-deployment.yaml
│ │ └── echo-deployment.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── README.md
│ └── values.yaml
├── errbot
│ ├── .gitignore
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── service.yaml
│ │ ├── config.yaml
│ │ ├── NOTES.txt
│ │ ├── ingress.yaml
│ │ └── _helpers.tpl
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── README.md
│ └── values.yaml
├── nginx-static
│ ├── .gitignore
│ ├── Chart.yaml
│ ├── templates
│ │ ├── service.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── basic-auth.yaml
│ │ ├── pvc.yaml
│ │ ├── nginx-configmap.yaml
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ └── ingress.yaml
│ ├── .helmignore
│ ├── README.md
│ └── values.yaml
├── allure
│ ├── Chart.yaml
│ ├── templates
│ │ ├── configmap-ui.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── service-ui.yaml
│ │ ├── volume-api.yaml
│ │ ├── service-api.yaml
│ │ ├── configmap-api.yaml
│ │ ├── ingress.yaml
│ │ ├── deployment-ui.yaml
│ │ ├── deployment-api.yaml
│ │ └── _helpers.tpl
│ ├── .helmignore
│ ├── README.md
│ └── values.yaml
├── static-page
│ ├── Chart.yaml
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── service.yaml
│ │ ├── imagerepository-docker.yaml
│ │ ├── imagepolicy-docker.yaml
│ │ ├── hpa.yaml
│ │ ├── imageupdateautomation-docker.yaml
│ │ ├── NOTES.txt
│ │ ├── deployment.yaml
│ │ ├── ingress.yaml
│ │ └── _helpers.tpl
│ ├── .helmignore
│ ├── README.md
│ └── values.yaml
├── folding-at-home
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── config.yaml
│ │ ├── _helpers.tpl
│ │ └── application.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── README.md
│ └── values.yaml
├── unifi-controller
│ ├── templates
│ │ ├── serviceaccount.yaml
│ │ ├── service.yaml
│ │ ├── tests
│ │ │ └── test-connection.yaml
│ │ ├── NOTES.txt
│ │ ├── ingress.yaml
│ │ ├── _helpers.tpl
│ │ └── statefulset.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── README.md
│ └── values.yaml
└── fossology
│ ├── templates
│ ├── serviceaccount.yaml
│ ├── service.yaml
│ ├── config.yaml
│ ├── pvc.yaml
│ ├── ingress.yaml
│ ├── _helpers.tpl
│ └── statefulset.yaml
│ ├── .helmignore
│ ├── Chart.yaml
│ ├── README.md
│ └── values.yaml
├── .gitignore
├── .github
└── workflows
│ ├── release.yml
│ └── check.yaml
├── renovate.json
└── README.md
/charts/salt/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/charts/librenms/.gitignore:
--------------------------------------------------------------------------------
1 | /*.yaml
2 | !values.yaml
3 |
4 | charts/*
5 |
--------------------------------------------------------------------------------
/charts/sshportal/.gitignore:
--------------------------------------------------------------------------------
1 | *-values.yaml
2 | Chart.lock
3 | charts/
4 |
--------------------------------------------------------------------------------
/charts/webhook-site/.gitignore:
--------------------------------------------------------------------------------
1 | /values*
2 | !/values.yaml
3 |
4 | /charts/*
5 |
--------------------------------------------------------------------------------
/charts/errbot/.gitignore:
--------------------------------------------------------------------------------
1 | /*.yaml
2 | !values.yaml
3 | !Chart.yaml
4 |
5 | charts/*
6 |
--------------------------------------------------------------------------------
/charts/nginx-static/.gitignore:
--------------------------------------------------------------------------------
1 | Chart.lock
2 | charts/*
3 | /values-*
4 |
5 | *.pem
6 | *.pub
7 | *.key
8 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | charts/*/*.yaml
2 | !charts/*/Chart.yaml
3 | !charts/*/values.yaml
4 | **/values-*.yaml
5 | **/Chart.lock
6 | charts/**/charts/
7 |
--------------------------------------------------------------------------------
/charts/allure/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: allure
3 | type: application
4 | description: A Helm chart for Allure Report
5 |
6 | version: 0.1.3
7 | appVersion: "2.19.0"
8 | kubeVersion: ">= 1.19.0-0"
9 |
--------------------------------------------------------------------------------
/charts/nginx-static/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: nginx-static
3 | description: Deploy nginx with static pages
4 | type: application
5 | version: 0.1.6
6 | # renovate: datasource=docker depName=nginx
7 | appVersion: 1.27.2
8 |
--------------------------------------------------------------------------------
/charts/allure/templates/configmap-ui.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ include "allure.fullname" . }}-ui
5 | labels:
6 | {{- include "allure-ui.labels" . | nindent 4 }}
7 | data:
8 | {{- with .Values.ingress }}
9 | ALLURE_DOCKER_PUBLIC_API_URL: {{ .tls | ternary "https" "http" }}://{{ .hostname }}
10 | {{- end }}
11 |
--------------------------------------------------------------------------------
/charts/static-page/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: static-page
3 | description: Deploy a simple Docker image as static page.
4 | type: application
5 |
6 | version: 0.1.2
7 |
8 | appVersion: "0.0.0"
9 |
10 | kubeVersion: ">= 1.25.0"
11 | keywords:
12 | - "docs"
13 | - "midokura"
14 |
15 | maintainers:
16 | - name: Midokura DevOps
17 | email: team-devops@midokura.com
18 |
--------------------------------------------------------------------------------
/charts/salt/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "salt.serviceAccountName" . }}
6 | labels:
7 | {{- include "salt.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/errbot/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "errbot.serviceAccountName" . }}
6 | labels:
7 | {{- include "errbot.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/static-page/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "docs.serviceAccountName" . }}
6 | labels:
7 | {{- include "docs.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/folding-at-home/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "fah.serviceAccountName" . }}
6 | labels:
7 | {{- include "fah.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/librenms/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "librenms.serviceAccountName" . }}
6 | labels:
7 | {{- include "librenms.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/sshportal/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "sshportal.serviceAccountName" . }}
6 | labels:
7 | {{- include "sshportal.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/unifi-controller/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "unifi.serviceAccountName" . }}
6 | labels:
7 | {{- include "unifi.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/fossology/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "fossology.serviceAccountName" . }}
6 | labels:
7 | {{- include "fossology.base.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/webhook-site/templates/serviceaccount.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.serviceAccount.create -}}
2 | apiVersion: v1
3 | kind: ServiceAccount
4 | metadata:
5 | name: {{ include "webhook-site.serviceAccountName" . }}
6 | labels:
7 | {{- include "webhook-site.labels" . | nindent 4 }}
8 | {{- with .Values.serviceAccount.annotations }}
9 | annotations:
10 | {{- toYaml . | nindent 4 }}
11 | {{- end }}
12 | {{- end }}
13 |
--------------------------------------------------------------------------------
/charts/librenms/templates/configmap-rrdcached.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ include "librenms.fullname" . }}-rrdcached
5 | labels:
6 | {{- include "librenms.rrdcached.labels" . | nindent 4 }}
7 | data:
8 | TZ: {{ .Values.timezone | default "Etc/UTC" }}
9 | LOG_LEVEL: "LOG_INFO"
10 | WRITE_TIMEOUT: "1800"
11 | WRITE_JITTER: "900"
12 | WRITE_THREADS: "4"
13 | FLUSH_DEAD_DATA_INTERVAL: "3600"
14 |
--------------------------------------------------------------------------------
/charts/folding-at-home/templates/config.yaml:
--------------------------------------------------------------------------------
1 | {{- $fullName := include "fah.fullname" . }}
2 | apiVersion: v1
3 | kind: Secret
4 | metadata:
5 | name: {{ printf "%s-config" $fullName }}
6 | labels:
7 | {{- include "fah.labels" . | nindent 4 }}
8 | stringData:
9 | config.xml: |
10 |
11 | {{- range $name, $value := .Values.config }}
12 | <{{ $name }} value={{ $value | quote }} />
13 | {{- end }}
14 |
15 |
--------------------------------------------------------------------------------
/charts/static-page/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "docs.fullname" . }}
5 | labels:
6 | {{- include "docs.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 "docs.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/charts/unifi-controller/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "unifi.fullname" . }}
5 | labels:
6 | {{- include "unifi.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 "unifi.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/charts/salt/.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/allure/.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/errbot/.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/fossology/.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/librenms/.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/sshportal/.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/librenms/templates/service-app.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "librenms.fullname" . }}
5 | labels:
6 | {{- include "librenms.app.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.app.service.type }}
9 | ports:
10 | - name: http
11 | port: {{ .Values.app.service.port }}
12 | targetPort: http
13 | protocol: TCP
14 | selector:
15 | {{- include "librenms.app.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/charts/nginx-static/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "nginx-static.fullname" . }}
5 | labels:
6 | {{- include "nginx-static.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 "nginx-static.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/charts/static-page/.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/webhook-site/.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/errbot/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "errbot.fullname" . }}
5 | labels:
6 | {{- include "errbot.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - name: http
11 | port: {{ .Values.service.port }}
12 | targetPort: http
13 | protocol: TCP
14 | appProtocol: http
15 | selector:
16 | {{- include "errbot.selectorLabels" . | nindent 4 }}
17 |
--------------------------------------------------------------------------------
/charts/folding-at-home/.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/allure/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "allure.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "allure.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 "allure.fullname" . }}-ui:{{ .Values.ui.service.port }}']
15 | restartPolicy: Never
16 |
--------------------------------------------------------------------------------
/charts/sshportal/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "sshportal.fullname" . }}
5 | labels:
6 | {{- include "sshportal.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - port: {{ .Values.service.port }}
11 | targetPort: ssh
12 | nodePort: 32222
13 | protocol: TCP
14 | name: ssh
15 | selector:
16 | {{- include "sshportal.selectorLabels" . | nindent 4 }}
17 |
--------------------------------------------------------------------------------
/charts/fossology/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "fossology.fullname" . }}
5 | labels:
6 | {{- include "fossology.web.labels" . | nindent 4 }}
7 | spec:
8 | selector:
9 | {{- include "fossology.web.selectorLabels" . | nindent 4 }}
10 | {{- with .Values.web.service }}
11 | type: {{ .type }}
12 | ports:
13 | - port: {{ .port }}
14 | targetPort: http
15 | protocol: TCP
16 | name: http
17 | {{- end }}
18 |
--------------------------------------------------------------------------------
/charts/unifi-controller/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "unifi.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "unifi.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 "unifi.fullname" . }}:{{ .Values.service.port }}']
15 | restartPolicy: Never
16 |
--------------------------------------------------------------------------------
/charts/sshportal/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "sshportal.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "sshportal.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 "sshportal.fullname" . }}:{{ .Values.service.port }}']
15 | restartPolicy: Never
16 |
--------------------------------------------------------------------------------
/charts/webhook-site/templates/webhook-service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "webhook-site.fullname" . }}
5 | labels:
6 | {{- include "webhook-site.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.app.service.type }}
9 | ports:
10 | - port: {{ .Values.app.service.port }}
11 | targetPort: http
12 | protocol: TCP
13 | name: http
14 | selector:
15 | {{- include "webhook-site.app.selectorLabels" . | nindent 4 }}
16 |
--------------------------------------------------------------------------------
/charts/nginx-static/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "nginx-static.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "nginx-static.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 "nginx-static.fullname" . }}:{{ .Values.service.port }}']
15 | restartPolicy: Never
16 |
--------------------------------------------------------------------------------
/charts/unifi-controller/.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 |
25 | values-*.yaml
26 |
--------------------------------------------------------------------------------
/charts/sshportal/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: sshportal
3 | description: simple, fun and transparent SSH (and telnet) bastion server
4 |
5 | type: application
6 | version: 0.1.4
7 | # renovate: datasource=docker depName=moul/sshportal
8 | appVersion: 1.19.3
9 | home: https://github.com/moul/sshportal
10 | sources:
11 | - https://github.com/moul/sshportal
12 |
13 | dependencies:
14 | - name: mariadb
15 | alias: mysql
16 | version: 11.5.7
17 | repository: https://charts.bitnami.com/bitnami
18 |
--------------------------------------------------------------------------------
/charts/webhook-site/templates/echo-service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | # enforced by image nginx.conf
5 | name: laravel-echo-server
6 | labels:
7 | {{- include "webhook-site.labels" . | nindent 4 }}
8 | spec:
9 | type: {{ .Values.echo.service.type }}
10 | ports:
11 | - port: {{ .Values.echo.service.port }}
12 | targetPort: http
13 | protocol: TCP
14 | name: http
15 | selector:
16 | {{- include "webhook-site.echo.selectorLabels" . | nindent 4 }}
17 |
--------------------------------------------------------------------------------
/charts/salt/templates/configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ include "salt.fullname" . }}-config
5 | labels:
6 | {{- include "salt.master.labels" . | nindent 4 }}
7 | data:
8 | master.conf: |
9 | color: False
10 | auto_accept: False
11 | file_roots:
12 | base:
13 | {{- if .Values.master.file_root }}
14 | - {{ .Values.master.file_root }}
15 | {{- else }}
16 | - /srv/salt
17 | {{- end }}
18 | #env_order: ["base"]
19 |
--------------------------------------------------------------------------------
/charts/nginx-static/templates/basic-auth.yaml:
--------------------------------------------------------------------------------
1 | {{- if and .Values.ingress.auth.enabled .Values.ingress.auth.users }}
2 | apiVersion: v1
3 | kind: Secret
4 | type: Opaque
5 | # type: kubernetes.io/basic-auth
6 | metadata:
7 | name: {{ printf "%s-auth" .Release.Name }}
8 | labels:
9 | {{- include "nginx-static.labels" . | nindent 4 }}
10 | stringData:
11 | auth: |
12 | {{- range .Values.ingress.auth.users }}
13 | {{ htpasswd (.username | toString) (.password | toString) }}
14 | {{- end }}
15 | {{- end }}
16 |
--------------------------------------------------------------------------------
/charts/webhook-site/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | {{- $fullName := include "webhook-site.fullname" . }}
2 | apiVersion: v1
3 | kind: Pod
4 | metadata:
5 | name: {{ $fullName }}-test-connection
6 | labels:
7 | {{- include "webhook-site.labels" . | nindent 4 }}
8 | annotations:
9 | "helm.sh/hook": test
10 | spec:
11 | containers:
12 | - name: wget
13 | image: busybox
14 | command: ['wget']
15 | args: ['{{ printf "%s:%s" $fullName .Values.app.service.port }}']
16 | restartPolicy: Never
17 |
--------------------------------------------------------------------------------
/charts/nginx-static/.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 |
25 | values-*.yaml
26 |
27 | *.key
28 | *.pub
29 |
--------------------------------------------------------------------------------
/charts/librenms/templates/service-rrdcached.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "librenms.fullname" . }}-rrdcached
5 | labels:
6 | {{- include "librenms.app.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.app.service.type }}
9 | {{- if eq .Values.app.service.type "ClusterIP" }}
10 | clusterIP: None
11 | {{- end }}
12 | ports:
13 | - name: rrd
14 | port: 42217
15 | protocol: TCP
16 | selector:
17 | {{- include "librenms.app.selectorLabels" . | nindent 4 }}
18 |
--------------------------------------------------------------------------------
/charts/errbot/templates/config.yaml:
--------------------------------------------------------------------------------
1 | {{- if (and (not .Values.config.existingName) (.Values.config.values)) }}
2 | apiVersion: v1
3 | kind: {{ .Values.config.type }}
4 | metadata:
5 | name: {{ include "errbot.fullname" . }}-config
6 | labels:
7 | {{- include "errbot.labels" . | nindent 4 }}
8 | data:
9 | {{- with .Values.config }}
10 | config.py: |
11 | {{- if eq .type "Secret" }}
12 | {{ .values | b64enc }}
13 | {{- else if eq .type "ConfigMap" }}
14 | {{ .values | nindent 4 }}
15 | {{- end }}
16 | {{- end }}
17 | {{- end }}
18 |
--------------------------------------------------------------------------------
/charts/allure/templates/service-ui.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "allure.fullname" . }}-ui
5 | labels:
6 | {{- include "allure-ui.labels" . | nindent 4 }}
7 | {{- with .Values.ui.service.annotations }}
8 | annotations:
9 | {{- toYaml . | nindent 8 }}
10 | {{- end }}
11 | spec:
12 | type: {{ .Values.ui.service.type }}
13 | ports:
14 | - port: {{ .Values.ui.service.port }}
15 | targetPort: ui
16 | protocol: TCP
17 | name: ui
18 | selector:
19 | {{- include "allure-ui.selectorLabels" . | nindent 4 }}
20 |
--------------------------------------------------------------------------------
/charts/allure/templates/volume-api.yaml:
--------------------------------------------------------------------------------
1 | {{- if and (.Values.volume.enabled) (not .Values.volume.existingClaim) }}
2 | apiVersion: v1
3 | kind: PersistentVolumeClaim
4 | metadata:
5 | name: {{ include "allure.fullname" . }}-data
6 | labels:
7 | {{- include "allure-api.selectorLabels" . | nindent 4 }}
8 | spec:
9 | {{- with .Values.volume }}
10 | accessModes:
11 | {{- toYaml .accessModes | nindent 4 }}
12 | volumeMode: Filesystem
13 | storageClassName: {{ .storageClassName }}
14 | resources:
15 | requests:
16 | storage: {{ .size }}
17 | {{- end }}
18 | {{- end }}
19 |
--------------------------------------------------------------------------------
/charts/fossology/templates/config.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | type: Opaque
4 | metadata:
5 | name: {{ include "fossology.fullname" . }}-config
6 | labels:
7 | {{- include "fossology.base.labels" . | nindent 4 }}
8 | stringData:
9 | FOSSOLOGY_DB_HOST: {{ include "fossology.fullname" . }}-postgresql
10 | FOSSOLOGY_DB_NAME: {{ default "fossology" .Values.postgresql.auth.database | quote }}
11 | FOSSOLOGY_DB_USER: {{ default "fossy" .Values.postgresql.auth.username | quote }}
12 | FOSSOLOGY_DB_PASSWORD: {{ default "fossy" .Values.postgresql.auth.password | quote }}
13 |
--------------------------------------------------------------------------------
/charts/allure/templates/service-api.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "allure.fullname" . }}-api
5 | labels:
6 | {{- include "allure-api.labels" . | nindent 4 }}
7 | {{- with .Values.api.service.annotations }}
8 | annotations:
9 | {{- toYaml . | nindent 8 }}
10 | {{- end }}
11 | spec:
12 | type: {{ .Values.api.service.type }}
13 | ports:
14 | - port: {{ .Values.api.service.port }}
15 | targetPort: api
16 | protocol: TCP
17 | name: api
18 | selector:
19 | {{- include "allure-api.selectorLabels" . | nindent 4 }}
20 |
--------------------------------------------------------------------------------
/charts/librenms/templates/service-smokeping.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.smokeping.enabled }}
2 | apiVersion: v1
3 | kind: Service
4 | metadata:
5 | name: {{ include "librenms.fullname" . }}-smokeping
6 | labels:
7 | {{- include "librenms.app.labels" . | nindent 4 }}
8 | spec:
9 | type: {{ .Values.app.service.type }}
10 | {{- if eq .Values.app.service.type "ClusterIP" }}
11 | clusterIP: None
12 | {{- end }}
13 | ports:
14 | - name: smokeping
15 | port: 80
16 | protocol: TCP
17 | selector:
18 | {{- include "librenms.app.selectorLabels" . | nindent 4 }}
19 | {{- end }}
20 |
--------------------------------------------------------------------------------
/charts/fossology/templates/pvc.yaml:
--------------------------------------------------------------------------------
1 | {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
2 | kind: PersistentVolumeClaim
3 | apiVersion: v1
4 | metadata:
5 | name: {{ include "fossology.pvcName" . }}
6 | labels:
7 | {{- include "fossology.web.labels" . | nindent 4 }}
8 | spec:
9 | {{- with .Values.persistence }}
10 | {{- with .accessModes }}
11 | accessModes:
12 | {{- toYaml . | nindent 6 }}
13 | {{- end }}
14 | resources:
15 | requests:
16 | storage: {{ .size }}
17 | storageClassName: {{ .storageClass | quote }}
18 | {{- end }}
19 | {{- end }}
20 |
--------------------------------------------------------------------------------
/charts/allure/templates/configmap-api.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ include "allure.fullname" . }}-api
5 | labels:
6 | {{- include "allure-api.labels" . | nindent 4 }}
7 | data:
8 | CHECK_RESULTS_EVERY_SECONDS: {{ .Values.updateFrequency | quote }}
9 | KEEP_HISTORY: {{ .Values.keepHistory | int | quote }}
10 | TLS: {{ .Values.securityEnabled | int | quote }}
11 | SECURITY_ENABLED: {{ .Values.securityEnabled | int | quote }}
12 | MAKE_VIEWER_ENDPOINTS_PUBLIC: {{ .Values.publicViewerEndpoint | int | quote }}
13 | DEV_MODE: {{ .Values.api.devMode | int | quote }}
14 |
--------------------------------------------------------------------------------
/charts/unifi-controller/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: unifi
3 | description: Manage all your Unifi devices through a central site.
4 | keywords:
5 | - nms
6 | - network
7 | - monitoring
8 | home: https://github.com/midokura/helm-charts-community/tree/main/unifi-controller
9 | icon: https://avatars.githubusercontent.com/u/3934889?s=200
10 | sources:
11 | - https://hub.docker.com/r/linuxserver/unifi-controller
12 | maintainers:
13 | - name: David Girón
14 | url: https://github.com/duhow
15 |
16 | version: 0.0.6
17 | # renovate: datasource=docker depName=linuxserver/unifi-controller
18 | appVersion: 7.3.83
19 |
--------------------------------------------------------------------------------
/charts/webhook-site/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: webhook-site
3 | type: application
4 | description: Easily test HTTP webhooks
5 | keywords:
6 | - webhook
7 | - rest
8 | - http
9 | home: https://github.com/midokura/helm-charts-community/tree/main/webhook-site
10 | sources:
11 | - https://github.com/webhooksite/webhook.site
12 | maintainers:
13 | - name: David Girón
14 | url: https://github.com/duhow
15 |
16 | version: 0.0.5
17 | appVersion: "1.2"
18 |
19 | dependencies:
20 | - name: redis
21 | repository: https://charts.bitnami.com/bitnami
22 | version: 16.13.2
23 | condition: redis.install
24 |
--------------------------------------------------------------------------------
/charts/static-page/templates/imagerepository-docker.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.updateAutomation.docker.enabled }}
2 | # Declaration of an image repository
3 | apiVersion: image.toolkit.fluxcd.io/v1beta2
4 | kind: ImageRepository
5 | metadata:
6 | name: {{ include "docs.fullname" . }}-docker
7 | labels:
8 | {{- include "docs.labels" . | nindent 4 }}
9 | spec:
10 | # We get this value from the image's repo directly
11 | image: {{ .Values.image.repository }}
12 | interval: 5m
13 | # Use the first imagePullSecrets as ref to fetch the image
14 | {{- with (first .Values.imagePullSecrets) }}
15 | secretRef:
16 | name: {{ .name }}
17 | {{- end }}
18 | {{- end }}
19 |
--------------------------------------------------------------------------------
/charts/static-page/README.md:
--------------------------------------------------------------------------------
1 | # static-page
2 |
3 | This Helm Chart installs a manual-specified Docker image which exposes a web server (like `nginx`) and optionally enables auto-updating with Flux `ImageUpdatePolicy`.
4 |
5 | Main purpose of this Helm Chart is to serve a static page, with your own custom image with content already bundled.
6 |
7 | ## Auto-update
8 |
9 | By using Flux [Image Update Automations](https://fluxcd.io/flux/components/image/imageupdateautomations/), you can pull new versions for your Docker image,
10 | and automatically update your git repository with the latest value.
11 |
12 | ## Persistence
13 |
14 | No persistence is expected or enabled at the moment.
15 |
--------------------------------------------------------------------------------
/charts/folding-at-home/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: folding-at-home
3 | type: application
4 | description: A distributed computing project for simulating protein dynamics, including the process of protein folding and the movements of proteins implicated in a variety of diseases.
5 |
6 | home: https://github.com/midokura/helm-charts-community/tree/main/folding-at-home
7 | icon: https://avatars.githubusercontent.com/u/4166223?s=200&v=4
8 | sources:
9 | - https://hub.docker.com/r/linuxserver/foldingathome
10 | - https://hub.docker.com/r/foldingathome/fah-gpu
11 | maintainers:
12 | - name: David Girón
13 | url: https://github.com/duhow
14 |
15 | version: 0.0.3
16 | # renovate: datasource=docker depName=linuxserver/foldingathome
17 | appVersion: 7.6.21
18 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release Charts
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | release:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout
13 | uses: actions/checkout@v3
14 | with:
15 | fetch-depth: 0
16 |
17 | - name: Configure Git
18 | run: |
19 | git config user.name "$GITHUB_ACTOR"
20 | git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
21 |
22 | - name: Install Helm
23 | uses: azure/setup-helm@v3
24 | with:
25 | version: v3.11.2
26 |
27 | - name: Run chart-releaser
28 | uses: helm/chart-releaser-action@v1.5.0
29 | env:
30 | CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
31 |
--------------------------------------------------------------------------------
/charts/static-page/templates/imagepolicy-docker.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.updateAutomation.docker.enabled }}
2 | # Checks for image updates in a remote repository given a semver range
3 | apiVersion: image.toolkit.fluxcd.io/v1beta2
4 | kind: ImagePolicy
5 | metadata:
6 | name: {{ include "docs.fullname" . }}-docker
7 | labels:
8 | {{- include "docs.labels" . | nindent 4 }}
9 | spec:
10 | imageRepositoryRef:
11 | name: {{ include "docs.fullname" . }}-docker
12 | namespace: {{ .Release.Namespace }}
13 | {{- with .Values.updateAutomation.docker.policy }}
14 | policy:
15 | {{- toYaml . | nindent 4 }}
16 | {{- end }}
17 | {{- with .Values.updateAutomation.docker.filterTags }}
18 | filterTags:
19 | {{- toYaml . | nindent 4 }}
20 | {{- end }}
21 | {{- end }}
22 |
--------------------------------------------------------------------------------
/charts/nginx-static/templates/pvc.yaml:
--------------------------------------------------------------------------------
1 | {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
2 | kind: PersistentVolumeClaim
3 | apiVersion: v1
4 | metadata:
5 | name: {{ include "nginx-static.fullname" . }}
6 | labels:
7 | app: {{ include "nginx-static.fullname" . }}
8 | release: {{ .Release.Name | quote }}
9 | spec:
10 | accessModes:
11 | - {{ .Values.persistence.accessMode | quote }}
12 | resources:
13 | requests:
14 | storage: {{ .Values.persistence.size | quote }}
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 |
--------------------------------------------------------------------------------
/charts/errbot/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: errbot
3 | type: application
4 | description: A daemon that connects to your favorite chat service and brings your tools into the conversation.
5 | keywords:
6 | - gitops
7 | - bot
8 | - chatbot
9 | home: https://github.com/midokura/helm-charts-community/tree/main/errbot
10 | icon: https://errbot.readthedocs.io/en/latest/_static/errbot.png
11 | sources:
12 | - https://github.com/errbotio/errbot
13 | maintainers:
14 | - name: David Girón
15 | url: https://github.com/duhow
16 |
17 | version: 0.0.5
18 | # renovate: datasource=docker depName=errbotio/errbot
19 | appVersion: 6.1.9
20 |
21 | dependencies:
22 | - name: redis
23 | repository: https://charts.bitnami.com/bitnami
24 | version: 17.x.x
25 | condition: redis.install
26 |
--------------------------------------------------------------------------------
/charts/salt/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: salt
3 | type: application
4 | description: Software to automate the management and configuration of any infrastructure or application at scale.
5 | keywords:
6 | - configuration-management
7 | - infrastructure-management
8 | - cloud-management
9 | - event-management
10 | - remote-execution
11 | - infrastructure-automation
12 | home: https://github.com/midokura/helm-charts-community/tree/main/salt
13 | icon: https://saltproject.io/images/logo.svg
14 | sources:
15 | - https://github.com/saltstack/salt
16 | - https://gitlab.com/saltstack/open/saltdocker
17 | maintainers:
18 | - name: David Girón
19 | url: https://github.com/duhow
20 |
21 | version: 0.0.3
22 | # renovate: datasource=docker depName=saltstack/salt
23 | appVersion: "3006.3"
24 |
--------------------------------------------------------------------------------
/charts/librenms/templates/tests/test-connection.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: "{{ include "librenms.fullname" . }}-test-connection"
5 | labels:
6 | {{- include "librenms.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: ['-O', '/dev/null', '{{ include "librenms.fullname" . }}:{{ .Values.app.service.port }}']
15 | securityContext:
16 | runAsUser: 1000
17 | runAsNonRoot: true
18 | readOnlyRootFilesystem: true
19 | resources:
20 | limits:
21 | memory: 60Mi
22 | cpu: 200m
23 | requests:
24 | memory: 10Mi
25 | cpu: 10m
26 | restartPolicy: Never
27 |
--------------------------------------------------------------------------------
/charts/fossology/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: fossology
3 | type: application
4 | description: Open source license compliance software system and toolkit
5 | keywords:
6 | - nms
7 | - network
8 | - snmp
9 | - monitoring
10 | home: https://github.com/midokura/helm-charts-community/tree/main/fossology
11 | icon: https://www.fossology.org/wp-content/uploads/sites/39/2017/08/logo_fossology.png
12 | sources:
13 | - https://github.com/fossology/fossology
14 | maintainers:
15 | - name: David Girón
16 | url: https://github.com/duhow
17 |
18 | version: 0.2.2
19 | # renovate: datasource=docker depName=fossology/fossology
20 | appVersion: 4.2.1
21 |
22 | dependencies:
23 | - name: postgresql
24 | repository: https://charts.bitnami.com/bitnami
25 | version: 12.2.3
26 | condition: postgresql.install
27 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "config:base"
4 | ],
5 | "dependencyDashboard": false,
6 | "timezone": "Europe/Madrid",
7 | "schedule": ["on monday"],
8 | "enabledManagers": ["helmv3", "helm-values", "regex"],
9 | "regexManagers": [
10 | {
11 | "fileMatch": [".+\/Chart.yaml$"],
12 | "matchStrings": ["# renovate: datasource=(?.*?) depName=(?.*?)( versioning=(?.*?))?\\n.*?appVersion:\\s*(?[\\w\\d\\.]+)"],
13 | "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver-coerced{{/if}}"
14 | }
15 | ],
16 | "packageRules": [
17 | {
18 | "matchPackageNames": ["librenms/librenms", "nginx"],
19 | "versioning": "semver"
20 | },
21 | {
22 | "matchPackageNames": ["moul/sshportal"],
23 | "extractVersion": "^v(?\\d+\\.\\d+\\.\\d+)$"
24 | }
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/charts/nginx-static/templates/nginx-configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ include "nginx-static.fullname" . }}-config
5 | labels:
6 | {{- include "nginx-static.labels" . | nindent 4 }}
7 | data:
8 | default.conf: |
9 | server {
10 | listen 80;
11 | listen [::]:80;
12 | server_name localhost;
13 |
14 | location / {
15 | root /usr/share/nginx/html;
16 | index index.html index.htm;
17 | }
18 |
19 | error_page 500 502 503 504 /50x.html;
20 | location = /50x.html {
21 | root /usr/share/nginx/html;
22 | }
23 |
24 | # block git and htaccess files
25 | location ~ /\.(git|ht) {
26 | deny all;
27 | }
28 |
29 | {{- if and (.Values.configNginx) (kindIs "string" .Values.configNginx) }}
30 | {{ .Values.configNginx | nindent 6 }}
31 | {{- end }}
32 | }
33 |
--------------------------------------------------------------------------------
/charts/salt/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "salt.fullname" . }}-master
5 | labels:
6 | {{- include "salt.master.labels" . | nindent 4 }}
7 | spec:
8 | {{- with .Values.master.service }}
9 | type: {{ .type }}
10 | {{- if .loadBalancerIP }}
11 | loadBalancerIP: {{ .loadBalancerIP }}
12 | {{- end }}
13 | # add source IP address
14 | externalTrafficPolicy: Local
15 | {{- if .loadBalancerSourceRanges }}
16 | loadBalancerSourceRanges:
17 | {{ .loadBalancerSourceRanges | toYaml | nindent 4 }}
18 | {{- end }}
19 | {{- end }}
20 | ports:
21 | {{- range $name, $port := .Values.master.service.ports }}
22 | {{- if $port.expose }}
23 | - port: {{ $port.port }}
24 | targetPort: {{ $name }}
25 | protocol: TCP
26 | name: {{ $name }}
27 | {{- end }}
28 | {{- end }}
29 | selector:
30 | {{- include "salt.master.selectorLabels" . | nindent 4 }}
31 |
--------------------------------------------------------------------------------
/charts/librenms/templates/secret-env.yaml:
--------------------------------------------------------------------------------
1 | {{- $fullName := include "librenms.fullname" . }}
2 | {{- $secretName := printf "%s-env" $fullName }}
3 | {{- $oldSecret := (lookup "v1" "Secret" .Release.Namespace $secretName) -}}
4 | apiVersion: v1
5 | kind: Secret
6 | type: Opaque
7 | metadata:
8 | name: {{ $secretName }}
9 | labels:
10 | {{- include "librenms.labels" . | nindent 4 }}
11 | data:
12 | DB_PASSWORD: {{ .Values.mysql.auth.password | default "librenms" | b64enc }}
13 | {{- if and .Values.redis.install .Values.redis.auth.enabled }}
14 | REDIS_PASSWORD: {{ required "Missing .Values.redis.auth.password" .Values.redis.auth.password | b64enc }}
15 | {{- end }}
16 | {{- if $oldSecret }}
17 | {{- with $oldSecret.data }}
18 | APP_KEY: {{ .APP_KEY }}
19 | {{- end }}
20 | {{- else if .Values.app.key }}
21 | APP_KEY: {{ .Values.app.key | b64enc }}
22 | {{- else }}
23 | APP_KEY: {{ printf "base64:%s" (randAscii 32 | b64enc) | b64enc }}
24 | {{- end }}
25 |
--------------------------------------------------------------------------------
/charts/sshportal/templates/secret.yaml:
--------------------------------------------------------------------------------
1 | {{- $secretName := printf "%s-%s" (include "sshportal.fullname" .) "secrets" }}
2 | apiVersion: v1
3 | kind: Secret
4 | type: Opaque
5 | metadata:
6 | name: {{ $secretName }}
7 | labels:
8 | {{- include "sshportal.labels" . | nindent 4 }}
9 |
10 | {{- $secret := lookup "v1" "Secret" .Release.Namespace $secretName -}}
11 | {{- if $secret }}
12 | {{- with $secret.data }}
13 | data:
14 | {{- toYaml . | nindent 2 }}
15 | {{- end }}
16 | {{- else }}
17 | stringData:
18 | {{- if .Values.inviteToken }}
19 | invite-token: {{ .Values.inviteToken | quote }}
20 | {{- else }}
21 | invite-token: {{ randAlphaNum 16 | quote }}
22 | {{- end }}
23 |
24 | {{- if .Values.mysql.enabled }}
25 | mysql-connection: {{ .Values.mysql.auth.username }}:{{ .Values.mysql.auth.password }}@tcp({{ .Values.mysql.hostname }}:{{ .Values.mysql.port }})/{{ .Values.mysql.auth.database }}?charset=utf8&parseTime=true&loc=Local
26 | {{- else }}
27 | mysql-connection: ""
28 | {{- end }}
29 | {{- end }}
30 |
--------------------------------------------------------------------------------
/charts/webhook-site/README.md:
--------------------------------------------------------------------------------
1 | # Webhook.site
2 |
3 | [Webhook.site](https://webhook.site/) generates unique, random URL that you can use to test and debug Webhooks and HTTP requests.
4 |
5 | ## Components
6 |
7 | This chart installs the following required components:
8 |
9 | - [Redis](https://artifacthub.io/packages/helm/bitnami/redis)
10 |
11 | ## Installing the Chart
12 |
13 | To install the chart with the release name `my-release`:
14 |
15 | ```bash
16 | $ helm install my-release .
17 | ```
18 |
19 | The command deploys Webhook.site and required components on the Kubernetes cluster in the default configuration.
20 |
21 | > **Tip**: List all releases using `helm list`
22 |
23 | ## Uninstalling the Chart
24 |
25 | To uninstall/delete the `my-release` deployment:
26 |
27 | ```bash
28 | $ helm delete my-release
29 | ```
30 |
31 | The command removes all the Kubernetes components associated with the chart and deletes the release.
32 |
33 | ## Persistence
34 |
35 | As this chart is for debug or testing purposes, Persistence is disabled by default (at Redis component).
36 |
--------------------------------------------------------------------------------
/charts/librenms/templates/configmap-env.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ include "librenms.fullname" . }}-env
5 | labels:
6 | {{- include "librenms.labels" . | nindent 4 }}
7 | data:
8 | TZ: {{ .Values.timezone | default "Etc/UTC" }}
9 | PUID: {{ default 1000 .Values.app.podSecurityContext.fsGroup | quote }}
10 | PGID: {{ default 1000 .Values.app.podSecurityContext.runAsGroup | quote }}
11 | DB_HOST: {{ include "librenms.name" . }}-mysql
12 | DB_USER: {{ .Values.mysql.auth.username | default "librenms" }}
13 | DB_NAME: {{ .Values.mysql.auth.database | default "librenms" }}
14 | {{- if .Values.redis.install }}
15 | REDIS_HOST: {{ include "librenms.name" . }}-redis-headless
16 | REDIS_PORT: "6379"
17 | REDIS_DB: {{ default "0" .Values.redis.database | quote }}
18 | {{- end }}
19 | {{- if .Values.memcached.install }}
20 | MEMCACHED_HOST: {{ include "librenms.name" . }}-memcached
21 | MEMCACHED_PORT: "11211"
22 | {{- end }}
23 | RRDCACHED_SERVER: {{ include "librenms.name" . }}-rrdcached:{{ .Values.rrdcached.service.port }}
24 |
--------------------------------------------------------------------------------
/charts/static-page/templates/hpa.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.autoscaling.enabled }}
2 | apiVersion: autoscaling/v2
3 | kind: HorizontalPodAutoscaler
4 | metadata:
5 | name: {{ include "docs.fullname" . }}
6 | labels:
7 | {{- include "docs.labels" . | nindent 4 }}
8 | spec:
9 | scaleTargetRef:
10 | apiVersion: apps/v1
11 | kind: Deployment
12 | name: {{ include "docs.fullname" . }}
13 | {{- with .Values.autoscaling }}
14 | minReplicas: {{ .minReplicas }}
15 | maxReplicas: {{ .maxReplicas }}
16 | metrics:
17 | {{- if .targetCPUUtilizationPercentage }}
18 | - type: Resource
19 | resource:
20 | name: cpu
21 | target:
22 | type: Utilization
23 | averageUtilization: {{ .targetCPUUtilizationPercentage }}
24 | {{- end }}
25 | {{- if .targetMemoryUtilizationPercentage }}
26 | - type: Resource
27 | resource:
28 | name: memory
29 | target:
30 | type: Utilization
31 | averageUtilization: {{ .targetMemoryUtilizationPercentage }}
32 | {{- end }}
33 | {{- end }}
34 | {{- end }}
35 |
--------------------------------------------------------------------------------
/charts/fossology/README.md:
--------------------------------------------------------------------------------
1 | # FOSSology
2 |
3 | [FOSSology](https://www.fossology.org/) is a open source license compliance software system and toolkit. As a toolkit you can run license, copyright and export control scans from the command line. As a system, a database and web ui are provided to give you a compliance workflow. License, copyright and export scanners are tools available to help with your compliance activities.
4 |
5 | ## Components
6 |
7 | This chart installs the following required components:
8 |
9 | - [PostgreSQL](https://artifacthub.io/packages/helm/bitnami/postgresql)
10 |
11 | ## Installing the Chart
12 |
13 | To install the chart with the release name `my-release`:
14 |
15 | ```bash
16 | $ helm install my-release .
17 | ```
18 |
19 | The command deploys FOSSology and required components on the Kubernetes cluster in the default configuration.
20 |
21 | > **Tip**: List all releases using `helm list`
22 |
23 | ## Uninstalling the Chart
24 |
25 | To uninstall/delete the `my-release` deployment:
26 |
27 | ```bash
28 | $ helm delete my-release
29 | ```
30 |
31 | The command removes all the Kubernetes components associated with the chart and deletes the release.
32 |
--------------------------------------------------------------------------------
/charts/librenms/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v2
2 | name: librenms
3 | type: application
4 | description: SNMP monitoring for network devices
5 | keywords:
6 | - nms
7 | - network
8 | - snmp
9 | - monitoring
10 | home: https://github.com/midokura/helm-charts-community/tree/main/librenms
11 | icon: https://www.librenms.org/images/android-chrome-192x192.png
12 | sources:
13 | - https://github.com/librenms/docker
14 | - https://github.com/crazy-max/docker-rrdcached
15 | maintainers:
16 | - name: David Girón
17 | url: https://github.com/duhow
18 |
19 | version: 0.3.2
20 | # renovate: datasource=docker depName=librenms/librenms
21 | appVersion: 22.4.1
22 |
23 | dependencies:
24 | - name: mariadb
25 | alias: mysql
26 | repository: https://charts.bitnami.com/bitnami
27 | version: 11.5.7
28 | condition: mysql.install
29 | - name: memcached
30 | repository: https://charts.bitnami.com/bitnami
31 | version: 6.14.0
32 | condition: memcached.install
33 | tags:
34 | - distributed-poller
35 | - name: redis
36 | repository: https://charts.bitnami.com/bitnami
37 | version: 16.13.2
38 | condition: redis.install
39 | tags:
40 | - distributed-poller
41 |
--------------------------------------------------------------------------------
/charts/allure/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled }}
2 | {{- $fullName := include "allure.fullname" . }}
3 | apiVersion: networking.k8s.io/v1
4 | kind: Ingress
5 | metadata:
6 | name: {{ $fullName }}
7 | labels:
8 | {{- include "allure.labels" . | nindent 4 }}
9 | annotations:
10 | {{- with .Values.ingress.annotations }}
11 | {{- toYaml . | nindent 4 }}
12 | {{- end }}
13 | spec:
14 | {{- with .Values.ingress }}
15 | ingressClassName: {{ default "nginx" .ingressClassName }}
16 | {{- if .tls }}
17 | tls:
18 | - hosts:
19 | - {{ .hostname | quote }}
20 | secretName: {{ default (printf "%s-tls" $fullName) .existingSecret }}
21 | {{- end }}
22 | rules:
23 | - host: {{ .hostname | quote }}
24 | http:
25 | paths:
26 | - path: /allure-docker-service
27 | pathType: Prefix
28 | backend:
29 | service:
30 | name: {{ $fullName }}-api
31 | port:
32 | name: api
33 | - path: /
34 | pathType: Prefix
35 | backend:
36 | service:
37 | name: {{ $fullName }}-ui
38 | port:
39 | name: ui
40 | {{- end }}
41 | {{- end }}
42 |
--------------------------------------------------------------------------------
/charts/nginx-static/README.md:
--------------------------------------------------------------------------------
1 | # Nginx static
2 |
3 | This Helm Chart installs [nginx](https://nginx.org/) web server and optionally enables pulling content from Git servers using SSH-keys.
4 |
5 | Main purpose of this Helm Chart is to serve a static page, by using upstream base image, or your own custom image with content already bundled.
6 |
7 | Please note that default values are enforcing a `digest` to ensure you deploy the same Docker image version.
8 | You can override this by providing another valid digest or removing the value:
9 |
10 | ```yaml
11 | image:
12 | digest: null
13 | ```
14 |
15 | ## Persistence
16 |
17 | Optionally, you can use `persistence` to store permanent data (suitable for custom images).
18 | Note that this will still use `Deployment` type, so it requires to run as a **single replica**, unless you provide a StorageClass with `ReadWriteMany` support.
19 |
20 | ## nginx configuration
21 |
22 | If you have your own customized image including `server` settings definition, you can disable the mount of default configuration.
23 |
24 | ```yaml
25 | configNginx: false
26 | ```
27 |
28 | If you want to keep using default `nginx` application, you can expand the `default.conf` with your own settings - for example, redirect a location to somewhere else.
29 |
--------------------------------------------------------------------------------
/charts/librenms/templates/service-syslog.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ include "librenms.fullname" . }}-syslog
5 | labels:
6 | {{- include "librenms.syslog.labels" . | nindent 4 }}
7 | spec:
8 | type: {{ .Values.syslog.service.type }}
9 | # add source IP address
10 | externalTrafficPolicy: Local
11 | ports:
12 | {{- if (.Values.syslog.service.ports.tcp) }}
13 | - name: syslog-tcp
14 | port: {{ .Values.syslog.service.ports.tcp }}
15 | targetPort: syslog-tcp
16 | protocol: TCP
17 | {{- if (eq .Values.syslog.service.type "ClusterIP") }}
18 | nodePort: null
19 | {{- else if (eq .Values.syslog.service.type "NodePort") }}
20 | nodePort: {{ .Values.syslog.service.ports.tcp }}
21 | {{- end }}
22 | {{- end }}
23 | {{- if (.Values.syslog.service.ports.udp) }}
24 | - name: syslog
25 | port: {{ .Values.syslog.service.ports.udp }}
26 | targetPort: syslog-udp
27 | protocol: UDP
28 | {{- if (eq .Values.syslog.service.type "ClusterIP") }}
29 | nodePort: null
30 | {{- else if (eq .Values.syslog.service.type "NodePort") }}
31 | nodePort: {{ .Values.syslog.service.ports.udp }}
32 | {{- end }}
33 | {{- end }}
34 | selector:
35 | {{- include "librenms.syslog.selectorLabels" . | nindent 4 }}
36 |
--------------------------------------------------------------------------------
/charts/unifi-controller/README.md:
--------------------------------------------------------------------------------
1 | # Unifi Controller
2 |
3 | The [Unifi-controller](https://ui.com/consoles) software is a powerful, enterprise wireless software engine ideal for high-density client deployments requiring low latency and high uptime performance.
4 |
5 | ## Installing the Chart
6 |
7 | To install the chart with the release name `my-release`:
8 |
9 | ```bash
10 | $ helm install my-release .
11 | ```
12 |
13 | The command deploys Unifi-controller and required components on the Kubernetes cluster in the default configuration.
14 |
15 | **NOTE:** It is recommended to use `nodeSelector` (or `nodeName`) to deploy to a specific node.
16 | By default the option `hostNetwork` is enabled to expose ports directly from node.
17 |
18 | > **Tip**: List all releases using `helm list`
19 |
20 | ## Uninstalling the Chart
21 |
22 | To uninstall/delete the `my-release` deployment:
23 |
24 | ```bash
25 | $ helm delete my-release
26 | ```
27 |
28 | The command removes all the Kubernetes components associated with the chart and deletes the release.
29 |
30 | ## Persistence
31 |
32 | The image stores all configuration at the `/config` path of the container.
33 |
34 | The chart mounts a [Persistent Volume](https://kubernetes.io/docs/user-guide/persistent-volumes/) volume at this location. The volume is created using dynamic volume provisioning, by default. An existing PersistentVolumeClaim can also be defined.
35 |
--------------------------------------------------------------------------------
/charts/folding-at-home/README.md:
--------------------------------------------------------------------------------
1 | # Folding@Home
2 |
3 | [Folding@Home](https://foldingathome.org/) (FAH or F@h) is a volunteer computing project aimed to help scientists develop new therapeutics for a variety of diseases by the means of simulating protein dynamics.
4 | This includes the process of protein folding and the movements of proteins, and is reliant on simulations run on volunteers' personal computers.
5 |
6 | ## Components
7 |
8 | This chart does not need any other component.
9 |
10 | ## Installing the Chart
11 |
12 | To install the chart with the release name `my-release`:
13 |
14 | ```bash
15 | $ helm install my-release .
16 | ```
17 |
18 | The command deploys Folding@Home on the Kubernetes cluster in the default configuration.
19 |
20 | You may want to define `resources` to limit the maximum resources used for processing.
21 |
22 | **NOTE:**: If you want to perform processing with **GPU**, define the following options in `values`:
23 |
24 | ```yaml
25 | gpu:
26 | enabled: true
27 |
28 | resources:
29 | limits:
30 | nvidia.com/gpu: "1"
31 | # change resource name if needed
32 | ```
33 |
34 | > **Tip**: List all releases using `helm list`
35 |
36 | ## Uninstalling the Chart
37 |
38 | To uninstall/delete the `my-release` deployment:
39 |
40 | ```bash
41 | $ helm delete my-release
42 | ```
43 |
44 | The command removes all the Kubernetes components associated with the chart and deletes the release.
45 |
--------------------------------------------------------------------------------
/charts/folding-at-home/values.yaml:
--------------------------------------------------------------------------------
1 | # Default values for fah.
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: linuxserver/foldingathome
9 | pullPolicy: IfNotPresent
10 | # Overrides the image tag whose default is the chart appVersion.
11 | tag: ""
12 |
13 | workPath: /config/work
14 |
15 | gpu:
16 | enabled: false
17 | image:
18 | repository: foldingathome/fah-gpu
19 | pullPolicy: IfNotPresent
20 | tag: ""
21 | workPath: /fah
22 | configFile: /fah/config.xml
23 |
24 | imagePullSecrets: []
25 | nameOverride: ""
26 | fullnameOverride: ""
27 |
28 | serviceAccount:
29 | # Specifies whether a service account should be created
30 | create: false
31 | # Annotations to add to the service account
32 | annotations: {}
33 | # The name of the service account to use.
34 | # If not set and create is true, a name is generated using the fullname template
35 | name: ""
36 |
37 | podAnnotations: {}
38 |
39 | podSecurityContext:
40 | fsGroup: 1000
41 |
42 | securityContext:
43 | runAsNonRoot: true
44 | runAsUser: 1000
45 |
46 | resources: {}
47 | #limits:
48 | # nvidia.com/gpu: "1"
49 | # nvidia.com/mig-1g.10gb: "1"
50 |
51 | nodeSelector: {}
52 | tolerations: []
53 | affinity: {}
54 |
55 | configFile: /config/config.xml
56 | config:
57 | power: full
58 | user: Anonymous
59 | passkey: ""
60 | team: 0
61 | gui-enabled: false
62 |
--------------------------------------------------------------------------------
/charts/errbot/README.md:
--------------------------------------------------------------------------------
1 | # Errbot
2 |
3 | [Errbot](https://errbot.readthedocs.io/en/latest/) is a chatbot, a daemon that connects to your favorite chat service and brings your tools into the conversation.
4 |
5 | ## Components
6 |
7 | This chart installs the following required components:
8 |
9 | - [Redis](https://artifacthub.io/packages/helm/bitnami/redis) (optional)
10 |
11 | ## Installing the Chart
12 |
13 | To install the chart with the release name `my-release`:
14 |
15 | ```bash
16 | $ helm install my-release .
17 | ```
18 |
19 | The command deploys Errbot on the Kubernetes cluster in the default configuration.
20 |
21 | **NOTE:** To successfully run Errbot, you will need to provide a custom image (for missing dependencies) and configuration to connect to your Chat backend.
22 |
23 | > **Tip**: List all releases using `helm list`
24 |
25 | ## Uninstalling the Chart
26 |
27 | To uninstall/delete the `my-release` deployment:
28 |
29 | ```bash
30 | $ helm delete my-release
31 | ```
32 |
33 | The command removes all the Kubernetes components associated with the chart and deletes the release.
34 |
35 | ## Persistence
36 |
37 | The Errbot image stores data and plugin downloads at the `/home/errbot` path of the container.
38 |
39 | The chart mounts a [Persistent Volume](https://kubernetes.io/docs/user-guide/persistent-volumes/) volume at this location. The volume is created using dynamic volume provisioning, by default. An existing PersistentVolumeClaim can also be defined.
40 |
--------------------------------------------------------------------------------
/.github/workflows/check.yaml:
--------------------------------------------------------------------------------
1 | name: PR Check
2 |
3 | on:
4 | pull_request:
5 |
6 | jobs:
7 | list:
8 | name: list changes
9 | runs-on: ubuntu-latest
10 | outputs:
11 | folders: ${{ steps.changed-files.outputs.all_modified_files }}
12 | steps:
13 | - name: Checkout
14 | uses: actions/checkout@v3
15 | with:
16 | fetch-depth: 0
17 |
18 | - name: Get changed files
19 | id: changed-files
20 | uses: tj-actions/changed-files@v47
21 | with:
22 | files: 'charts/**'
23 | dir_names: true
24 | dir_names_max_depth: "2"
25 | json: true
26 | json_raw_format: true
27 |
28 | - name: Return output
29 | env:
30 | OUTPUT: ${{ steps.changed-files.outputs.all_modified_files }}
31 | run: |
32 | echo $OUTPUT
33 |
34 | check:
35 | name: ${{ matrix.path }}
36 | runs-on: ubuntu-latest
37 | needs: [list]
38 | if: ${{ needs.list.outputs.folders != '[]' && needs.list.outputs.folders != '' }}
39 | strategy:
40 | fail-fast: false
41 | matrix:
42 | path: ${{ fromJson(needs.list.outputs.folders) }}
43 | steps:
44 | - name: Checkout
45 | uses: actions/checkout@v3
46 |
47 | - name: Install Helm
48 | uses: azure/setup-helm@v3
49 | with:
50 | version: v3.11.2
51 |
52 | - name: Check chart
53 | working-directory: ${{ matrix.path }}
54 | run: >
55 | helm dependency update &&
56 | helm lint
57 |
--------------------------------------------------------------------------------
/charts/unifi-controller/values.yaml:
--------------------------------------------------------------------------------
1 | replicaCount: 1
2 |
3 | image:
4 | repository: linuxserver/unifi-controller
5 | pullPolicy: IfNotPresent
6 | # Overrides the image tag whose default is the chart appVersion.
7 | tag: ""
8 |
9 | imagePullSecrets: []
10 | nameOverride: ""
11 | fullnameOverride: ""
12 |
13 | serviceAccount:
14 | # Specifies whether a service account should be created
15 | create: false
16 | # Annotations to add to the service account
17 | annotations: {}
18 | # The name of the service account to use.
19 | # If not set and create is true, a name is generated using the fullname template
20 | name: ""
21 |
22 | podAnnotations: {}
23 |
24 | podSecurityContext: {}
25 | # fsGroup: 2000
26 |
27 | securityContext: {}
28 |
29 | hostNetwork: true
30 |
31 | service:
32 | type: ClusterIP
33 | port: 8443
34 |
35 | ingress:
36 | enabled: false
37 | className: ""
38 | annotations: {}
39 | # kubernetes.io/ingress.class: nginx
40 | # kubernetes.io/tls-acme: "true"
41 | hosts:
42 | - host: chart-example.local
43 | paths:
44 | - path: /
45 | pathType: ImplementationSpecific
46 | tls: []
47 | # - secretName: chart-example-tls
48 | # hosts:
49 | # - chart-example.local
50 |
51 | resources:
52 | requests:
53 | memory: 1Gi
54 |
55 | nodeSelector: {}
56 | nodeName: ""
57 |
58 | tolerations: []
59 |
60 | affinity: {}
61 |
62 | persistence:
63 | enabled: true
64 | size: 4Gi
65 | existingClaim: null
66 | storageClass: ""
67 | annotations: {}
68 | accessModes:
69 | - ReadWriteOnce
70 |
--------------------------------------------------------------------------------
/charts/sshportal/values.yaml:
--------------------------------------------------------------------------------
1 | replicaCount: 1
2 |
3 | image:
4 | repository: moul/sshportal
5 | pullPolicy: IfNotPresent
6 | tag: ""
7 |
8 | imagePullSecrets: []
9 | nameOverride: ""
10 | fullnameOverride: ""
11 |
12 | serviceAccount:
13 | # Specifies whether a service account should be created
14 | create: true
15 | # Annotations to add to the service account
16 | annotations: {}
17 | # The name of the service account to use.
18 | # If not set and create is true, a name is generated using the fullname template
19 | name: ""
20 |
21 | podAnnotations: {}
22 |
23 | podSecurityContext: {}
24 | # fsGroup: 2000
25 |
26 | securityContext: {}
27 | # capabilities:
28 | # drop:
29 | # - ALL
30 | # readOnlyRootFilesystem: true
31 | # runAsNonRoot: true
32 | # runAsUser: 1000
33 |
34 | service:
35 | type: NodePort
36 | port: 2222
37 |
38 | ingress:
39 | enabled: false
40 |
41 | resources:
42 | requests:
43 | cpu: 20m
44 | memory: 50Mi
45 | limits:
46 | cpu: 1
47 | memory: 300Mi
48 |
49 | autoscaling:
50 | enabled: false
51 | minReplicas: 1
52 | maxReplicas: 3
53 | targetCPUUtilizationPercentage: 80
54 | # targetMemoryUtilizationPercentage: 80
55 |
56 | nodeSelector: {}
57 |
58 | tolerations: []
59 |
60 | affinity: {}
61 |
62 | dbDriver: sqlite3
63 | dbConn: /sshportal.db
64 | debug: false
65 | aesKey: 24
66 | log: /var/log
67 | idleTimeout: 0
68 | aclCheckCmd: ""
69 | inviteToken: ""
70 |
71 | mysql:
72 | enabled: false
73 | hostname: ""
74 | port: 3306
75 | auth:
76 | username: sshportal
77 | password:
78 | database: sshportal
79 |
--------------------------------------------------------------------------------
/charts/allure/README.md:
--------------------------------------------------------------------------------
1 | # Allure
2 |
3 | [Allure](https://docs.qameta.io/allure/) Report is a flexible, lightweight multi-language test reporting tool. It provides clear graphical reports and allows everyone involved in the development process to extract the maximum of information from the everyday testing process.
4 |
5 | ## Components
6 |
7 | This chart installs the following required components:
8 |
9 | - [Allure Docker Service](https://github.com/fescobar/allure-docker-service)
10 | - [Allure Docker Service UI](https://github.com/fescobar/allure-docker-service-ui)
11 |
12 | ## Installing the Chart
13 |
14 | To install the chart with the release name `my-release`:
15 |
16 | ```bash
17 | $ helm install my-release .
18 | ```
19 |
20 | The command deploys the Allure reporting service and the required components on the Kubernetes cluster in the default configuration.
21 |
22 | ## Users Credentials
23 |
24 | Create a secret:
25 |
26 | ```yaml
27 | apiVersion: v1
28 | kind: Secret
29 | metadata:
30 | name: api-credentials
31 | type: Opaque
32 | data:
33 | #echo -n 'my_username' | base64
34 | SECURITY_USER: bXlfdXNlcm5hbWU=
35 | #echo -n 'my_password' | base64
36 | SECURITY_PASS: bXlfcGFzc3dvcmQ=
37 | #echo -n 'view_user' | base64
38 | SECURITY_VIEWER_USER: dmlld191c2Vy
39 | #echo -n 'view_pass' | base64
40 | SECURITY_VIEWER_PASS: dmlld19wYXNz
41 | ```
42 |
43 | ## Uninstalling the Chart
44 |
45 | To uninstall/delete the `my-release` deployment:
46 |
47 | ```bash
48 | $ helm delete my-release
49 | ```
50 |
51 | The command removes all the Kubernetes components associated with the chart and deletes the release.
--------------------------------------------------------------------------------
/charts/librenms/README.md:
--------------------------------------------------------------------------------
1 | # LibreNMS
2 |
3 | [LibreNMS](https://www.librenms.org/) is a fully featured network monitoring system that provides multiple functions for networking devices, such as automatic discovery, billing, alerting, and more.
4 |
5 | ## Components
6 |
7 | This chart installs the following required components:
8 |
9 | - [MariaDB](https://artifacthub.io/packages/helm/bitnami/mariadb)
10 | - [Redis](https://artifacthub.io/packages/helm/bitnami/redis)
11 | - [Memcached](https://artifacthub.io/packages/helm/bitnami/memcached)
12 | - [RRDcached](https://github.com/crazy-max/docker-rrdcached)
13 |
14 | ## Installing the Chart
15 |
16 | To install the chart with the release name `my-release`:
17 |
18 | ```bash
19 | $ helm install my-release .
20 | ```
21 |
22 | The command deploys LibreNMS and required components on the Kubernetes cluster in the default configuration.
23 |
24 | > **Tip**: List all releases using `helm list`
25 |
26 | ## Uninstalling the Chart
27 |
28 | To uninstall/delete the `my-release` deployment:
29 |
30 | ```bash
31 | $ helm delete my-release
32 | ```
33 |
34 | The command removes all the Kubernetes components associated with the chart and deletes the release.
35 |
36 | ## Persistence
37 |
38 | The [LibreNMS](https://github.com/librenms/docker) image stores LibreNMS data, RRD graph and configurations at the `/data` path of the container.
39 |
40 | The chart mounts a [Persistent Volume](https://kubernetes.io/docs/user-guide/persistent-volumes/) volume at this location. The volume is created using dynamic volume provisioning, by default. An existing PersistentVolumeClaim can also be defined.
41 |
--------------------------------------------------------------------------------
/charts/fossology/values.yaml:
--------------------------------------------------------------------------------
1 | nameOverride: ""
2 | fullnameOverride: ""
3 |
4 | serviceAccount:
5 | # Specifies whether a service account should be created
6 | create: true
7 | # Annotations to add to the service account
8 | annotations: {}
9 | # The name of the service account to use.
10 | # If not set and create is true, a name is generated using the fullname template
11 | name: ""
12 |
13 | image:
14 | repository: fossology/fossology
15 | pullPolicy: IfNotPresent
16 | tag: ""
17 | imagePullSecrets: []
18 |
19 | podAnnotations: {}
20 | podSecurityContext:
21 | fsGroup: 999
22 |
23 | nodeSelector: {}
24 | tolerations: []
25 | affinity: {}
26 |
27 | ingress:
28 | enabled: false
29 | className: nginx
30 | annotations:
31 | nginx.ingress.kubernetes.io/proxy-body-size: 500M
32 | # kubernetes.io/ingress.class: nginx
33 | # kubernetes.io/tls-acme: "true"
34 | hosts:
35 | - host: chart-example.local
36 | paths:
37 | - path: /repo
38 | pathType: ImplementationSpecific
39 | tls: []
40 | # - secretName: chart-example-tls
41 | # hosts:
42 | # - chart-example.local
43 |
44 | scheduler:
45 | securityContext: {}
46 | service:
47 | type: ClusterIP
48 | port: 24693
49 | resources: {}
50 |
51 | web:
52 | securityContext: {}
53 | service:
54 | type: ClusterIP
55 | port: 80
56 | resources: {}
57 |
58 | persistence:
59 | enabled: false
60 | size: 10Gi
61 | existingClaim: ""
62 | storageClass: ""
63 | mountPath: /srv/fossology/repository
64 |
65 | postgresql:
66 | auth:
67 | enablePostgresUser: false
68 | username: fossy
69 | password: fossy
70 | database: fossology
71 |
--------------------------------------------------------------------------------
/charts/static-page/templates/imageupdateautomation-docker.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.updateAutomation.docker.enabled }}
2 | # Opens a PR in a Flux Git repository whenever a new image is detected by the scanner
3 | apiVersion: image.toolkit.fluxcd.io/v1beta1
4 | kind: ImageUpdateAutomation
5 | metadata:
6 | name: {{ include "docs.fullname" . }}-docker
7 | labels:
8 | {{- include "docs.labels" . | nindent 4 }}
9 | spec:
10 | {{- with .Values.updateAutomation.fluxRepository }}
11 | interval: {{ .checkInterval }}
12 | sourceRef:
13 | kind: GitRepository
14 | name: {{ required "A git repository name must be provided in .Values.updateAutomation.fluxRepository.gitRepositoryRef" .gitRepositoryRef }}
15 | namespace: {{ .namespace }}
16 | update:
17 | path: {{ .path }}
18 | strategy: Setters
19 | {{- end }}
20 | git:
21 | checkout:
22 | ref:
23 | branch: main
24 | commit:
25 | author:
26 | email: fluxcdbot@users.noreply.github.com
27 | name: fluxcdbot
28 | messageTemplate: |
29 | {{`Automated Docker image update
30 |
31 | Automation name: {{ .AutomationObject }}
32 |
33 | Files:
34 | {{ range $filename, $_ := .Updated.Files -}}
35 | - {{ $filename }}
36 | {{ end -}}
37 |
38 | Objects:
39 | {{ range $resource, $_ := .Updated.Objects -}}
40 | - {{ $resource.Kind }} {{ $resource.Name }}
41 | {{ end -}}
42 |
43 | Images:
44 | {{ range .Updated.Images -}}
45 | - {{.}}
46 | {{ end -}}
47 | `}}
48 | push:
49 | branch: automatic-flux/{{ include "docs.fullname" . }}-docker
50 | {{- end }}
51 |
--------------------------------------------------------------------------------
/charts/nginx-static/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | 1. Get the application URL by running these commands:
2 | {{- if .Values.ingress.enabled }}
3 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ .Values.ingress.hostname }}
4 | {{- else if contains "NodePort" .Values.service.type }}
5 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "nginx-static.fullname" . }})
6 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
7 | echo http://$NODE_IP:$NODE_PORT
8 | {{- else if contains "LoadBalancer" .Values.service.type }}
9 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
10 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "nginx-static.fullname" . }}'
11 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "nginx-static.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
12 | echo http://$SERVICE_IP:{{ .Values.service.port }}
13 | {{- else if contains "ClusterIP" .Values.service.type }}
14 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "nginx-static.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
15 | export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
16 | echo "Visit http://127.0.0.1:8080 to use your application"
17 | kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
18 | {{- end }}
19 |
--------------------------------------------------------------------------------
/charts/errbot/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 "errbot.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 "errbot.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "errbot.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 "errbot.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/static-page/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 "docs.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 "docs.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "docs.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 "docs.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/unifi-controller/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 "unifi.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 "unifi.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "unifi.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 "unifi.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/sshportal/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 "sshportal.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 "sshportal.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "sshportal.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 "sshportal.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/allure/templates/deployment-ui.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ include "allure.fullname" . }}-ui
5 | labels:
6 | {{- include "allure-ui.labels" . | nindent 4 }}
7 | spec:
8 | replicas: {{ .Values.ui.replicaCount }}
9 | selector:
10 | matchLabels:
11 | {{- include "allure-ui.selectorLabels" . | nindent 6 }}
12 | template:
13 | metadata:
14 | {{- with .Values.ui.podAnnotations }}
15 | annotations:
16 | {{- toYaml . | nindent 8 }}
17 | {{- end }}
18 | labels:
19 | {{- include "allure-ui.selectorLabels" . | nindent 8 }}
20 | spec:
21 | {{- with .Values.imagePullSecrets }}
22 | imagePullSecrets:
23 | {{- toYaml . | nindent 8 }}
24 | {{- end }}
25 | securityContext:
26 | {{- toYaml .Values.ui.podSecurityContext | nindent 8 }}
27 | containers:
28 | - name: allure-ui
29 | securityContext:
30 | {{- toYaml .Values.ui.securityContext | nindent 12 }}
31 | {{- with .Values.ui.image }}
32 | image: "{{ .repository }}:{{ .tag }}"
33 | imagePullPolicy: {{ .pullPolicy }}
34 | {{- end }}
35 | envFrom:
36 | - configMapRef:
37 | name: {{ include "allure.fullname" . }}-ui
38 | ports:
39 | - name: ui
40 | containerPort: 5252
41 | protocol: TCP
42 | livenessProbe:
43 | httpGet:
44 | path: /allure-docker-service-ui/version
45 | port: ui
46 | readinessProbe:
47 | httpGet:
48 | path: /allure-docker-service-ui/version
49 | port: ui
50 | {{- with .Values.ui.resources }}
51 | resources:
52 | {{- toYaml . | nindent 12 }}
53 | {{- end }}
54 |
--------------------------------------------------------------------------------
/charts/webhook-site/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.app.service.type }}
9 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "webhook-site.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.app.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 "webhook-site.fullname" . }}'
15 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "webhook-site.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
16 | echo http://$SERVICE_IP:{{ .Values.service.port }}
17 | {{- else if contains "ClusterIP" .Values.app.service.type }}
18 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "webhook-site.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/librenms/templates/NOTES.txt:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled }}
2 | Congratulations! You can now access to LibreNMS with the following address:
3 | http{{ if $.Values.ingress.tls }}s{{ end }}://{{ .Values.ingress.hostname }}
4 | {{- else }}
5 | 1. Get the application URL by running these commands:
6 | {{- end }}
7 | {{- if contains "NodePort" .Values.app.service.type }}
8 | export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "librenms.fullname" . }})
9 | export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
10 | echo http://$NODE_IP:$NODE_PORT
11 | {{- else if contains "LoadBalancer" .Values.app.service.type }}
12 | NOTE: It may take a few minutes for the LoadBalancer IP to be available.
13 | You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "librenms.fullname" . }}'
14 | export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "librenms.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
15 | echo http://$SERVICE_IP:{{ .Values.app.service.port }}
16 | {{- else if and (contains "ClusterIP" .Values.app.service.type) (not .Values.ingress.enabled) }}
17 | export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "librenms.name" . }},app.kubernetes.io/component=app,app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
18 | export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
19 | echo "Visit http://127.0.0.1:8080 to use your application"
20 | kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
21 | {{- end }}
22 |
23 | Default credentials are librenms / librenms . Be sure to change them!
24 |
--------------------------------------------------------------------------------
/charts/salt/README.md:
--------------------------------------------------------------------------------
1 | # Salt (SaltStack)
2 |
3 | [Salt](https://saltproject.io/) is a software to automate the management and configuration of any infrastructure or application at scale.
4 |
5 | ## Components
6 |
7 | This chart does not require any additional component to be installed.
8 |
9 | ## Installing the Chart
10 |
11 | To install the chart with the release name `my-release`:
12 |
13 | ```bash
14 | $ helm install my-release .
15 | ```
16 |
17 | The command deploys Salt and required components on the Kubernetes cluster in the default configuration.
18 |
19 | > **Tip**: List all releases using `helm list`
20 |
21 | ## Advanced installation
22 |
23 | You may want to use [git-sync](https://github.com/kubernetes/git-sync) to keep up-to-date in latest changes in your Salt state definition.
24 |
25 | You can use the following values as an example:
26 |
27 | ```yaml
28 | master:
29 | file_root: /srv/salt/salt-repo-NAME
30 | service:
31 | type: LoadBalancer
32 | loadBalancerIP: 20.0.0.1
33 | tolerations:
34 | - effect: NoSchedule
35 | key: kubernetes.azure.com/scalesetpriority
36 | operator: Equal
37 | value: spot
38 | gitsync:
39 | enabled: true
40 | envFrom:
41 | - secretRef:
42 | name: salt-gitsync
43 | config:
44 | repo: https://github.com/organization/salt-repo-NAME
45 | username: git
46 | ```
47 |
48 | ## Uninstalling the Chart
49 |
50 | To uninstall/delete the `my-release` deployment:
51 |
52 | ```bash
53 | $ helm delete my-release
54 | ```
55 |
56 | The command removes all the Kubernetes components associated with the chart and deletes the release.
57 |
58 | ## Persistence
59 |
60 | The [SaltStack](https://hub.docker.com/r/saltstack/salt) image stores Salt configuration data (states) at `/srv/salt`, and also PKI files at `/etc/salt/pki` in a single Volume.
61 |
62 | The chart mounts a [Persistent Volume](https://kubernetes.io/docs/user-guide/persistent-volumes/) volume at this location. The volume is created using dynamic volume provisioning, by default. An existing PersistentVolumeClaim can also be defined.
63 |
--------------------------------------------------------------------------------
/charts/static-page/templates/deployment.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ include "docs.fullname" . }}
5 | labels:
6 | {{- include "docs.labels" . | nindent 4 }}
7 | spec:
8 | {{- if not .Values.autoscaling.enabled }}
9 | replicas: {{ .Values.replicaCount }}
10 | {{- end }}
11 | selector:
12 | matchLabels:
13 | {{- include "docs.selectorLabels" . | nindent 6 }}
14 | template:
15 | metadata:
16 | {{- with .Values.podAnnotations }}
17 | annotations:
18 | {{- toYaml . | nindent 8 }}
19 | {{- end }}
20 | labels:
21 | {{- include "docs.selectorLabels" . | nindent 8 }}
22 | spec:
23 | {{- with .Values.imagePullSecrets }}
24 | imagePullSecrets:
25 | {{- toYaml . | nindent 8 }}
26 | {{- end }}
27 | serviceAccountName: {{ include "docs.serviceAccountName" . }}
28 | securityContext:
29 | {{- toYaml .Values.podSecurityContext | nindent 8 }}
30 | containers:
31 | - name: app
32 | securityContext:
33 | {{- toYaml .Values.securityContext | nindent 12 }}
34 | {{- with .Values.image }}
35 | image: {{ required "Repository in .Values.image.repository must be present" .repository }}:{{ .tag }}
36 | imagePullPolicy: {{ .pullPolicy }}
37 | {{- end }}
38 | ports:
39 | - name: http
40 | containerPort: {{ .Values.service.port }}
41 | protocol: TCP
42 | readinessProbe:
43 | httpGet:
44 | path: /
45 | port: http
46 | resources:
47 | {{- toYaml .Values.resources | nindent 12 }}
48 | {{- with .Values.nodeSelector }}
49 | nodeSelector:
50 | {{- toYaml . | nindent 8 }}
51 | {{- end }}
52 | {{- with .Values.affinity }}
53 | affinity:
54 | {{- toYaml . | nindent 8 }}
55 | {{- end }}
56 | {{- with .Values.tolerations }}
57 | tolerations:
58 | {{- toYaml . | nindent 8 }}
59 | {{- end }}
60 |
--------------------------------------------------------------------------------
/charts/librenms/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled }}
2 | {{- $fullName := include "librenms.fullname" . }}
3 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }}
4 | apiVersion: networking.k8s.io/v1
5 | {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion }}
6 | apiVersion: networking.k8s.io/v1beta1
7 | {{- else }}
8 | apiVersion: extensions/v1beta1
9 | {{- end }}
10 | kind: Ingress
11 | metadata:
12 | name: {{ $fullName }}
13 | labels:
14 | {{- include "librenms.labels" . | nindent 4 }}
15 | {{- with .Values.ingress.annotations }}
16 | annotations:
17 | {{- toYaml . | nindent 4 }}
18 | {{- end }}
19 | spec:
20 | ingressClassName: {{ default "nginx" .Values.ingress.ingressClassName }}
21 | {{- if .Values.ingress.tls }}
22 | tls:
23 | - hosts:
24 | - {{ .Values.ingress.hostname | quote }}
25 | secretName: {{ default (printf "%s-tls" $fullName) .Values.ingress.existingSecret }}
26 | {{- end }}
27 | rules:
28 | - host: {{ .Values.ingress.hostname | quote }}
29 | http:
30 | paths:
31 | - path: "/"
32 | pathType: Prefix
33 | backend:
34 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }}
35 | service:
36 | name: {{ $fullName }}
37 | port:
38 | name: http
39 | {{- else }}
40 | serviceName: {{ $fullName }}
41 | servicePort: http
42 | {{- end }}
43 | {{- if and (.Values.smokeping.enabled) (.Values.smokeping.ingress) }}
44 | - path: "/smokeping/"
45 | pathType: Prefix
46 | backend:
47 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }}
48 | service:
49 | name: {{ $fullName }}-smokeping
50 | port:
51 | name: smokeping
52 | {{- else }}
53 | serviceName: {{ $fullName }}-smokeping
54 | servicePort: smokeping
55 | {{- end }}
56 | {{- end }}
57 | {{- end }}
58 |
--------------------------------------------------------------------------------
/charts/nginx-static/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "nginx-static.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 "nginx-static.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 "nginx-static.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "nginx-static.labels" -}}
54 | helm.sh/chart: {{ include "nginx-static.chart" . }}
55 | {{ include "nginx-static.selectorLabels" . }}
56 | {{- if .Chart.AppVersion }}
57 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
58 | {{- end }}
59 | app.kubernetes.io/managed-by: {{ .Release.Service }}
60 | {{ include "charts.midokura.labels" . }}
61 | {{- end }}
62 |
63 | {{/*
64 | Selector labels
65 | */}}
66 | {{- define "nginx-static.selectorLabels" -}}
67 | app.kubernetes.io/name: {{ include "nginx-static.name" . }}
68 | app.kubernetes.io/instance: {{ .Release.Name }}
69 | {{- end }}
70 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Helm Charts
4 |
5 | This repository contains several Helm Charts for different open-source applications.
6 | If this content helps you, [give this repo a star!](https://github.com/midokura/helm-charts-community/stargazers) 🌟
7 |
8 | | Name | Application |
9 | |------|-------------|
10 | | [LibreNMS](https://github.com/midokura/helm-charts-community/tree/main/charts/librenms) | [librenms/docker](https://github.com/librenms/docker) |
11 | | [SSHPortal](https://github.com/midokura/helm-charts-community/tree/main/charts/sshportal) | [moul/sshportal](https://github.com/moul/sshportal) |
12 | | [FOSSology](https://github.com/midokura/helm-charts-community/tree/main/charts/fossology) | [fossology/fossology](https://github.com/fossology/fossology) |
13 | | [Unifi-controller](https://github.com/midokura/helm-charts-community/tree/main/charts/unifi-controller) | [linuxserver/unifi-controller](https://hub.docker.com/r/linuxserver/unifi-controller) |
14 | | [Webhook.site](https://github.com/midokura/helm-charts-community/tree/main/charts/webhook-site) | [webhooksite/webhook.site](https://github.com/webhooksite/webhook.site) |
15 | | [nginx-static](https://github.com/midokura/helm-charts-community/tree/main/charts/nginx-static) | [nginx](https://hub.docker.com/_/nginx) |
16 | | [static-page](https://github.com/midokura/helm-charts-community/tree/main/charts/static-page) | N/A |
17 | | [Errbot](https://github.com/midokura/helm-charts-community/tree/main/charts/errbot) | [errbotio/errbot](https://github.com/errbotio/errbot) |
18 | | [Salt / SaltStack](https://github.com/midokura/helm-charts-community/tree/main/charts/salt) | [saltstack/salt](https://github.com/saltstack/salt) |
19 | | [Folding@Home](https://github.com/midokura/helm-charts-community/tree/main/charts/folding-at-home) | [foldingathome/fah-gpu](https://hub.docker.com/r/foldingathome/fah-gpu) |
20 |
21 | Feel free to contribute back or report any bugs you find.
22 |
23 | ---
24 |
25 | Discover all the talent that we have in midokura. We hope you will be part of it!
26 | [Join us!](https://www.midokura.com/careers/)
27 |
--------------------------------------------------------------------------------
/charts/errbot/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "errbot.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 "errbot.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/salt/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.master.ingress.enabled -}}
2 | {{- $fullName := include "salt.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 "salt.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/static-page/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "docs.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 "docs.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/unifi-controller/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "unifi.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 "unifi.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/fossology/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "fossology.fullname" . -}}
3 | {{- $svcPort := .Values.web.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 "fossology.base.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/allure/templates/deployment-api.yaml:
--------------------------------------------------------------------------------
1 | {{- $fullName := include "allure.fullname" . }}
2 | apiVersion: apps/v1
3 | kind: Deployment
4 | metadata:
5 | name: {{ $fullName }}-api
6 | labels:
7 | {{- include "allure-api.labels" . | nindent 4 }}
8 | spec:
9 | replicas: {{ .Values.api.replicaCount }}
10 | selector:
11 | matchLabels:
12 | {{- include "allure-api.selectorLabels" . | nindent 6 }}
13 | template:
14 | metadata:
15 | {{- with .Values.api.podAnnotations }}
16 | annotations:
17 | {{- toYaml . | nindent 8 }}
18 | {{- end }}
19 | labels:
20 | {{- include "allure-api.selectorLabels" . | nindent 8 }}
21 | spec:
22 | {{- with .Values.imagePullSecrets }}
23 | imagePullSecrets:
24 | {{- toYaml . | nindent 8 }}
25 | {{- end }}
26 | securityContext:
27 | {{- toYaml .Values.api.podSecurityContext | nindent 8 }}
28 | containers:
29 | - name: allure-api
30 | securityContext:
31 | {{- toYaml .Values.api.securityContext | nindent 12 }}
32 | {{- with .Values.api.image }}
33 | image: "{{ .repository }}:{{ .tag }}"
34 | imagePullPolicy: {{ .pullPolicy }}
35 | {{- end }}
36 | envFrom:
37 | - configMapRef:
38 | name: {{ $fullName }}-api
39 | - secretRef:
40 | name: {{ .Values.credentials }}
41 | volumeMounts:
42 | - name: reports-volume
43 | mountPath: /app/projects
44 | ports:
45 | - name: api
46 | containerPort: 5050
47 | protocol: TCP
48 | livenessProbe:
49 | httpGet:
50 | path: /allure-docker-service/version
51 | port: api
52 | readinessProbe:
53 | httpGet:
54 | path: /allure-docker-service/version
55 | port: api
56 | {{- with .Values.api.resources }}
57 | resources:
58 | {{- toYaml . | nindent 12 }}
59 | {{- end }}
60 | volumes:
61 | - name: reports-volume
62 | {{- if not .Values.volume.enabled }}
63 | emptyDir: {}
64 | {{- else }}
65 | persistentVolumeClaim:
66 | claimName: {{ .Values.volume.existingClaim | default (printf "%s-data" $fullName) }}
67 | {{- end }}
68 |
--------------------------------------------------------------------------------
/charts/folding-at-home/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "fah.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 "fah.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 "fah.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "fah.labels" -}}
54 | helm.sh/chart: {{ include "fah.chart" . }}
55 | {{ include "fah.selectorLabels" . }}
56 | {{- if .Chart.AppVersion }}
57 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
58 | {{- end }}
59 | app.kubernetes.io/managed-by: {{ .Release.Service }}
60 | {{ include "charts.midokura.labels" . }}
61 | {{- end }}
62 |
63 | {{/*
64 | Selector labels
65 | */}}
66 | {{- define "fah.selectorLabels" -}}
67 | app.kubernetes.io/name: {{ include "fah.name" . }}
68 | app.kubernetes.io/instance: {{ .Release.Name }}
69 | {{- end }}
70 |
71 | {{/*
72 | Create the name of the service account to use
73 | */}}
74 | {{- define "fah.serviceAccountName" -}}
75 | {{- if .Values.serviceAccount.create }}
76 | {{- default (include "fah.fullname" .) .Values.serviceAccount.name }}
77 | {{- else }}
78 | {{- default "default" .Values.serviceAccount.name }}
79 | {{- end }}
80 | {{- end }}
81 |
--------------------------------------------------------------------------------
/charts/errbot/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "errbot.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 "errbot.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 "errbot.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "errbot.labels" -}}
54 | helm.sh/chart: {{ include "errbot.chart" . }}
55 | {{ include "errbot.selectorLabels" . }}
56 | {{- if .Chart.AppVersion }}
57 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
58 | {{- end }}
59 | app.kubernetes.io/managed-by: {{ .Release.Service }}
60 | {{ include "charts.midokura.labels" . }}
61 | {{- end }}
62 |
63 | {{/*
64 | Selector labels
65 | */}}
66 | {{- define "errbot.selectorLabels" -}}
67 | app.kubernetes.io/name: {{ include "errbot.name" . }}
68 | app.kubernetes.io/instance: {{ .Release.Name }}
69 | {{- end }}
70 |
71 | {{/*
72 | Create the name of the service account to use
73 | */}}
74 | {{- define "errbot.serviceAccountName" -}}
75 | {{- if .Values.serviceAccount.create }}
76 | {{- default (include "errbot.fullname" .) .Values.serviceAccount.name }}
77 | {{- else }}
78 | {{- default "default" .Values.serviceAccount.name }}
79 | {{- end }}
80 | {{- end }}
81 |
--------------------------------------------------------------------------------
/charts/unifi-controller/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "unifi.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 "unifi.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 "unifi.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "unifi.labels" -}}
54 | helm.sh/chart: {{ include "unifi.chart" . }}
55 | {{ include "unifi.selectorLabels" . }}
56 | {{- if .Chart.AppVersion }}
57 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
58 | {{- end }}
59 | app.kubernetes.io/managed-by: {{ .Release.Service }}
60 | {{ include "charts.midokura.labels" . }}
61 | {{- end }}
62 |
63 | {{/*
64 | Selector labels
65 | */}}
66 | {{- define "unifi.selectorLabels" -}}
67 | app.kubernetes.io/name: {{ include "unifi.name" . }}
68 | app.kubernetes.io/instance: {{ .Release.Name }}
69 | {{- end }}
70 |
71 | {{/*
72 | Create the name of the service account to use
73 | */}}
74 | {{- define "unifi.serviceAccountName" -}}
75 | {{- if .Values.serviceAccount.create }}
76 | {{- default (include "unifi.fullname" .) .Values.serviceAccount.name }}
77 | {{- else }}
78 | {{- default "default" .Values.serviceAccount.name }}
79 | {{- end }}
80 | {{- end }}
81 |
--------------------------------------------------------------------------------
/charts/sshportal/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "sshportal.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 "sshportal.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 "sshportal.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "sshportal.labels" -}}
54 | helm.sh/chart: {{ include "sshportal.chart" . }}
55 | {{ include "sshportal.selectorLabels" . }}
56 | {{- if .Chart.AppVersion }}
57 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
58 | {{- end }}
59 | app.kubernetes.io/managed-by: {{ .Release.Service }}
60 | {{ include "charts.midokura.labels" . }}
61 | {{- end }}
62 |
63 | {{/*
64 | Selector labels
65 | */}}
66 | {{- define "sshportal.selectorLabels" -}}
67 | app.kubernetes.io/name: {{ include "sshportal.name" . }}
68 | app.kubernetes.io/instance: {{ .Release.Name }}
69 | {{- end }}
70 |
71 | {{/*
72 | Create the name of the service account to use
73 | */}}
74 | {{- define "sshportal.serviceAccountName" -}}
75 | {{- if .Values.serviceAccount.create }}
76 | {{- default (include "sshportal.fullname" .) .Values.serviceAccount.name }}
77 | {{- else }}
78 | {{- default "default" .Values.serviceAccount.name }}
79 | {{- end }}
80 | {{- end }}
81 |
--------------------------------------------------------------------------------
/charts/static-page/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "docs.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 "docs.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 "docs.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "docs.labels" -}}
54 | helm.sh/chart: {{ include "docs.chart" . }}
55 | {{- with .Values.extraLabels }}
56 | {{ toYaml . }}
57 | {{- end }}
58 | {{ include "docs.selectorLabels" . }}
59 | {{- if .Chart.AppVersion }}
60 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
61 | {{- end }}
62 | app.kubernetes.io/managed-by: {{ .Release.Service }}
63 | {{ include "charts.midokura.labels" . }}
64 | {{- end }}
65 |
66 | {{/*
67 | Selector labels
68 | */}}
69 | {{- define "docs.selectorLabels" -}}
70 | app.kubernetes.io/name: {{ include "docs.name" . }}
71 | app.kubernetes.io/instance: {{ .Release.Name }}
72 | {{- end }}
73 |
74 | {{/*
75 | Create the name of the service account to use
76 | */}}
77 | {{- define "docs.serviceAccountName" -}}
78 | {{- if .Values.serviceAccount.create }}
79 | {{- default (include "docs.fullname" .) .Values.serviceAccount.name }}
80 | {{- else }}
81 | {{- default "default" .Values.serviceAccount.name }}
82 | {{- end }}
83 | {{- end }}
84 |
--------------------------------------------------------------------------------
/charts/nginx-static/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "nginx-static.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 | {{/* Basic auth */}}
10 | {{- if and .Values.ingress.auth.enabled (not (hasKey .Values.ingress.annotations "nginx.ingress.kubernetes.io/auth-type")) }}
11 | {{- $_ := set .Values.ingress.annotations "nginx.ingress.kubernetes.io/auth-type" "basic" }}
12 | {{- $_ := set .Values.ingress.annotations "nginx.ingress.kubernetes.io/auth-secret" (default (printf "%s-auth" .Release.Name) .Values.ingress.auth.useSecretName) }}
13 | {{- end }}
14 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
15 | apiVersion: networking.k8s.io/v1
16 | {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
17 | apiVersion: networking.k8s.io/v1beta1
18 | {{- else -}}
19 | apiVersion: extensions/v1beta1
20 | {{- end }}
21 | kind: Ingress
22 | metadata:
23 | name: {{ $fullName }}
24 | labels:
25 | {{- include "nginx-static.labels" . | nindent 4 }}
26 | annotations:
27 | {{- with .Values.ingress.annotations }}
28 | {{- toYaml . | nindent 4 }}
29 | {{- end }}
30 | spec:
31 | {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
32 | ingressClassName: {{ .Values.ingress.className }}
33 | {{- end }}
34 | {{- if .Values.ingress.tls }}
35 | tls:
36 | - hosts:
37 | - {{ .Values.ingress.hostname | quote }}
38 | {{- if deepEqual .Values.ingress.tls true }}
39 | secretName: {{ printf "%s-tls" .Values.ingress.hostname | quote }}
40 | {{- else }}
41 | secretName: {{ .Values.ingress.tls | quote }}
42 | {{- end }}
43 | {{- end }}
44 | rules:
45 | - host: {{ .Values.ingress.hostname | quote }}
46 | http:
47 | paths:
48 | - path: /
49 | {{- if (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
50 | pathType: Prefix
51 | {{- end }}
52 | backend:
53 | {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
54 | service:
55 | name: {{ $fullName }}
56 | port:
57 | number: {{ $svcPort }}
58 | {{- else }}
59 | serviceName: {{ $fullName }}
60 | servicePort: {{ $svcPort }}
61 | {{- end }}
62 | {{- end }}
63 |
--------------------------------------------------------------------------------
/charts/static-page/values.yaml:
--------------------------------------------------------------------------------
1 | replicaCount: 1
2 |
3 | extraLabels: {}
4 | # tags.datadoghq.com/service: static-page
5 |
6 | image:
7 | repository: ""
8 | pullPolicy: Always
9 | tag: latest
10 |
11 | imagePullSecrets: []
12 | nameOverride: ""
13 | fullnameOverride: ""
14 |
15 | # Configures automatic image upgrades via flux image update
16 | # This opens new PRs whenever a new docker image or helm chart is detected to update Flux definitions
17 | updateAutomation:
18 | # -- Enable automation for Docker image versions
19 | # SemverRange is disabled as the chart enforces its own already
20 | docker:
21 | enabled: false
22 | filterTags: {}
23 | policy: {}
24 | # semver:
25 | # range:
26 | # -- Flux Repository resource reference to use to create a PR
27 | fluxRepository:
28 | # -- Reference to a GitRepository to where PRs with changes will be opened
29 | gitRepositoryRef: ""
30 | namespace: flux-system
31 | checkInterval: 10m
32 | path: ""
33 |
34 |
35 | serviceAccount:
36 | # -- Specifies whether a service account should be created
37 | create: false
38 | # -- Annotations to add to the service account
39 | annotations: {}
40 | # -- The name of the service account to use.
41 | # If not set and create is true, a name is generated using the fullname template
42 | name: ""
43 |
44 | podAnnotations: {}
45 |
46 | podSecurityContext: {}
47 | # fsGroup: 2000
48 |
49 | securityContext: {}
50 | # capabilities:
51 | # drop:
52 | # - ALL
53 | # readOnlyRootFilesystem: true
54 | # runAsNonRoot: true
55 | # runAsUser: 1000
56 |
57 | service:
58 | type: ClusterIP
59 | port: 80
60 |
61 | ingress:
62 | enabled: false
63 | className: ""
64 | annotations: {}
65 | hosts:
66 | - host: chart-example.local
67 | paths:
68 | - path: /
69 | pathType: ImplementationSpecific
70 | tls: []
71 | # - secretName: chart-example-tls
72 | # hosts:
73 | # - chart-example.local
74 |
75 | resources: {}
76 | # We usually recommend not to specify default resources and to leave this as a conscious
77 | # choice for the user. This also increases chances charts run on environments with little
78 | # resources, such as Minikube. If you do want to specify resources, uncomment the following
79 | # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
80 | # limits:
81 | # cpu: 100m
82 | # memory: 128Mi
83 | # requests:
84 | # cpu: 100m
85 | # memory: 128Mi
86 |
87 | autoscaling:
88 | enabled: false
89 | minReplicas: 2
90 | maxReplicas: 10
91 | targetCPUUtilizationPercentage: 80
92 | # targetMemoryUtilizationPercentage: 80
93 |
94 | nodeSelector: {}
95 |
96 | tolerations: []
97 |
98 | affinity: {}
99 |
--------------------------------------------------------------------------------
/charts/webhook-site/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "webhook-site.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 "webhook-site.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 "webhook-site.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "webhook-site.labels" -}}
54 | helm.sh/chart: {{ include "webhook-site.chart" . }}
55 | {{ include "webhook-site.app.selectorLabels" . }}
56 | {{- if .Chart.AppVersion }}
57 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
58 | {{- end }}
59 | app.kubernetes.io/managed-by: {{ .Release.Service }}
60 | {{ include "charts.midokura.labels" . }}
61 | {{- end }}
62 |
63 | {{/*
64 | Selector labels
65 | */}}
66 | {{- define "webhook-site.app.selectorLabels" -}}
67 | app.kubernetes.io/name: {{ include "webhook-site.name" . }}
68 | app.kubernetes.io/instance: {{ .Release.Name }}
69 | app.kubernetes.io/component: webhook-site
70 | {{- end }}
71 |
72 | {{- define "webhook-site.echo.selectorLabels" -}}
73 | app.kubernetes.io/name: {{ include "webhook-site.name" . }}
74 | app.kubernetes.io/instance: {{ .Release.Name }}
75 | app.kubernetes.io/component: echo-server
76 | {{- end }}
77 |
78 | {{/*
79 | Create the name of the service account to use
80 | */}}
81 | {{- define "webhook-site.serviceAccountName" -}}
82 | {{- if .Values.serviceAccount.create }}
83 | {{- default (include "webhook-site.fullname" .) .Values.serviceAccount.name }}
84 | {{- else }}
85 | {{- default "default" .Values.serviceAccount.name }}
86 | {{- end }}
87 | {{- end }}
88 |
--------------------------------------------------------------------------------
/charts/webhook-site/templates/ingress.yaml:
--------------------------------------------------------------------------------
1 | {{- if .Values.ingress.enabled -}}
2 | {{- $fullName := include "webhook-site.fullname" . -}}
3 | {{- $svcName := printf "%s" $fullName -}}
4 | {{- $svcPort := .Values.app.service.port -}}
5 | {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
6 | {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
7 | {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
8 | {{- end }}
9 | {{- end }}
10 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
11 | apiVersion: networking.k8s.io/v1
12 | {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
13 | apiVersion: networking.k8s.io/v1beta1
14 | {{- else -}}
15 | apiVersion: extensions/v1beta1
16 | {{- end }}
17 | kind: Ingress
18 | metadata:
19 | name: {{ $fullName }}
20 | labels:
21 | {{- include "webhook-site.labels" . | nindent 4 }}
22 | {{- with .Values.ingress.annotations }}
23 | annotations:
24 | {{- toYaml . | nindent 4 }}
25 | {{- end }}
26 | spec:
27 | {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
28 | ingressClassName: {{ .Values.ingress.className }}
29 | {{- end }}
30 | {{- if .Values.ingress.tls }}
31 | tls:
32 | - hosts:
33 | - {{ .Values.ingress.hostname }}
34 | secretName: {{ $fullName }}-tls-cert
35 | {{- end }}
36 | rules:
37 | - host: {{ .Values.ingress.hostname | quote }}
38 | http:
39 | paths:
40 | - path: /
41 | {{- if (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
42 | pathType: Prefix
43 | {{- end }}
44 | backend:
45 | {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
46 | service:
47 | name: {{ $svcName }}
48 | port:
49 | number: {{ $svcPort }}
50 | {{- else }}
51 | serviceName: {{ $svcName }}
52 | servicePort: {{ $svcPort }}
53 | {{- end }}
54 | - path: /socket.io
55 | {{- if (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
56 | pathType: Prefix
57 | {{- end }}
58 | backend:
59 | {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
60 | service:
61 | name: laravel-echo-server
62 | port:
63 | number: {{ .Values.echo.service.port }}
64 | {{- else }}
65 | serviceName: laravel-echo-server
66 | servicePort: {{ .Values.echo.service.port }}
67 | {{- end }}
68 | {{- end }}
69 |
--------------------------------------------------------------------------------
/charts/folding-at-home/templates/application.yaml:
--------------------------------------------------------------------------------
1 | {{- $gpuEnabled := .Values.gpu.enabled }}
2 | {{- $fullName := include "fah.fullname" . }}
3 | {{- $fullNameSuffix := $gpuEnabled | ternary (printf "%s-gpu" $fullName) ($fullName) }}
4 | apiVersion: apps/v1
5 | kind: StatefulSet
6 | metadata:
7 | name: {{ $fullNameSuffix }}
8 | labels:
9 | {{- include "fah.labels" . | nindent 4 }}
10 | spec:
11 | replicas: {{ .Values.replicaCount }}
12 | serviceName: {{ printf "%s-headless" $fullName }}
13 | selector:
14 | matchLabels:
15 | {{- include "fah.selectorLabels" . | nindent 6 }}
16 | template:
17 | metadata:
18 | {{- with .Values.podAnnotations }}
19 | annotations:
20 | {{- toYaml . | nindent 8 }}
21 | {{- end }}
22 | labels:
23 | {{- include "fah.selectorLabels" . | nindent 8 }}
24 | spec:
25 | {{- with .Values.imagePullSecrets }}
26 | imagePullSecrets:
27 | {{- toYaml . | nindent 8 }}
28 | {{- end }}
29 | serviceAccountName: {{ include "fah.serviceAccountName" . }}
30 | securityContext:
31 | {{- toYaml .Values.podSecurityContext | nindent 8 }}
32 | containers:
33 | - name: {{ .Chart.Name }}
34 | securityContext:
35 | {{- toYaml .Values.securityContext | nindent 12 }}
36 | {{- $imageData := $gpuEnabled | ternary .Values.gpu.image .Values.image }}
37 | image: "{{ $imageData.repository }}:{{ $imageData.tag | default .Chart.AppVersion }}"
38 | imagePullPolicy: {{ $imageData.pullPolicy }}
39 | ports:
40 | - name: http
41 | containerPort: 7396
42 | protocol: TCP
43 | - name: command
44 | containerPort: 36330
45 | protocol: TCP
46 | {{- if and ($gpuEnabled) (not .Values.resources) }}
47 | {{- fail "Define GPU resources to assign a GPU." }}
48 | {{- end }}
49 | resources:
50 | {{- toYaml .Values.resources | nindent 12 }}
51 | volumeMounts:
52 | - name: work
53 | mountPath: {{ $gpuEnabled | ternary (.Values.gpu.workPath) (.Values.workPath) | quote }}
54 | - name: config
55 | mountPath: {{ $gpuEnabled | ternary (.Values.gpu.configFile) (.Values.configFile) | quote }}
56 | subPath: config.xml
57 | {{- with .Values.nodeSelector }}
58 | nodeSelector:
59 | {{- toYaml . | nindent 8 }}
60 | {{- end }}
61 | {{- with .Values.affinity }}
62 | affinity:
63 | {{- toYaml . | nindent 8 }}
64 | {{- end }}
65 | {{- with .Values.tolerations }}
66 | tolerations:
67 | {{- toYaml . | nindent 8 }}
68 | {{- end }}
69 | volumes:
70 | - name: work
71 | emptyDir: {}
72 | - name: config
73 | secret:
74 | secretName: {{ $fullName }}-config
75 |
--------------------------------------------------------------------------------
/charts/allure/values.yaml:
--------------------------------------------------------------------------------
1 |
2 | nameOverride: ""
3 | fullnameOverride: ""
4 |
5 | imagePullSecrets: {}
6 |
7 | ui:
8 | replicaCount: 1
9 | image:
10 | repository: frankescobar/allure-docker-service-ui
11 | tag: "7.0.3"
12 | digest: sha256:b06d1ee48be866d674bf2719df068e0402cee83553bc94bb05f06821bfdb5deb
13 | pullPolicy: IfNotPresent
14 | podAnnotations: {}
15 | podSecurityContext: {}
16 | securityContext: {}
17 | resources: {}
18 | service:
19 | type: ClusterIP
20 | port: 80
21 |
22 | api:
23 | replicaCount: 1
24 | # Run developer mode to log HTTP requests
25 | devMode: false
26 | image:
27 | repository: frankescobar/allure-docker-service
28 | tag: "2.19.0"
29 | digest: sha256:e1db15a4f235c30c424b3bb06e3b87e7583c9606981dc9d7a2746fd4f2a3c145
30 | pullPolicy: IfNotPresent
31 | podAnnotations: {}
32 | # WARNING: Do not change fsGroup.
33 | # Group must be 1000 to use the shared Volume.
34 | podSecurityContext:
35 | fsGroup: 1000
36 | # WARNING: Do not change runAsUser & runAsGroup.
37 | # User & Group must be 1000 to use the shared Volume.
38 | securityContext:
39 | runAsUser: 1000
40 | runAsGroup: 1000
41 | resources: {}
42 | service:
43 | type: ClusterIP
44 | port: 80
45 |
46 |
47 | # Keep Old Allure Results
48 | keepHistory: true
49 |
50 | # Number of Allure Reports to Keep
51 | # Set to NONE to use Generate Reports Endpoint
52 | updateFrequency: NONE
53 |
54 | # Enables Admin & Viewer Login
55 | securityEnabled: true
56 |
57 | # Make Viewer Endpoints Public
58 | publicViewerEndpoint: false
59 |
60 | # Set Admin & Viewer Credentials on Security Enable
61 | # apiVersion: v1
62 | # kind: Secret
63 | # metadata:
64 | # name: api-credentials
65 | # type: Opaque
66 | # data:
67 | # # echo -n 'my_username' | base64
68 | # SECURITY_USER: bXlfdXNlcm5hbWU=
69 | # # echo -n 'my_password' | base64
70 | # SECURITY_PASS: bXlfcGFzc3dvcmQ=
71 | # # echo -n 'view_user' | base64
72 | # SECURITY_VIEWER_USER: dmlld191c2Vy
73 | # # echo -n 'view_pass' | base64
74 | # SECURITY_VIEWER_PASS: dmlld19wYXNz
75 | credentials: api-credentials
76 |
77 | # Allure History and Reports Storage Resources
78 | volume:
79 | enabled: true
80 | storageClassName: ""
81 | size: 4Gi
82 | existingClaim: ""
83 | accessModes:
84 | - ReadWriteMany
85 |
86 | # For Large Allure Results:
87 | # - Increase Connection Timeout
88 | # - Increase Body Size
89 | # - Diasble Modsecurity
90 | ingress:
91 | enabled: false
92 | tls: false
93 | existingSecret: ""
94 | className: nginx
95 | # Allure UI needs a Public Allure API Hostname
96 | hostname: ""
97 | annotations:
98 | nginx.ingress.kubernetes.io/proxy-body-size: 1024m
99 | # cert-manager.io/cluster-issuer: letsencrypt
100 | # nginx.ingress.kubernetes.io/enable-modsecurity: 'false'
101 | # nginx.ingress.kubernetes.io/proxy-connect-timeout: '900'
102 |
--------------------------------------------------------------------------------
/charts/salt/values.yaml:
--------------------------------------------------------------------------------
1 | # Default values for salt.
2 | # This is a YAML-formatted file.
3 | # Declare variables to be passed into your templates.
4 |
5 | replicaCount: 1
6 |
7 | global:
8 | image:
9 | repository: saltstack/salt
10 | pullPolicy: IfNotPresent
11 | tag: ""
12 |
13 | imagePullSecrets: []
14 | nameOverride: ""
15 | fullnameOverride: ""
16 |
17 | master:
18 | # -- Change salt-master file_root directory where state / top data is stored
19 | # Use it along with git-sync for syncronized repos
20 | file_root: ""
21 | image:
22 | repository: saltstack/salt
23 | pullPolicy: IfNotPresent
24 | tag: ""
25 | podAnnotations: {}
26 | podSecurityContext:
27 | fsGroup: 450
28 | securityContext: {}
29 | # capabilities:
30 | # drop:
31 | # - ALL
32 | # readOnlyRootFilesystem: true
33 | # runAsNonRoot: true
34 | # runAsUser: 1000
35 | resources: {}
36 | service:
37 | type: ClusterIP
38 | loadBalancerIP: ""
39 | loadBalancerSourceRanges: []
40 | ports:
41 | publish:
42 | expose: true
43 | port: 4505
44 | containerPort: 4505
45 | return:
46 | expose: true
47 | port: 4506
48 | containerPort: 4506
49 | https:
50 | expose: false
51 | port: 8000
52 | containerPort: 8000
53 | persistence:
54 | enabled: true
55 | size: 4Gi
56 | existingClaim: null
57 | storageClass: ""
58 | annotations: {}
59 | accessModes:
60 | #- ReadWriteMany
61 | - ReadWriteOnce
62 | nodeSelector: {}
63 | tolerations: []
64 | affinity: {}
65 | ingress:
66 | enabled: false
67 | className: ""
68 | annotations: {}
69 | # kubernetes.io/ingress.class: nginx
70 | # kubernetes.io/tls-acme: "true"
71 | hosts:
72 | - host: chart-example.local
73 | paths:
74 | - path: /
75 | pathType: ImplementationSpecific
76 | tls: []
77 | # - secretName: chart-example-tls
78 | # hosts:
79 | # - chart-example.local
80 |
81 |
82 | serviceAccount:
83 | # Specifies whether a service account should be created
84 | create: false
85 | # Annotations to add to the service account
86 | annotations: {}
87 | # The name of the service account to use.
88 | # If not set and create is true, a name is generated using the fullname template
89 | name: ""
90 |
91 | # Sidecar container that pulls content from Git repository (eg. custom private plugins)
92 | gitsync:
93 | enabled: false
94 | image:
95 | repository: gcr.io/k8s-staging-git-sync/git-sync
96 | tag: v4.0.0
97 | # digest: sha256:ad48c2dd8f5ae73e783c4a55bedb4cc13d51d347d157e6564c4debfd0fbd429d
98 | digest: null
99 | pullPolicy: IfNotPresent
100 | env: {}
101 | envFrom: []
102 | resources: {}
103 | # use .Values.extraVolumes to define resources
104 | extraVolumeMounts: []
105 | config:
106 | # repo: https://github.com/kubernetes/git-sync
107 | root: /srv/salt
108 | ref: HEAD
109 | period: 60s
110 |
--------------------------------------------------------------------------------
/charts/salt/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "salt.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 "salt.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 "salt.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "salt.base.labels" -}}
54 | helm.sh/chart: {{ include "salt.chart" . }}
55 | {{- if .Chart.AppVersion }}
56 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
57 | {{- end }}
58 | app.kubernetes.io/managed-by: {{ .Release.Service }}
59 | {{ include "charts.midokura.labels" . }}
60 | {{- end }}
61 |
62 | {{- define "salt.labels" -}}
63 | {{ include "salt.base.labels" . }}
64 | {{ include "salt.selectorLabels" . }}
65 | {{- end }}
66 |
67 | {{/*
68 | NOTE: Not including changing fields such as
69 | "version" and "chart" in "app" due to bug StatefulSet
70 | cannot be updated if using PVC and changing labels.
71 | helm/charts issue #7803
72 | */}}
73 | {{- define "salt.master.labels" -}}
74 | app.kubernetes.io/managed-by: {{ .Release.Service }}
75 | {{ include "salt.master.selectorLabels" . }}
76 | {{- end }}
77 |
78 | {{/*
79 | Selector labels
80 | */}}
81 | {{- define "salt.selectorLabels" -}}
82 | app.kubernetes.io/name: {{ include "salt.name" . }}
83 | app.kubernetes.io/instance: {{ .Release.Name }}
84 | {{- end }}
85 | {{- define "salt.master.selectorLabels" -}}
86 | {{ include "salt.selectorLabels" . }}
87 | app.kubernetes.io/component: master
88 | {{- end }}
89 |
90 | {{/*
91 | Create the name of the service account to use
92 | */}}
93 | {{- define "salt.serviceAccountName" -}}
94 | {{- if .Values.serviceAccount.create }}
95 | {{- default (include "salt.fullname" .) .Values.serviceAccount.name }}
96 | {{- else }}
97 | {{- default "default" .Values.serviceAccount.name }}
98 | {{- end }}
99 | {{- end }}
100 |
--------------------------------------------------------------------------------
/charts/webhook-site/templates/webhook-deployment.yaml:
--------------------------------------------------------------------------------
1 | {{- $name := include "webhook-site.name" . }}
2 | {{- $fullName := include "webhook-site.fullname" . }}
3 | apiVersion: apps/v1
4 | kind: Deployment
5 | metadata:
6 | name: {{ $fullName }}-webhook
7 | labels:
8 | {{- include "webhook-site.labels" . | nindent 4 }}
9 | spec:
10 | replicas: {{ .Values.app.replicaCount }}
11 | selector:
12 | matchLabels:
13 | {{- include "webhook-site.app.selectorLabels" . | nindent 6 }}
14 | template:
15 | metadata:
16 | {{- with .Values.app.podAnnotations }}
17 | annotations:
18 | {{- toYaml . | nindent 8 }}
19 | {{- end }}
20 | labels:
21 | {{- include "webhook-site.app.selectorLabels" . | nindent 8 }}
22 | spec:
23 | {{- with .Values.imagePullSecrets }}
24 | imagePullSecrets:
25 | {{- toYaml . | nindent 8 }}
26 | {{- end }}
27 | serviceAccountName: {{ include "webhook-site.serviceAccountName" . }}
28 | securityContext:
29 | {{- toYaml .Values.app.podSecurityContext | nindent 8 }}
30 | containers:
31 | - name: webhook
32 | args:
33 | - php
34 | - artisan
35 | - queue:work
36 | - --daemon
37 | - --tries=3
38 | - --timeout=10
39 | env:
40 | - name: APP_DEBUG
41 | value: "true"
42 | - name: APP_ENV
43 | value: dev
44 | - name: APP_LOG
45 | value: errorlog
46 | - name: APP_URL
47 | value: http://localhost:8084
48 | {{- range tuple "BROADCAST" "CACHE" "QUEUE" }}
49 | - name: {{.}}_DRIVER
50 | value: redis
51 | {{- end }}
52 | - name: DB_CONNECTION
53 | value: sqlite
54 | - name: ECHO_HOST_MODE
55 | value: path
56 | - name: REDIS_HOST
57 | value: {{ .Release.Name }}-redis-master
58 | {{- if and .Values.redis.auth.enabled .Values.redis.auth.password }}
59 | - name: REDIS_PASSWORD
60 | value: {{ .Values.redis.auth.password | quote }}
61 | {{- end }}
62 | securityContext:
63 | {{- toYaml .Values.app.securityContext | nindent 12 }}
64 | {{- with .Values.app.image }}
65 | image: "{{ .repository }}:{{ .tag | default $.Chart.AppVersion }}{{ if .digest }}@{{.digest}}{{ end }}"
66 | imagePullPolicy: {{ .pullPolicy }}
67 | {{- end }}
68 | ports:
69 | - name: http
70 | containerPort: 80
71 | protocol: TCP
72 | livenessProbe:
73 | httpGet:
74 | path: /
75 | port: http
76 | resources:
77 | {{- toYaml .Values.app.resources | nindent 12 }}
78 | {{- with .Values.app.nodeSelector }}
79 | nodeSelector:
80 | {{- toYaml . | nindent 8 }}
81 | {{- end }}
82 | {{- with .Values.app.affinity }}
83 | affinity:
84 | {{- toYaml . | nindent 8 }}
85 | {{- end }}
86 | {{- with .Values.app.tolerations }}
87 | tolerations:
88 | {{- toYaml . | nindent 8 }}
89 | {{- end }}
90 |
--------------------------------------------------------------------------------
/charts/webhook-site/templates/echo-deployment.yaml:
--------------------------------------------------------------------------------
1 | {{- $fullName := include "webhook-site.fullname" . }}
2 | apiVersion: apps/v1
3 | kind: Deployment
4 | metadata:
5 | name: {{ $fullName }}-echo
6 | labels:
7 | {{- include "webhook-site.labels" . | nindent 4 }}
8 | spec:
9 | replicas: {{ .Values.echo.replicaCount }}
10 | selector:
11 | matchLabels:
12 | {{- include "webhook-site.echo.selectorLabels" . | nindent 6 }}
13 | template:
14 | metadata:
15 | {{- with .Values.echo.podAnnotations }}
16 | annotations:
17 | {{- toYaml . | nindent 8 }}
18 | {{- end }}
19 | labels:
20 | {{- include "webhook-site.echo.selectorLabels" . | nindent 8 }}
21 | spec:
22 | {{- with .Values.imagePullSecrets }}
23 | imagePullSecrets:
24 | {{- toYaml . | nindent 8 }}
25 | {{- end }}
26 | serviceAccountName: {{ include "webhook-site.serviceAccountName" . }}
27 | securityContext:
28 | {{- toYaml .Values.echo.podSecurityContext | nindent 8 }}
29 | containers:
30 | - name: echo
31 | env:
32 | - name: ECHO_ALLOW_CORS
33 | value: "true"
34 | {{- range tuple "HEADERS" "METHODS" "ORIGIN" }}
35 | - name: ECHO_ALLOW_{{.}}
36 | value: '*'
37 | {{- end }}
38 | - name: ECHO_PROTOCOL
39 | value: http
40 | - name: ECHO_REDIS_HOSTNAME
41 | value: {{ .Release.Name }}-redis-master
42 | {{- if and .Values.redis.auth.enabled .Values.redis.auth.password }}
43 | - name: ECHO_REDIS_PASSWORD
44 | value: {{ .Values.redis.auth.password | quote }}
45 | {{- end }}
46 | - name: ECHO_REDIS_PORT
47 | value: {{ default 6379 .Values.redis.master.service.port | quote }}
48 | - name: LARAVEL_ECHO_SERVER_AUTH_HOST
49 | value: https://webhook
50 | - name: LARAVEL_ECHO_SERVER_HOST
51 | value: 0.0.0.0
52 | - name: LARAVEL_ECHO_SERVER_PORT
53 | value: "6001"
54 | securityContext:
55 | {{- toYaml .Values.echo.securityContext | nindent 12 }}
56 | {{- with .Values.echo.image }}
57 | image: "{{ .repository }}:{{ .tag | default $.Chart.AppVersion }}{{ if .digest }}@{{.digest}}{{ end }}"
58 | imagePullPolicy: {{ .pullPolicy }}
59 | {{- end }}
60 | ports:
61 | - name: http
62 | containerPort: 6001
63 | protocol: TCP
64 | #livenessProbe:
65 | # httpGet:
66 | # path: /
67 | # port: http
68 | #readinessProbe:
69 | # httpGet:
70 | # path: /
71 | # port: http
72 | resources:
73 | {{- toYaml .Values.echo.resources | nindent 12 }}
74 | {{- with .Values.echo.nodeSelector }}
75 | nodeSelector:
76 | {{- toYaml . | nindent 8 }}
77 | {{- end }}
78 | {{- with .Values.echo.affinity }}
79 | affinity:
80 | {{- toYaml . | nindent 8 }}
81 | {{- end }}
82 | {{- with .Values.echo.tolerations }}
83 | tolerations:
84 | {{- toYaml . | nindent 8 }}
85 | {{- end }}
86 |
--------------------------------------------------------------------------------
/charts/webhook-site/values.yaml:
--------------------------------------------------------------------------------
1 | nameOverride: ""
2 | fullnameOverride: ""
3 |
4 | imagePullSecrets: []
5 |
6 | serviceAccount:
7 | create: true
8 | annotations: {}
9 | name: ""
10 |
11 | ingress:
12 | enabled: false
13 | tls: false
14 | className: ""
15 | annotations: {}
16 | # kubernetes.io/ingress.class: nginx
17 | # kubernetes.io/tls-acme: "true"
18 | hostname: webhook.site
19 |
20 | app:
21 | replicaCount: 1
22 | image:
23 | repository: fredsted/webhook.site
24 | pullPolicy: IfNotPresent
25 | digest: sha256:580424cab9b3b9ad6e6748d1b5057a30e82ad4fb83a19bd5421679cb3066f583
26 | tag: latest
27 |
28 | podAnnotations: {}
29 |
30 | podSecurityContext: {}
31 | # fsGroup: 2000
32 |
33 | securityContext: {}
34 | # capabilities:
35 | # drop:
36 | # - ALL
37 | # readOnlyRootFilesystem: true
38 | # runAsNonRoot: true
39 | # runAsUser: 1000
40 |
41 | resources: {}
42 | # We usually recommend not to specify default resources and to leave this as a conscious
43 | # choice for the user. This also increases chances charts run on environments with little
44 | # resources, such as Minikube. If you do want to specify resources, uncomment the following
45 | # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
46 | # limits:
47 | # cpu: 100m
48 | # memory: 128Mi
49 | # requests:
50 | # cpu: 100m
51 | # memory: 128Mi
52 |
53 | nodeSelector: {}
54 | tolerations: []
55 | affinity: {}
56 |
57 | service:
58 | type: ClusterIP
59 | port: 80
60 |
61 | echo:
62 | replicaCount: 1
63 | image:
64 | repository: mintopia/laravel-echo-server
65 | pullPolicy: IfNotPresent
66 | digest: sha256:3038e4a81891536a8e8da819b591a8faf8a2f406a7c79e1c5c1764c18a2d257d
67 | tag: latest
68 |
69 | podAnnotations: {}
70 |
71 | podSecurityContext: {}
72 | # fsGroup: 2000
73 |
74 | securityContext: {}
75 | # capabilities:
76 | # drop:
77 | # - ALL
78 | # readOnlyRootFilesystem: true
79 | # runAsNonRoot: true
80 | # runAsUser: 1000
81 |
82 | resources: {}
83 | # We usually recommend not to specify default resources and to leave this as a conscious
84 | # choice for the user. This also increases chances charts run on environments with little
85 | # resources, such as Minikube. If you do want to specify resources, uncomment the following
86 | # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
87 | # limits:
88 | # cpu: 100m
89 | # memory: 128Mi
90 | # requests:
91 | # cpu: 100m
92 | # memory: 128Mi
93 |
94 | nodeSelector: {}
95 | tolerations: []
96 | affinity: {}
97 |
98 | service:
99 | type: ClusterIP
100 | port: 80
101 |
102 | redis:
103 | install: true
104 | database: 0
105 | auth:
106 | enabled: false
107 | password: redispass
108 | master:
109 | persistence:
110 | enabled: false
111 | size: 1Gi
112 | replica:
113 | replicaCount: 0
114 | persistence:
115 | enabled: false
116 | size: 1Gi
117 | rbac:
118 | create: true
119 | image:
120 | # tag: sha256:CHANGEME
121 |
--------------------------------------------------------------------------------
/charts/fossology/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "fossology.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 "fossology.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 "fossology.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "fossology.base.labels" -}}
54 | helm.sh/chart: {{ include "fossology.chart" . }}
55 | {{- if .Chart.AppVersion }}
56 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
57 | {{- end }}
58 | app.kubernetes.io/managed-by: {{ .Release.Service }}
59 | {{ include "charts.midokura.labels" . }}
60 | {{- end }}
61 |
62 | {{- define "fossology.scheduler.labels" -}}
63 | {{ include "fossology.base.labels" . }}
64 | {{ include "fossology.scheduler.selectorLabels" . }}
65 | {{- end }}
66 |
67 | {{- define "fossology.web.labels" -}}
68 | {{ include "fossology.base.labels" . }}
69 | {{ include "fossology.web.selectorLabels" . }}
70 | {{- end }}
71 |
72 | {{/*
73 | Selector labels
74 | */}}
75 | {{- define "fossology.base.selectorLabels" -}}
76 | app.kubernetes.io/name: {{ include "fossology.name" . }}
77 | app.kubernetes.io/instance: {{ .Release.Name }}
78 | {{- end }}
79 |
80 | {{- define "fossology.scheduler.selectorLabels" -}}
81 | {{ include "fossology.base.selectorLabels" . }}
82 | app.kubernetes.io/component: scheduler
83 | {{- end }}
84 |
85 | {{- define "fossology.web.selectorLabels" -}}
86 | {{ include "fossology.base.selectorLabels" . }}
87 | app.kubernetes.io/component: web
88 | {{- end }}
89 |
90 | {{/*
91 | Create the name of the service account to use
92 | */}}
93 | {{- define "fossology.serviceAccountName" -}}
94 | {{- if .Values.serviceAccount.create }}
95 | {{- default (include "fossology.fullname" .) .Values.serviceAccount.name }}
96 | {{- else }}
97 | {{- default "default" .Values.serviceAccount.name }}
98 | {{- end }}
99 | {{- end }}
100 |
101 | {{- define "fossology.pvcName" -}}
102 | {{ include "fossology.fullname" . }}-data-repository
103 | {{- end }}
104 |
--------------------------------------------------------------------------------
/charts/allure/templates/_helpers.tpl:
--------------------------------------------------------------------------------
1 | {{/*
2 | Expand the name of the chart.
3 | */}}
4 | {{- define "allure.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 "allure.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 "allure.chart" -}}
30 | {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31 | {{- end }}
32 |
33 | {{/*
34 | Midokura labels
35 | */}}
36 | {{- define "charts.midokura.labels" -}}
37 | {{- if .Values.global }}
38 |
39 | {{- if .Values.global.team }}
40 | team: {{ .Values.global.team }}
41 | {{- end }}
42 |
43 | {{- if .Values.global.service }}
44 | service: {{ .Values.global.service }}
45 | {{- end }}
46 |
47 | {{- end }}
48 | {{- end }}
49 |
50 | {{/*
51 | Common labels
52 | */}}
53 | {{- define "allure.labels" -}}
54 | helm.sh/chart: {{ include "allure.chart" . }}
55 | {{ include "allure-api.selectorLabels" . }}
56 | {{ include "allure-ui.selectorLabels" . }}
57 | {{- if .Chart.AppVersion }}
58 | app.kubernetes.io/version: {{ .Values.api.image.tag | default .Chart.AppVersion }}
59 | {{- end }}
60 | app.kubernetes.io/managed-by: {{ .Release.Service }}
61 | {{ include "charts.midokura.labels" . }}
62 | {{- end }}
63 |
64 | {{/*
65 | API Common labels
66 | */}}
67 | {{- define "allure-api.labels" -}}
68 | helm.sh/chart: {{ include "allure.chart" . }}
69 | {{ include "allure-api.selectorLabels" . }}
70 | {{- if .Chart.AppVersion }}
71 | app.kubernetes.io/version: {{ .Values.api.image.tag | default .Chart.AppVersion }}
72 | {{- end }}
73 | app.kubernetes.io/managed-by: {{ .Release.Service }}
74 | {{- end }}
75 |
76 | {{/*
77 | UI Common labels
78 | */}}
79 | {{- define "allure-ui.labels" -}}
80 | helm.sh/chart: {{ include "allure.chart" . }}
81 | {{ include "allure-ui.selectorLabels" . }}
82 | {{- if .Chart.AppVersion }}
83 | app.kubernetes.io/version: {{ .Values.ui.image.tag }}
84 | {{- end }}
85 | app.kubernetes.io/managed-by: {{ .Release.Service }}
86 | {{- end }}
87 |
88 | {{/*
89 | API Selector labels
90 | */}}
91 | {{- define "allure-api.selectorLabels" -}}
92 | app.kubernetes.io/name: {{ include "allure.name" . }}
93 | app.kubernetes.io/instance: {{ .Release.Name }}
94 | app.kubernetes.io/component: api
95 | {{- end }}
96 |
97 | {{/*
98 | UI Selector labels
99 | */}}
100 | {{- define "allure-ui.selectorLabels" -}}
101 | app.kubernetes.io/name: {{ include "allure.name" . }}
102 | app.kubernetes.io/instance: {{ .Release.Name }}
103 | app.kubernetes.io/component: ui
104 | {{- end }}
105 |
--------------------------------------------------------------------------------
/charts/librenms/templates/deployment-syslog.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: {{ include "librenms.fullname" . }}-syslog
5 | labels:
6 | {{- include "librenms.syslog.labels" . | nindent 4 }}
7 | spec:
8 | replicas: {{ .Values.syslog.replicaCount }}
9 | revisionHistoryLimit: 3
10 | selector:
11 | matchLabels:
12 | {{- include "librenms.syslog.selectorLabels" . | nindent 6 }}
13 | template:
14 | metadata:
15 | {{- with .Values.syslog.podAnnotations }}
16 | annotations:
17 | {{- toYaml . | nindent 8 }}
18 | {{- end }}
19 | labels:
20 | {{- include "librenms.syslog.labels" . | nindent 8 }}
21 | spec:
22 | {{- with .Values.imagePullSecrets }}
23 | imagePullSecrets:
24 | {{- toYaml . | nindent 8 }}
25 | {{- end }}
26 | serviceAccountName: {{ include "librenms.serviceAccountName" . }}
27 | securityContext:
28 | {{- toYaml .Values.syslog.podSecurityContext | nindent 8 }}
29 | containers:
30 | - name: syslog
31 | securityContext:
32 | {{- toYaml .Values.syslog.securityContext | nindent 12 }}
33 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
34 | imagePullPolicy: {{ .Values.image.pullPolicy }}
35 | envFrom:
36 | {{ include "librenms.environment_ref_default" . | nindent 12 }}
37 | env:
38 | - name: SIDECAR_SYSLOGNG
39 | value: "1"
40 | lifecycle:
41 | {{- if .Values.applyPatchPR }}
42 | postStart:
43 | exec:
44 | command:
45 | - sh
46 | - '-c'
47 | - >-
48 | for PR_ID in {{ join " " .Values.applyPatchPR }}; do
49 | ./scripts/github-apply ${PR_ID};
50 | done
51 | {{- end }}
52 | preStop:
53 | exec:
54 | command:
55 | - sh
56 | - '-c'
57 | - >-
58 | s6-svscanctl -q /var/run/s6/services; killall -9 s6-supervise
59 | ports:
60 | - name: syslog-tcp
61 | containerPort: 514
62 | protocol: TCP
63 | - name: syslog-udp
64 | containerPort: 514
65 | protocol: UDP
66 | livenessProbe:
67 | tcpSocket:
68 | port: syslog-tcp
69 | periodSeconds: 20
70 | readinessProbe:
71 | tcpSocket:
72 | port: syslog-tcp
73 | periodSeconds: 20
74 | resources:
75 | {{- toYaml .Values.syslog.resources | nindent 12 }}
76 | volumeMounts:
77 | - name: data
78 | mountPath: /data
79 | - name: config
80 | mountPath: /opt/librenms/config.d
81 | volumes:
82 | - name: data
83 | - name: config
84 | configMap:
85 | name: {{ include "librenms.fullname" . }}-config
86 | {{- with .Values.syslog.nodeSelector }}
87 | nodeSelector:
88 | {{- toYaml . | nindent 8 }}
89 | {{- end }}
90 | {{- with .Values.syslog.affinity }}
91 | affinity:
92 | {{- toYaml . | nindent 8 }}
93 | {{- end }}
94 | {{- with .Values.syslog.tolerations }}
95 | tolerations:
96 | {{- toYaml . | nindent 8 }}
97 | {{- end }}
98 |
--------------------------------------------------------------------------------
/charts/nginx-static/values.yaml:
--------------------------------------------------------------------------------
1 | replicaCount: 1
2 |
3 | image:
4 | repository: nginx
5 | pullPolicy: IfNotPresent
6 | # Overrides the image tag whose default is the chart appVersion.
7 | tag: "1.27.2"
8 | digest: sha256:3536d368b898eef291fb1f6d184a95f8bc1a6f863c48457395aab859fda354d1
9 | port: 80
10 |
11 | imagePullSecrets: []
12 | nameOverride: ""
13 | fullnameOverride: ""
14 |
15 | podAnnotations: {}
16 |
17 | podSecurityContext: {}
18 | # fsGroup: 2000
19 |
20 | securityContext: {}
21 | # capabilities:
22 | # drop:
23 | # - ALL
24 | # readOnlyRootFilesystem: true
25 | # runAsNonRoot: true
26 | # runAsUser: 1000
27 |
28 | service:
29 | type: ClusterIP
30 | port: 80
31 |
32 | ingress:
33 | enabled: false
34 | auth:
35 | enabled: false
36 | users: {}
37 | # - username: ""
38 | # password: ""
39 | useSecretName: ""
40 | className: nginx
41 | annotations: {}
42 | # kubernetes.io/tls-acme: "true"
43 | hostname: ""
44 | tls: false
45 |
46 | resources: {}
47 | # limits:
48 | # cpu: 400m
49 | # memory: 100Mi
50 | # requests:
51 | # cpu: 10m
52 | # memory: 10Mi
53 |
54 | nodeSelector: {}
55 |
56 | tolerations: []
57 |
58 | affinity: {}
59 |
60 | envFrom: []
61 |
62 | readinessProbe:
63 | enabled: false
64 | path: "/"
65 | failureThreshold: 3
66 | successThreshold: 1
67 | periodSeconds: 10
68 | timeoutSeconds: 1
69 |
70 | livenessProbe:
71 | enabled: true
72 | path: "/"
73 | failureThreshold: 3
74 | successThreshold: 1
75 | periodSeconds: 10
76 | timeoutSeconds: 1
77 |
78 | # -- (string, bool) Additional config in nginx server config definition.
79 | # If false, then ConfigMap won't be mounted
80 | # If string, content will be appended to ConfigMap
81 | configNginx: true
82 |
83 | useMemoryStorage: false
84 | git:
85 | enabled: false
86 | server: github.com
87 | user: git
88 | # kubectl create secret generic --type=kubernetes.io/ssh-auth \
89 | # --from-file=ssh-publickey=ssh.pub --from-file=ssh-privatekey=ssh.key \
90 | # -n YOURNAMESPACE yourname-sshkey
91 | sshKeySecret: ""
92 | repository: ""
93 | branch: main
94 | # -- Keep the git directory after cloning. If false, deletes before copying to nginx.
95 | keep: true
96 | # -- Number of commits to fetch. 0 indicates all history for all branches and tags.
97 | # Defaults to 1 (download latest commit only)
98 | depth: 1
99 | # -- Move git folder to a subfolder or keep content in main folder.
100 | # Defaults to empty (use main folder)
101 | targetDirectory: ""
102 | updater:
103 | # -- Add a sidecar container that pulls content from Git.
104 | # Requires keeping Git folder.
105 | enabled: false
106 | # -- Seconds to wait before pulling content again.
107 | interval: 90
108 |
109 | persistence:
110 | enabled: false
111 | accessMode: ReadWriteOnce
112 | size: 8Gi
113 | mountPath: /data
114 | ## A manually managed Persistent Volume and Claim
115 | ## Requires persistence.enabled: true
116 | ## If defined, PVC must be created manually before volume will be bound
117 | existingClaim: ""
118 |
119 | ## Data Persistent Volume Storage Class
120 | ## If defined, storageClassName:
121 | ## If set to "-", storageClassName: "", which disables dynamic provisioning
122 | ## If undefined (the default) or set to null, no storageClassName spec is
123 | ## set, choosing the default provisioner. (gp2 on AWS, standard on
124 | ## GKE, AWS & OpenStack)
125 | ##
126 | storageClass: null
127 |
--------------------------------------------------------------------------------
/charts/librenms/templates/configmap-app.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: {{ include "librenms.fullname" . }}-config
5 | labels:
6 | {{- include "librenms.labels" . | nindent 4 }}
7 | data:
8 | config.php: |
9 | /etc/smokeping/config.d/librenms-targets.conf
12 | yasu librenms:librenms php -f /opt/librenms/lnms smokeping:generate --probes > /etc/smokeping/config.d/librenms-probes.conf
13 |
14 | status_httpd.conf: |
15 | LoadModule status_module modules/mod_status.so
16 |
17 | SetHandler server-status
18 | Order deny,allow
19 | Deny from all
20 | Allow from all
21 |
22 |
23 | smokeping_httpd_auth.conf: |
24 |
25 | Options FollowSymLinks
26 | AllowOverride AuthConfig
27 | AuthType Basic
28 | AuthName "Restricted Files"
29 | AuthUserFile /etc/apache2/passwords
30 | Require valid-user
31 |
32 |
33 | fping6: |
34 | /usr/sbin/fping -6 $@
35 |
36 | pathnames: |
37 | sendmail = /usr/sbin/ssmtp
38 | imgcache = /var/cache/smokeping
39 | imgurl = cache
40 | datadir = /data
41 | piddir = /var/run/smokeping
42 | smokemail = /etc/smokeping/smokemail
43 | tmail = /etc/smokeping/tmail
44 |
45 | Alerts: |
46 | *** Alerts ***
47 | to = alertee@address.somewhere
48 | from = smokealert@company.xy
49 |
50 | +someloss
51 | type = loss
52 | # in percent
53 | pattern = >0%,*12*,>0%,*12*,>0%
54 | comment = loss 3 times in a row
55 |
56 | Database: |
57 | *** Database ***
58 |
59 | step = 300
60 | pings = {{ .Values.smokeping.pings }}
61 |
62 | # consfn mrhb steps total
63 |
64 | AVERAGE 0.5 1 1008
65 | AVERAGE 0.5 12 4320
66 | MIN 0.5 12 4320
67 | MAX 0.5 12 4320
68 | AVERAGE 0.5 144 720
69 | MAX 0.5 144 720
70 | MIN 0.5 144 720
71 |
72 | General: |
73 | *** General ***
74 |
75 | {{- range $key, $val := .Values.smokeping.config.general }}
76 | {{ $key }} = {{ $val }}
77 | {{- end }}
78 | # NOTE: do not put the Image Cache below cgi-bin
79 | # since all files under cgi-bin will be executed ... this is not
80 | # good for images.
81 | {{- if and .Values.ingress.enabled .Values.smokeping.ingress }}
82 | cgiurl = {{ .Values.ingress.tls | ternary "https" "http" }}://{{ .Values.ingress.hostname }}/smokeping/smokeping.cgi
83 | {{- else }}
84 | cgiurl = http://localhost/smokeping.cgi
85 | {{- end }}
86 | # specify this to get syslog logging
87 | syslogfacility = local0
88 | # each probe is now run in its own process
89 | # disable this to revert to the old behaviour
90 | # concurrentprobes = no
91 |
92 | @include /config/pathnames
93 |
94 | Presentation: |
95 | *** Presentation ***
96 |
97 | template = /etc/smokeping/basepage.html
98 | charset = utf-8
99 |
100 | + charts
101 |
102 | menu = Charts
103 | title = The most interesting destinations
104 |
105 | ++ stddev
106 | sorter = StdDev(entries=>4)
107 | title = Top Standard Deviation
108 | menu = Std Deviation
109 | format = Standard Deviation %f
110 |
111 | ++ max
112 | sorter = Max(entries=>5)
113 | title = Top Max Roundtrip Time
114 | menu = by Max
115 | format = Max Roundtrip Time %f seconds
116 |
117 | ++ loss
118 | sorter = Loss(entries=>5)
119 | title = Top Packet Loss
120 | menu = Loss
121 | format = Packets Lost %f
122 |
123 | ++ median
124 | sorter = Median(entries=>5)
125 | title = Top Median Roundtrip Time
126 | menu = by Median
127 | format = Median RTT %f seconds
128 |
129 | + overview
130 |
131 | width = 600
132 | height = 50
133 | range = 10h
134 |
135 | + detail
136 |
137 | width = 600
138 | height = 200
139 | unison_tolerance = 2
140 |
141 | "Last 3 Hours" 3h
142 | "Last 30 Hours" 30h
143 | "Last 10 Days" 10d
144 | "Last 360 Days" 360d
145 |
146 | #+ hierarchies
147 | #++ owner
148 | #title = Host Owner
149 | #++ location
150 | #title = Location
151 |
152 | Slaves: |
153 | *** Slaves ***
154 | secrets=/etc/smokeping/smokeping_secrets
155 | #+boomer
156 | #display_name=boomer
157 | #color=0000ff
158 |
159 | #+slave2
160 | #display_name=another
161 | #color=00ff00
162 |
163 | # ---
164 |
165 | Probes: |
166 | *** Probes ***
167 |
168 | @include /etc/smokeping/config.d/librenms-probes.conf
169 |
170 | Targets: |
171 | *** Targets ***
172 |
173 | probe = FPing
174 |
175 | menu = Top
176 | title = Network Latency Grapher
177 | remark = Welcome to the SmokePing website of LibreNMS.
178 |
179 | @include /etc/smokeping/config.d/librenms-targets.conf
180 |
181 | {{- end }}
182 |
--------------------------------------------------------------------------------
/charts/salt/templates/statefulset.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: StatefulSet
3 | metadata:
4 | name: {{ include "salt.fullname" . }}-master
5 | labels:
6 | {{- include "salt.master.labels" . | nindent 4 }}
7 | spec:
8 | replicas: {{ .Values.master.replicaCount }}
9 | serviceName: {{ include "salt.fullname" . }}-master
10 | revisionHistoryLimit: 3
11 | selector:
12 | matchLabels:
13 | {{- include "salt.master.selectorLabels" . | nindent 6 }}
14 | template:
15 | metadata:
16 | {{- with .Values.master.podAnnotations }}
17 | annotations:
18 | {{- toYaml . | nindent 8 }}
19 | {{- end }}
20 | labels:
21 | app.kubernetes.io/version: {{ .Values.master.image.tag | default .Chart.AppVersion | quote }}
22 | {{- include "salt.master.labels" . | nindent 8 }}
23 | spec:
24 | {{- with .Values.imagePullSecrets }}
25 | imagePullSecrets:
26 | {{- toYaml . | nindent 8 }}
27 | {{- end }}
28 | serviceAccountName: {{ include "salt.serviceAccountName" . }}
29 | securityContext:
30 | {{- toYaml .Values.master.podSecurityContext | nindent 8 }}
31 | containers:
32 | - name: app
33 | securityContext:
34 | {{- toYaml .Values.master.securityContext | nindent 12 }}
35 | {{- with .Values.master.image }}
36 | image: "{{ .repository }}:{{ .tag | default $.Chart.AppVersion }}"
37 | imagePullPolicy: {{ .pullPolicy }}
38 | {{- end }}
39 | ports:
40 | {{- range $name, $port := .Values.master.service.ports }}
41 | - name: {{ $name }}
42 | containerPort: {{ $port.containerPort }}
43 | protocol: TCP
44 | {{- end }}
45 | resources:
46 | {{- toYaml .Values.master.resources | nindent 12 }}
47 | volumeMounts:
48 | - name: salt-data
49 | mountPath: /srv/salt
50 | subPath: salt
51 | - name: salt-data
52 | mountPath: /etc/salt/pki
53 | subPath: pki
54 | - name: config
55 | mountPath: /etc/salt/master.d/master.conf
56 | subPath: master.conf
57 | {{- if .Values.gitsync.enabled }}
58 | - name: git-sync
59 | securityContext:
60 | {{- toYaml .Values.securityContext | nindent 12 }}
61 | {{- with .Values.gitsync.image }}
62 | image: "{{ .repository }}{{ if .digest }}@{{ .digest }}{{ else }}:{{ .tag }}{{ end }}"
63 | imagePullPolicy: {{ .pullPolicy }}
64 | {{- end }}
65 | args:
66 | {{- range $key, $val := .Values.gitsync.config }}
67 | - {{ printf "--%s" $key | quote }}
68 | {{- if not (deepEqual $val true) }}
69 | - {{ $val | quote }}
70 | {{- end }}
71 | {{- end }}
72 | env:
73 | {{- range $key, $val := .Values.gitsync.env }}
74 | - name: {{ $key }}
75 | value: {{ $val | quote }}
76 | {{- end }}
77 | {{- with .Values.gitsync.envFrom }}
78 | envFrom: {{ . | toYaml | nindent 10 }}
79 | {{- end }}
80 | resources:
81 | {{- toYaml .Values.gitsync.resources | nindent 12 }}
82 | volumeMounts:
83 | - name: salt-data
84 | mountPath: /srv/salt
85 | subPath: salt
86 | {{- with .Values.gitsync.extraVolumeMounts }}
87 | {{- toYaml . | nindent 8 }}
88 | {{- end }}
89 | {{- end }}
90 | {{- with .Values.master.nodeSelector }}
91 | nodeSelector:
92 | {{- toYaml . | nindent 8 }}
93 | {{- end }}
94 | {{- with .Values.master.affinity }}
95 | affinity:
96 | {{- toYaml . | nindent 8 }}
97 | {{- end }}
98 | {{- with .Values.master.tolerations }}
99 | tolerations:
100 | {{- toYaml . | nindent 8 }}
101 | {{- end }}
102 | volumes:
103 | - name: config
104 | configMap:
105 | optional: true
106 | name: {{ include "salt.fullname" . }}-config
107 | {{- if and .Values.master.persistence.enabled .Values.master.persistence.existingClaim }}
108 | - name: salt-data
109 | persistentVolumeClaim:
110 | claimName: {{ .Values.master.persistence.existingClaim . }}
111 | {{- else if not .Values.master.persistence.enabled }}
112 | - name: salt-data
113 | emptyDir: {}
114 | {{- else if and .Values.master.persistence.enabled (not .Values.master.persistence.existingClaim) }}
115 | volumeClaimTemplates:
116 | - metadata:
117 | name: salt-data
118 | labels:
119 | {{ include "salt.master.labels" . | nindent 10 }}
120 | {{- if .Values.master.persistence.annotations }}
121 | annotations:
122 | {{- toYaml .Values.master.persistence.annotations | nindent 10 }}
123 | {{- end }}
124 | spec:
125 | accessModes:
126 | {{- range .Values.master.persistence.accessModes }}
127 | - {{ . | quote }}
128 | {{- end }}
129 | resources:
130 | requests:
131 | storage: {{ .Values.master.persistence.size | quote }}
132 | storageClass: {{ .Values.master.persistence.storageClass }}
133 | {{- if .Values.master.persistence.selector }}
134 | selector:
135 | {{- toYaml .Values.master.persistence.selector | nindent 10 }}
136 | {{- end }}
137 | {{- end }}
138 |
--------------------------------------------------------------------------------
/charts/librenms/templates/deployment-poller.yaml:
--------------------------------------------------------------------------------
1 | {{- define "librenms.dispatcher_env" }}
2 | - name: SIDECAR_DISPATCHER
3 | value: "1"
4 | - name: NODE_ID
5 | valueFrom:
6 | fieldRef:
7 | fieldPath: metadata.name
8 | - name: DISPATCHER_NODE_ID
9 | valueFrom:
10 | fieldRef:
11 | fieldPath: metadata.name
12 | - name: CACHE_DRIVER
13 | value: {{ default "redis" .Values.poller.cacheDriver | quote }}
14 | - name: DISPATCHER_ARGS
15 | value: {{ .Values.poller.args | quote }}
16 | {{- end }}
17 |
18 | apiVersion: apps/v1
19 | kind: Deployment
20 | metadata:
21 | name: {{ include "librenms.fullname" . }}-poller
22 | labels:
23 | {{- include "librenms.poller.labels" . | nindent 4 }}
24 | spec:
25 | replicas: {{ .Values.poller.replicaCount }}
26 | revisionHistoryLimit: 3
27 | selector:
28 | matchLabels:
29 | {{- include "librenms.poller.selectorLabels" . | nindent 6 }}
30 | template:
31 | metadata:
32 | {{- with .Values.poller.podAnnotations }}
33 | annotations:
34 | {{- toYaml . | nindent 8 }}
35 | {{- end }}
36 | labels:
37 | {{- include "librenms.poller.labels" . | nindent 8 }}
38 | spec:
39 | {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }}
40 | topologySpreadConstraints:
41 | - maxSkew: 1
42 | topologyKey: kubernetes.io/hostname
43 | whenUnsatisfiable: DoNotSchedule
44 | labelSelector:
45 | matchLabels:
46 | {{- include "librenms.poller.selectorLabels" . | nindent 14 }}
47 | {{- end }}
48 | {{- with .Values.imagePullSecrets }}
49 | imagePullSecrets:
50 | {{- toYaml . | nindent 8 }}
51 | {{- end }}
52 | serviceAccountName: {{ include "librenms.serviceAccountName" . }}
53 | securityContext:
54 | {{- toYaml .Values.poller.podSecurityContext | nindent 8 }}
55 | initContainers:
56 | - name: wait-app
57 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
58 | command:
59 | - sh
60 | - '-c'
61 | - >-
62 | until nc -z {{ include "librenms.fullname" . }} {{ .Values.app.service.port }}; do
63 | echo waiting for librenms;
64 | sleep 2;
65 | done
66 | - name: init-env
67 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
68 | command:
69 | - sh
70 | - '-c'
71 | - >-
72 | export | cut -d' ' -f2 | tr -d "'" > /data/.env
73 | envFrom:
74 | {{- include "librenms.environment_ref_default" . | nindent 12 }}
75 | env:
76 | {{- include "librenms.dispatcher_env" . | nindent 12 }}
77 | volumeMounts:
78 | - name: data
79 | mountPath: /data
80 | {{- if .Values.nagios }}
81 | - name: nagios-plugins
82 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
83 | command:
84 | - sh
85 | - '-c'
86 | - apk add nagios-plugins-all
87 | volumeMounts:
88 | - name: nagios
89 | mountPath: /usr/lib/nagios
90 | {{- end }}
91 | containers:
92 | - name: poller
93 | securityContext:
94 | {{- toYaml .Values.poller.securityContext | nindent 12 }}
95 | image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
96 | imagePullPolicy: {{ .Values.image.pullPolicy }}
97 | envFrom:
98 | {{- include "librenms.environment_ref_default" . | nindent 12 }}
99 | env:
100 | {{- include "librenms.dispatcher_env" . | nindent 12 }}
101 | resources:
102 | {{- toYaml .Values.poller.resources | nindent 12 }}
103 | lifecycle:
104 | {{- if .Values.applyPatchPR }}
105 | postStart:
106 | exec:
107 | command:
108 | - sh
109 | - '-c'
110 | - >-
111 | for PR_ID in {{ join " " .Values.applyPatchPR }}; do
112 | ./scripts/github-apply ${PR_ID};
113 | done
114 | {{- end }}
115 | preStop:
116 | exec:
117 | command:
118 | - sh
119 | - '-c'
120 | - >-
121 | mysql -h ${DB_HOST} -u ${DB_USER} --password=${DB_PASSWORD} ${DB_NAME} -e
122 | "DELETE FROM poller_cluster WHERE node_id = '${DISPATCHER_NODE_ID}';" ;
123 | s6-svscanctl -q /var/run/s6/services ;
124 | killall -9 s6-supervise
125 | livenessProbe:
126 | exec:
127 | command:
128 | - pgrep
129 | - python3
130 | periodSeconds: 10
131 | failureThreshold: 2
132 | timeoutSeconds: 5
133 | volumeMounts:
134 | - name: data
135 | mountPath: /data
136 | - name: nagios
137 | mountPath: /usr/lib/nagios
138 | - name: config
139 | mountPath: /opt/librenms/config.php
140 | subPath: config.php
141 | volumes:
142 | - name: data
143 | - name: nagios
144 | - name: config
145 | configMap:
146 | name: {{ include "librenms.fullname" . }}-config
147 | {{- with .Values.poller.nodeSelector }}
148 | nodeSelector:
149 | {{- toYaml . | nindent 8 }}
150 | {{- end }}
151 | {{- with .Values.poller.affinity }}
152 | affinity:
153 | {{- toYaml . | nindent 8 }}
154 | {{- end }}
155 | {{- with .Values.poller.tolerations }}
156 | tolerations:
157 | {{- toYaml . | nindent 8 }}
158 | {{- end }}
159 |
--------------------------------------------------------------------------------