Skip to content
This repository was archived by the owner on Nov 24, 2023. It is now read-only.

Commit 1270c05

Browse files
authored
Merge pull request #39 from claudiol/test-dependency
test dependency - Added file:// directive to chart - Added subcharts directory with expanded external-secrets chart. - Bumped version
2 parents 8fb1865 + 591ecb2 commit 1270c05

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+12894
-3
lines changed

charts/golang-external-secrets/Chart.yaml

+5-3
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ description: A Helm chart to configure the golang-based external-secrets
33
keywords:
44
- pattern
55
name: golang-external-secrets
6-
version: 0.0.5
6+
version: 0.0.6
77
dependencies:
88
- name: external-secrets
99
version: "0.8.3"
10-
repository: "http://charts.hybrid-cloud-patterns.io/"
11-
# "https://external-secrets.github.io/kubernetes-external-secrets"
10+
# FUCKME: we need the charts folder + external-secrets *and* the subchart needs to be unpacked
11+
repository: file://subcharts/external-secrets
12+
# repository: "http://charts.hybrid-cloud-patterns.io/"
13+
# # "https://external-secrets.github.io/kubernetes-external-secrets"
1214
maintainers:
1315
1416
name: claudiol
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
# CRD README.md
26+
templates/crds/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v2
2+
appVersion: v0.8.3
3+
description: External secret management for Kubernetes FUCKME
4+
home: https://github.com/external-secrets/external-secrets
5+
icon: https://raw.githubusercontent.com/external-secrets/external-secrets/main/assets/eso-logo-large.png
6+
keywords:
7+
- kubernetes-external-secrets
8+
- secrets
9+
kubeVersion: '>= 1.19.0-0'
10+
maintainers:
11+
12+
name: mcavoyk
13+
name: external-secrets
14+
type: application
15+
version: 0.8.3

charts/golang-external-secrets/subcharts/external-secrets/README.md

