diff --git a/helm/.helmignore b/helm/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/helm/.helmignore @@ -0,0 +1,23 @@ +# 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/helm/Chart.yaml b/helm/Chart.yaml new file mode 100644 index 0000000..cf7bc40 --- /dev/null +++ b/helm/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +name: helm +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +appVersion: 1.16.0 diff --git a/k8s/deploy.yaml b/helm/templates/deploy.yaml similarity index 73% rename from k8s/deploy.yaml rename to helm/templates/deploy.yaml index dfa37fa..f779e50 100644 --- a/k8s/deploy.yaml +++ b/helm/templates/deploy.yaml @@ -6,14 +6,14 @@ spec: replicas: 1 selector: matchLabels: - app: grafana + app: {{ .Release.Name }} template: metadata: labels: - app: grafana + app: {{ .Release.Name }} spec: containers: - - name: grafana + - name: {{ .Release.Name }} image: grafana/grafana:7.0.1 resources: requests: @@ -26,8 +26,8 @@ spec: - containerPort: 3000 volumeMounts: - mountPath: /var/lib/grafana - name: grafana-data + name: data volumes: - - name: grafana-data + - name: data persistentVolumeClaim: - claimName: grafana-data \ No newline at end of file + claimName: {{ .Release.Name }} \ No newline at end of file diff --git a/k8s/ingress.yaml b/helm/templates/ingress.yaml similarity index 81% rename from k8s/ingress.yaml rename to helm/templates/ingress.yaml index 01429fb..46399c6 100644 --- a/k8s/ingress.yaml +++ b/helm/templates/ingress.yaml @@ -1,7 +1,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: - name: grafana-internal-tls + name: {{ .Release.Name }}-internal-tls annotations: kubernetes.io/ingress.class: traefik-internal spec: @@ -15,7 +15,7 @@ spec: - match: Host(`grafana.ducoterra.net`) kind: Rule services: - - name: grafana-web + - name: {{ .Release.Name }} port: 3000 --- @@ -23,7 +23,7 @@ spec: apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: - name: grafana-internal-web + name: {{ .Release.Name }}-internal-web annotations: kubernetes.io/ingress.class: traefik-internal spec: @@ -33,7 +33,7 @@ spec: - match: Host(`grafana.ducoterra.net`) kind: Rule services: - - name: grafana-web + - name: {{ .Release.Name }} port: 3000 middlewares: - name: httpsredirect \ No newline at end of file diff --git a/k8s/pvc/pvc.yaml b/helm/templates/pvc.yaml similarity index 67% rename from k8s/pvc/pvc.yaml rename to helm/templates/pvc.yaml index b401595..e36690b 100644 --- a/k8s/pvc/pvc.yaml +++ b/helm/templates/pvc.yaml @@ -1,7 +1,9 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: grafana-data + name: {{ .Release.Name }} + annotations: + "helm.sh/resource-policy": keep spec: storageClassName: hdd accessModes: diff --git a/k8s/service.yaml b/helm/templates/service.yaml similarity index 67% rename from k8s/service.yaml rename to helm/templates/service.yaml index 1a172f5..b6e06e5 100644 --- a/k8s/service.yaml +++ b/helm/templates/service.yaml @@ -1,10 +1,10 @@ apiVersion: v1 kind: Service metadata: - name: grafana-web + name: {{ .Release.Name }} spec: selector: - app: grafana + app: {{ .Release.Name }} ports: - port: 3000 targetPort: 3000 diff --git a/helm/values.yaml b/helm/values.yaml new file mode 100644 index 0000000..e69de29