Skip to content

Commit bec4983

Browse files
authored
Merge pull request #154 from pmint93/single-deployment-chart
Add charts/single-deployment
2 parents a49cc59 + dfe68ea commit bec4983

15 files changed

Lines changed: 432 additions & 0 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ jobs:
2121
- name: Set up chart-testing
2222
uses: helm/chart-testing-action@v2.6.0
2323

24+
- name: Add dependency repositories
25+
run: |
26+
for dir in $(ls -d charts/*/); do
27+
helm dependency list $dir 2> /dev/null | tail +2 | head -n -1 | awk '{ print "helm repo add " $1 " " $3 }' | while read cmd; do $cmd; done
28+
done
29+
2430
- name: Run chart-testing (list-changed)
2531
id: list-changed
2632
run: |

.github/workflows/release.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ jobs:
1919
run: |
2020
git config user.name "$GITHUB_ACTOR"
2121
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
22+
- name: Add dependency repositories
23+
run: |
24+
for dir in $(ls -d charts/*/); do
25+
helm dependency list $dir 2> /dev/null | tail +2 | head -n -1 | awk '{ print "helm repo add " $1 " " $3 }' | while read cmd; do $cmd; done
26+
done
2227
- name: Run chart-releaser
2328
uses: helm/chart-releaser-action@v1.1.0
2429
env:
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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/

charts/single-deployment/.rebuild

Whitespace-only changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dependencies:
2+
- name: prefapp-helm
3+
repository: https://prefapp.github.io/prefapp-helm
4+
version: 0.11.0
5+
digest: sha256:a2e35474636df11a64d5ee5a717807db5374bfb440a5c5d6904ece0e106d5a16
6+
generated: "2024-12-21T17:30:06.60564+07:00"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v2
2+
name: single-deployment
3+
description: A Helm chart for single deployment application
4+
type: application
5+
version: 0.3.0
6+
appVersion: "latest"
7+
maintainers:
8+
- name: pmint93
9+
email: phamminhthanh69@gmail.com
10+
dependencies:
11+
- name: prefapp-helm
12+
version: 0.11.0
13+
repository: https://prefapp.github.io/prefapp-helm

charts/single-deployment/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# single-deployment
2+
3+
A helm chart to deploy application as single deployment
14.1 KB
Binary file not shown.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{{/* vim: set filetype=mustache: */}}
2+
{{/*
3+
Expand the name of the chart.
4+
*/}}
5+
{{- define "single-deployment.name" -}}
6+
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
7+
{{- end -}}
8+
9+
{{/*
10+
Create a default fully qualified app name.
11+
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
12+
If release name contains chart name it will be used as a full name.
13+
*/}}
14+
{{- define "single-deployment.fullname" -}}
15+
{{- if .Values.fullnameOverride -}}
16+
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
17+
{{- else -}}
18+
{{- $name := default .Chart.Name .Values.nameOverride -}}
19+
{{- if contains $name .Release.Name -}}
20+
{{- printf .Release.Name | trunc 63 | trimSuffix "-" -}}
21+
{{- else -}}
22+
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
23+
{{- end -}}
24+
{{- end -}}
25+
{{- end -}}
26+
27+
{{- define "single-deployment.chart" -}}
28+
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
29+
{{- end }}
30+
31+
{{- define "single-deployment.labels" -}}
32+
helm.sh/chart: {{ include "single-deployment.chart" . }}
33+
{{ include "single-deployment.selectorLabels" . }}
34+
{{- if .Chart.AppVersion }}
35+
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
36+
{{- end }}
37+
app.kubernetes.io/managed-by: {{ .Release.Service }}
38+
{{- end }}
39+
40+
{{/* need to update NOTES.txt whenever update these labels */}}
41+
{{- define "single-deployment.selectorLabels" -}}
42+
app.kubernetes.io/name: {{ include "single-deployment.name" . }}
43+
app.kubernetes.io/instance: {{ .Release.Name }}
44+
{{- end }}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
{{- define "single-deployment.deployment.data" -}}
2+
3+
name: {{ template "single-deployment.fullname" . }}
4+
labels:
5+
{{- include "single-deployment.labels" . | nindent 2 }}
6+
annotations:
7+
{{- toYaml .Values.deploymentAnnotations | nindent 2 }}
8+
selector:
9+
{{- include "single-deployment.selectorLabels" . | nindent 4 }}
10+
replicas: {{ .Values.replicaCount }}
11+
strategy:
12+
{{- toYaml .Values.updateStrategy | nindent 2 }}
13+
14+
pod_labels:
15+
{{- include "single-deployment.selectorLabels" . | nindent 4 }}
16+
pod_annotations:
17+
{{- toYaml .Values.podAnnotations | nindent 2 }}
18+
topologySpreadConstraints:
19+
{{- toYaml .Values.topologySpreadConstraints | nindent 2 }}
20+
tolerations:
21+
{{- toYaml .Values.tolerations | nindent 2 }}
22+
affinity:
23+
{{- toYaml .Values.affinity | nindent 2 }}
24+
nodeSelector:
25+
{{- toYaml .Values.nodeSelector | nindent 2 }}
26+
securityContext:
27+
{{- toYaml .Values.podSecurityContext | nindent 2 }}
28+
imagePullSecrets:
29+
{{- toYaml .Values.imagePullSecrets | nindent 2 }}
30+
terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }}
31+
32+
volumes:
33+
{{- toYaml .Values.extraVolumes | nindent 2 }}
34+
35+
init_containers:
36+
{{- toYaml .Values.initContainers | nindent 2 }}
37+
38+
containers_dict:
39+
main:
40+
name: main
41+
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
42+
imagePullPolicy: {{ .Values.image.pullPolicy }}
43+
{{- with .Values.image.command }}
44+
command:
45+
{{- toYaml . | nindent 4 }}
46+
{{- end }}
47+
{{- with .Values.image.args }}
48+
args:
49+
{{- toYaml . | nindent 4 }}
50+
{{- end }}
51+
# env_literal:
52+
# env_values_configmap:
53+
# env_from_field_ref:
54+
# env_from_resource_ref:
55+
envFrom:
56+
secrets:
57+
- {{ template "single-deployment.fullname" . }}-env
58+
ports:
59+
{{- range $port := .Values.containerPorts }}
60+
- name: {{ $port.name }}
61+
protocol: {{ $port.protocol }}
62+
pod: {{ $port.number }}
63+
{{- end }}
64+
65+
lifecycle:
66+
{{- toYaml .Values.lifecycle | nindent 6 }}
67+
68+
securityContext:
69+
{{- toYaml .Values.securityContext | nindent 6 }}
70+
71+
volumeMounts:
72+
{{- toYaml .Values.extraVolumeMounts | nindent 6 }}
73+
74+
resources:
75+
{{- toYaml .Values.resources | nindent 6 }}
76+
77+
{{- end -}}
78+
79+
{{ include "ph.deployment.render" (include "single-deployment.deployment.data" . | fromYaml ) }}

0 commit comments

Comments
 (0)