+204
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{{- $chartRepo := "https://charts.external-secrets.io" -}}
2+
{{- $org := "external-secrets" -}}
3+
# External Secrets
4+
5+
<p align="left"><img src="https://raw.githubusercontent.com/external-secrets/external-secrets/main/assets/eso-logo-large.png" width="100x" /></p>
6+
7+
[//]: # (README.md generated by gotmpl. DO NOT EDIT.)
8+
9+
{{ template "chart.typeBadge" . }}{{ template "chart.versionBadge" . }}
10+
11+
{{ template "chart.description" . }}
12+
13+
## TL;DR
14+
```bash
15+
helm repo add {{ $org }} {{ $chartRepo }}
16+
helm install external-secrets {{ $org }}/{{ template "chart.name" . }}
17+
```
18+
19+
## Installing the Chart
20+
To install the chart with the release name `{{ template "chart.name" . }}`:
21+
```bash
22+
helm install {{ template "chart.name" . }} {{ $org }}/{{ template "chart.name" . }}
23+
```
24+
25+
### Custom Resources
26+
By default, the chart will install external-secrets CRDs, this can be controlled with `installCRDs` value.
27+
28+
## Uninstalling the Chart
29+
To uninstall the `{{ template "chart.name" . }}` deployment:
30+
```bash
31+
helm uninstall {{ template "chart.name" . }}
32+
```
33+
The command removes all the Kubernetes components associated with the chart and deletes the release.
34+
35+
{{ template "chart.valuesSection" . }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
image:
2+
tag: main
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
external-secrets has been deployed successfully!
2+
3+
In order to begin using ExternalSecrets, you will need to set up a SecretStore
4+
or ClusterSecretStore resource (for example, by creating a 'vault' SecretStore).
5+
6+
More information on the different types of SecretStores and how to configure them
7+
can be found in our Github: {{ .Chart.Home }}
8+
9+
{{ if .Values.prometheus.enabled -}}
10+
deprecation warning:
11+
> The flag `prometheus.enabled` is deprecated and will be removed in the next release.
12+
Please migrate to using servicemonitor instead.
13+
{{ end }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
{{/*
2+
Expand the name of the chart.
3+
*/}}
4+
{{- define "external-secrets.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 "external-secrets.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 "external-secrets.chart" -}}
30+
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
31+
{{- end }}
32+
33+
{{/*
34+
Common labels
35+
*/}}
36+
{{- define "external-secrets.labels" -}}
37+
helm.sh/chart: {{ include "external-secrets.chart" . }}
38+
{{ include "external-secrets.selectorLabels" . }}
39+
{{- if .Chart.AppVersion }}
40+
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
41+
{{- end }}
42+
app.kubernetes.io/managed-by: {{ .Release.Service }}
43+
{{- end }}
44+
45+
{{- define "external-secrets-webhook.labels" -}}
46+
helm.sh/chart: {{ include "external-secrets.chart" . }}
47+
{{ include "external-secrets-webhook.selectorLabels" . }}
48+
{{- if .Chart.AppVersion }}
49+
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
50+
{{- end }}
51+
app.kubernetes.io/managed-by: {{ .Release.Service }}
52+
{{- end }}
53+
54+
{{- define "external-secrets-webhook-metrics.labels" -}}
55+
{{ include "external-secrets-webhook.selectorLabels" . }}
56+
app.kubernetes.io/metrics: "webhook"
57+
{{- end }}
58+
59+
{{- define "external-secrets-cert-controller.labels" -}}
60+
helm.sh/chart: {{ include "external-secrets.chart" . }}
61+
{{ include "external-secrets-cert-controller.selectorLabels" . }}
62+
{{- if .Chart.AppVersion }}
63+
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
64+
{{- end }}
65+
app.kubernetes.io/managed-by: {{ .Release.Service }}
66+
{{- end }}
67+
68+
{{- define "external-secrets-cert-controller-metrics.labels" -}}
69+
{{ include "external-secrets-cert-controller.selectorLabels" . }}
70+
app.kubernetes.io/metrics: "cert-controller"
71+
{{- end }}
72+
73+
{{/*
74+
Selector labels
75+
*/}}
76+
{{- define "external-secrets.selectorLabels" -}}
77+
app.kubernetes.io/name: {{ include "external-secrets.name" . }}
78+
app.kubernetes.io/instance: {{ .Release.Name }}
79+
{{- end }}
80+
{{- define "external-secrets-webhook.selectorLabels" -}}
81+
app.kubernetes.io/name: {{ include "external-secrets.name" . }}-webhook
82+
app.kubernetes.io/instance: {{ .Release.Name }}
83+
{{- end }}
84+
{{- define "external-secrets-cert-controller.selectorLabels" -}}
85+
app.kubernetes.io/name: {{ include "external-secrets.name" . }}-cert-controller
86+
app.kubernetes.io/instance: {{ .Release.Name }}
87+
{{- end }}
88+
{{/*
89+
Create the name of the service account to use
90+
*/}}
91+
{{- define "external-secrets.serviceAccountName" -}}
92+
{{- if .Values.serviceAccount.create }}
93+
{{- default (include "external-secrets.fullname" .) .Values.serviceAccount.name }}
94+
{{- else }}
95+
{{- default "default" .Values.serviceAccount.name }}
96+
{{- end }}
97+
{{- end }}
98+
99+
{{/*
100+
Create the name of the service account to use
101+
*/}}
102+
{{- define "external-secrets-webhook.serviceAccountName" -}}
103+
{{- if .Values.webhook.serviceAccount.create }}
104+
{{- default "external-secrets-webhook" .Values.webhook.serviceAccount.name }}
105+
{{- else }}
106+
{{- default "default" .Values.webhook.serviceAccount.name }}
107+
{{- end }}
108+
{{- end }}
109+
110+
{{/*
111+
Create the name of the service account to use
112+
*/}}
113+
{{- define "external-secrets-cert-controller.serviceAccountName" -}}
114+
{{- if .Values.certController.serviceAccount.create }}
115+
{{- default "external-secrets-cert-controller" .Values.certController.serviceAccount.name }}
116+
{{- else }}
117+
{{- default "default" .Values.certController.serviceAccount.name }}
118+
{{- end }}
119+
{{- end }}
120+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
{{- if .Values.certController.create }}
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: {{ include "external-secrets.fullname" . }}-cert-controller
6+
namespace: {{ .Release.Namespace | quote }}
7+
labels:
8+
{{- include "external-secrets-cert-controller.labels" . | nindent 4 }}
9+
{{- with .Values.certController.deploymentAnnotations }}
10+
annotations:
11+
{{- toYaml . | nindent 4 }}
12+
{{- end }}
13+
spec:
14+
replicas: {{ .Values.certController.replicaCount }}
15+
revisionHistoryLimit: {{ .Values.certController.revisionHistoryLimit }}
16+
selector:
17+
matchLabels:
18+
{{- include "external-secrets-cert-controller.selectorLabels" . | nindent 6 }}
19+
template:
20+
metadata:
21+
{{- with .Values.certController.podAnnotations }}
22+
annotations:
23+
{{- toYaml . | nindent 8 }}
24+
{{- end }}
25+
labels:
26+
{{- include "external-secrets-cert-controller.selectorLabels" . | nindent 8 }}
27+
{{- with .Values.certController.podLabels }}
28+
{{- toYaml . | nindent 8 }}
29+
{{- end }}
30+
spec:
31+
{{- with .Values.certController.imagePullSecrets }}
32+
imagePullSecrets:
33+
{{- toYaml . | nindent 8 }}
34+
{{- end }}
35+
serviceAccountName: {{ include "external-secrets-cert-controller.serviceAccountName" . }}
36+
automountServiceAccountToken: {{ .Values.certController.serviceAccount.automount }}
37+
{{- with .Values.certController.podSecurityContext }}
38+
securityContext:
39+
{{- toYaml . | nindent 8 }}
40+
{{- end }}
41+
hostNetwork: {{ .Values.certController.hostNetwork }}
42+
containers:
43+
- name: cert-controller
44+
{{- with .Values.certController.securityContext }}
45+
securityContext:
46+
{{- toYaml . | nindent 12 }}
47+
{{- end }}
48+
image: "{{ .Values.certController.image.repository }}:{{ .Values.certController.image.tag | default .Chart.AppVersion }}"
49+
imagePullPolicy: {{ .Values.certController.image.pullPolicy }}
50+
args:
51+
- certcontroller
52+
- --crd-requeue-interval={{ .Values.certController.requeueInterval }}
53+
- --service-name={{ include "external-secrets.fullname" . }}-webhook
54+
- --service-namespace={{ .Release.Namespace }}
55+
- --secret-name={{ include "external-secrets.fullname" . }}-webhook
56+
- --secret-namespace={{ .Release.Namespace }}
57+
{{ if not .Values.crds.createClusterSecretStore -}}
58+
- --crd-names=externalsecrets.external-secrets.io
59+
- --crd-names=secretstores.external-secrets.io
60+
{{- end -}}
61+
{{- range $key, $value := .Values.certController.extraArgs }}
62+
{{- if $value }}
63+
- --{{ $key }}={{ $value }}
64+
{{- else }}
65+
- --{{ $key }}
66+
{{- end }}
67+
{{- end }}
68+
ports:
69+
- containerPort: {{ .Values.certController.prometheus.service.port }}
70+
protocol: TCP
71+
name: metrics
72+
readinessProbe:
73+
httpGet:
74+
port: 8081
75+
path: /readyz
76+
initialDelaySeconds: 20
77+
periodSeconds: 5
78+
{{- with .Values.certController.extraEnv }}
79+
env:
80+
{{- toYaml . | nindent 12 }}
81+
{{- end }}
82+
{{- with .Values.certController.resources }}
83+
resources:
84+
{{- toYaml . | nindent 12 }}
85+
{{- end }}
86+
{{- if .Values.certController.extraVolumeMounts }}
87+
volumeMounts:
88+
{{- toYaml .Values.certController.extraVolumeMounts | nindent 12 }}
89+
{{- end }}
90+
{{- if .Values.certController.extraVolumes }}
91+
volumes:
92+
{{- toYaml .Values.certController.extraVolumes | nindent 8 }}
93+
{{- end }}
94+
{{- with .Values.certController.nodeSelector }}
95+
nodeSelector:
96+
{{- toYaml . | nindent 8 }}
97+
{{- end }}
98+
{{- with .Values.certController.affinity }}
99+
affinity:
100+
{{- toYaml . | nindent 8 }}
101+
{{- end }}
102+
{{- with .Values.certController.tolerations }}
103+
tolerations:
104+
{{- toYaml . | nindent 8 }}
105+
{{- end }}
106+
{{- with .Values.certController.topologySpreadConstraints }}
107+
topologySpreadConstraints:
108+
{{- toYaml . | nindent 8 }}
109+
{{- end }}
110+
{{- if .Values.certController.priorityClassName }}
111+
priorityClassName: {{ .Values.certController.priorityClassName }}
112+
{{- end }}
113+
{{- end }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{{- if and .Values.certController.create .Values.certController.podDisruptionBudget.enabled }}
2+
apiVersion: policy/v1
3+
kind: PodDisruptionBudget
4+
metadata:
5+
name: {{ include "external-secrets.fullname" . }}-cert-controller-pdb
6+
namespace: {{ .Release.Namespace | quote }}
7+
labels:
8+
{{- include "external-secrets-cert-controller.labels" . | nindent 4 }}
9+
spec:
10+
{{- if .Values.certController.podDisruptionBudget.minAvailable }}
11+
minAvailable: {{ .Values.certController.podDisruptionBudget.minAvailable }}
12+
{{- end }}
13+
{{- if .Values.certController.podDisruptionBudget.maxUnavailable }}
14+
maxUnavailable: {{ .Values.certController.podDisruptionBudget.maxUnavailable }}
15+
{{- end }}
16+
selector:
17+
matchLabels:
18+
{{- include "external-secrets-cert-controller.selectorLabels" . | nindent 6 }}
19+
{{- end }}

0 commit comments

Comments
 (0)