diff --git a/apps/alpine-helm-deployment/.helmignore b/apps/alpine-helm-deployment/.helmignore new file mode 100644 index 0000000..8ecf230 --- /dev/null +++ b/apps/alpine-helm-deployment/.helmignore @@ -0,0 +1,24 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +.#* diff --git a/apps/alpine-helm-deployment/Chart.yaml b/apps/alpine-helm-deployment/Chart.yaml new file mode 100644 index 0000000..1a8d2c3 --- /dev/null +++ b/apps/alpine-helm-deployment/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: ungleich-alpine +description: Alpine Linux as a service + +type: application +version: 0.1.0 + +appVersion: "3.15.0" diff --git a/apps/alpine-helm-deployment/README.md b/apps/alpine-helm-deployment/README.md new file mode 100644 index 0000000..f89df1a --- /dev/null +++ b/apps/alpine-helm-deployment/README.md @@ -0,0 +1 @@ +Minimal, usable sample helm application diff --git a/apps/alpine-helm-deployment/templates/deployment.yaml b/apps/alpine-helm-deployment/templates/deployment.yaml new file mode 100644 index 0000000..98e4438 --- /dev/null +++ b/apps/alpine-helm-deployment/templates/deployment.yaml @@ -0,0 +1,70 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-alpine +spec: + selector: + matchLabels: + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: alpine + replicas: 1 + template: + metadata: + labels: + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: alpine + spec: + initContainers: + containers: + - name: alpine + image: alpine:{{ .Chart.AppVersion }} + ports: + - containerPort: 53 + - containerPort: 80 + volumeMounts: + - name: data + mountPath: "/data" + command: + - sh + - -c + - "sleep 10000000" + volumes: + - name: data + persistentVolumeClaim: + claimName: {{ .Release.Name }}-data +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ .Release.Name }} + labels: + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: alpine +spec: + type: ClusterIP + ports: + - protocol: TCP + port: 53 + name: dns-tcp + - protocol: UDP + port: 53 + name: dns-udp + - protocol: TCP + port: 80 + name: http + selector: + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/component: alpine +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ .Release.Name }}-data +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi + storageClassName: rook-ceph-block-hdd