GHP publish
This commit is contained in:
30
chartmuseum/templates/NOTES.txt
Executable file
30
chartmuseum/templates/NOTES.txt
Executable file
@ -0,0 +1,30 @@
|
||||
** Please be patient while the chart is being deployed **
|
||||
|
||||
Get the ChartMuseum URL by running:
|
||||
|
||||
{{- if contains "NodePort" .Values.service.type }}
|
||||
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "chartmuseum.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT{{ .Values.env.open.CONTEXT_PATH }}/
|
||||
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
|
||||
** Please ensure an external IP is associated to the {{ template "chartmuseum.fullname" . }} service before proceeding **
|
||||
** Watch the status using: kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "chartmuseum.fullname" . }} **
|
||||
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "chartmuseum.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}{{ .Values.env.open.CONTEXT_PATH }}/
|
||||
|
||||
OR
|
||||
|
||||
export SERVICE_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "chartmuseum.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
|
||||
echo http://$SERVICE_HOST:{{ .Values.service.externalPort }}{{ .Values.env.open.CONTEXT_PATH }}/
|
||||
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "chartmuseum.name" . }}" -l "release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo http://127.0.0.1:8080{{ .Values.env.open.CONTEXT_PATH }}/
|
||||
kubectl port-forward $POD_NAME 8080:8080 --namespace {{ .Release.Namespace }}
|
||||
|
||||
{{- end }}
|
142
chartmuseum/templates/_helpers.tpl
Executable file
142
chartmuseum/templates/_helpers.tpl
Executable file
@ -0,0 +1,142 @@
|
||||
{{- /*
|
||||
name defines a template for the name of the chartmuseum chart.
|
||||
|
||||
The prevailing wisdom is that names should only contain a-z, 0-9 plus dot (.) and dash (-), and should
|
||||
not exceed 63 characters.
|
||||
|
||||
Parameters:
|
||||
|
||||
- .Values.nameOverride: Replaces the computed name with this given name
|
||||
- .Values.namePrefix: Prefix
|
||||
- .Values.global.namePrefix: Global prefix
|
||||
- .Values.nameSuffix: Suffix
|
||||
- .Values.global.nameSuffix: Global suffix
|
||||
|
||||
The applied order is: "global prefix + prefix + name + suffix + global suffix"
|
||||
|
||||
Usage: 'name: "{{- template "chartmuseum.name" . -}}"'
|
||||
*/ -}}
|
||||
{{- define "chartmuseum.name"}}
|
||||
{{- $global := default (dict) .Values.global -}}
|
||||
{{- $base := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- $gpre := default "" $global.namePrefix -}}
|
||||
{{- $pre := default "" .Values.namePrefix -}}
|
||||
{{- $suf := default "" .Values.nameSuffix -}}
|
||||
{{- $gsuf := default "" $global.nameSuffix -}}
|
||||
{{- $name := print $gpre $pre $base $suf $gsuf -}}
|
||||
{{- $name | lower | trunc 54 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- /*
|
||||
fullname defines a suitably unique name for a resource by combining
|
||||
the release name and the chartmuseum chart name.
|
||||
|
||||
The prevailing wisdom is that names should only contain a-z, 0-9 plus dot (.) and dash (-), and should
|
||||
not exceed 63 characters.
|
||||
|
||||
Parameters:
|
||||
|
||||
- .Values.fullnameOverride: Replaces the computed name with this given name
|
||||
- .Values.fullnamePrefix: Prefix
|
||||
- .Values.global.fullnamePrefix: Global prefix
|
||||
- .Values.fullnameSuffix: Suffix
|
||||
- .Values.global.fullnameSuffix: Global suffix
|
||||
|
||||
The applied order is: "global prefix + prefix + name + suffix + global suffix"
|
||||
|
||||
Usage: 'name: "{{- template "chartmuseum.fullname" . -}}"'
|
||||
*/ -}}
|
||||
{{- define "chartmuseum.fullname"}}
|
||||
{{- $global := default (dict) .Values.global -}}
|
||||
{{- $base := default (printf "%s-%s" .Release.Name .Chart.Name) .Values.fullnameOverride -}}
|
||||
{{- $gpre := default "" $global.fullnamePrefix -}}
|
||||
{{- $pre := default "" .Values.fullnamePrefix -}}
|
||||
{{- $suf := default "" .Values.fullnameSuffix -}}
|
||||
{{- $gsuf := default "" $global.fullnameSuffix -}}
|
||||
{{- $name := print $gpre $pre $base $suf $gsuf -}}
|
||||
{{- $name | lower | trunc 54 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{- /*
|
||||
chartmuseum.labels.standard prints the standard chartmuseum Helm labels.
|
||||
|
||||
The standard labels are frequently used in metadata.
|
||||
*/ -}}
|
||||
{{- define "chartmuseum.labels.standard" -}}
|
||||
app: {{ template "chartmuseum.name" . }}
|
||||
chart: {{ template "chartmuseum.chartref" . }}
|
||||
heritage: {{ .Release.Service | quote }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- end -}}
|
||||
|
||||
{{- /*
|
||||
chartmuseum.chartref prints a chart name and version.
|
||||
|
||||
It does minimal escaping for use in Kubernetes labels.
|
||||
|
||||
Example output:
|
||||
|
||||
chartmuseum-0.4.5
|
||||
*/ -}}
|
||||
{{- define "chartmuseum.chartref" -}}
|
||||
{{- replace "+" "_" .Chart.Version | printf "%s-%s" .Chart.Name -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper image name to change the volume permissions
|
||||
*/}}
|
||||
{{- define "chartmuseum.volumePermissions.image" -}}
|
||||
{{- $registryName := .Values.volumePermissions.image.registry -}}
|
||||
{{- $repositoryName := .Values.volumePermissions.image.repository -}}
|
||||
{{- $tag := .Values.volumePermissions.image.tag | toString -}}
|
||||
{{/*
|
||||
Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
|
||||
but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic.
|
||||
Also, we can't use a single if because lazy evaluation is not an option
|
||||
*/}}
|
||||
{{- if .Values.global }}
|
||||
{{- if .Values.global.imageRegistry }}
|
||||
{{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Docker Image Registry Secret Names
|
||||
*/}}
|
||||
{{- define "chartmuseum.imagePullSecrets" -}}
|
||||
{{/*
|
||||
Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
|
||||
but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic.
|
||||
Also, we can not use a single if because lazy evaluation is not an option
|
||||
*/}}
|
||||
{{- if .Values.global }}
|
||||
{{- if .Values.global.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- range .Values.global.imagePullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- else if or .Values.image.pullSecrets .Values.volumePermissions.image.pullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- range .Values.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- range .Values.volumePermissions.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- else if or .Values.image.pullSecrets .Values.volumePermissions.image.pullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- range .Values.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- range .Values.volumePermissions.image.pullSecrets }}
|
||||
- name: {{ . }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
220
chartmuseum/templates/deployment.yaml
Executable file
220
chartmuseum/templates/deployment.yaml
Executable file
@ -0,0 +1,220 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "chartmuseum.fullname" . }}
|
||||
annotations:
|
||||
{{ toYaml .Values.deployment.annotations | indent 4 }}
|
||||
labels:
|
||||
{{ include "chartmuseum.labels.standard" . | indent 4 }}
|
||||
{{- if .Values.deployment.labels }}
|
||||
{{ toYaml .Values.deployment.labels | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "chartmuseum.name" . }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- if .Values.deployment.labels }}
|
||||
{{ toYaml .Values.deployment.labels | indent 6 }}
|
||||
{{- end }}
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
strategy:
|
||||
{{ toYaml .Values.strategy | indent 4 }}
|
||||
revisionHistoryLimit: 10
|
||||
{{- if .Values.deployment.matchlabes }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{ toYaml .Values.deployment.matchlabels | indent 6 }}
|
||||
{{- end }}
|
||||
template:
|
||||
metadata:
|
||||
name: {{ include "chartmuseum.fullname" . }}
|
||||
annotations:
|
||||
{{ toYaml .Values.replica.annotations | indent 8 }}
|
||||
labels:
|
||||
app: {{ template "chartmuseum.name" . }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- if .Values.deployment.labels }}
|
||||
{{ toYaml .Values.deployment.labels | indent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: "{{ .Values.priorityClassName }}"
|
||||
{{- end }}
|
||||
{{- if .Values.securityContext.enabled }}
|
||||
securityContext:
|
||||
fsGroup: {{ .Values.securityContext.fsGroup }}
|
||||
{{- if .Values.securityContext.runAsNonRoot }}
|
||||
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
|
||||
{{- end }}
|
||||
{{- if .Values.securityContext.supplementalGroups }}
|
||||
supplementalGroups: {{ .Values.securityContext.supplementalGroups }}
|
||||
{{- end }}
|
||||
{{- else if .Values.persistence.enabled }}
|
||||
initContainers:
|
||||
- name: volume-permissions
|
||||
image: {{ template "chartmuseum.volumePermissions.image" . }}
|
||||
imagePullPolicy: "{{ .Values.volumePermissions.image.pullPolicy }}"
|
||||
securityContext:
|
||||
{{- toYaml .Values.containerSecurityContext | nindent 10 }}
|
||||
command: ['sh', '-c', 'chown -R {{ .Values.securityContext.fsGroup }}:{{ .Values.securityContext.fsGroup }} {{ .Values.persistence.path }}']
|
||||
volumeMounts:
|
||||
- mountPath: {{ .Values.persistence.path }}
|
||||
name: storage-volume
|
||||
{{- end }}
|
||||
{{- include "chartmuseum.imagePullSecrets" . | indent 6 }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.containerSecurityContext | nindent 10 }}
|
||||
env:
|
||||
{{- range $name, $value := .Values.env.open }}
|
||||
{{- if not (empty $value) }}
|
||||
- name: {{ $name | quote }}
|
||||
value: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $name, $value := .Values.env.field }}
|
||||
{{- if not ( empty $value) }}
|
||||
- name: {{ $name | quote }}
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.gcp.secret.enabled }}
|
||||
- name: GOOGLE_APPLICATION_CREDENTIALS
|
||||
value: "/etc/secrets/google/credentials.json"
|
||||
{{- end }}
|
||||
{{- if .Values.env.existingSecret }}
|
||||
{{- $secret_name := .Values.env.existingSecret }}
|
||||
{{- range $name, $key := .Values.env.existingSecretMappings }}
|
||||
{{- if not ( empty $key) }}
|
||||
- name: {{ $name | quote }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ $secret_name | quote }}
|
||||
key: {{ $key | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- $secret_name := include "chartmuseum.fullname" . }}
|
||||
{{- range $name, $value := .Values.env.secret }}
|
||||
{{- if not ( empty $value) }}
|
||||
- name: {{ $name | quote }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ $secret_name }}
|
||||
key: {{ $name | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.bearerAuth.secret.enabled }}
|
||||
- name: AUTH_CERT_PATH
|
||||
value: /var/keys/public-key.pem
|
||||
{{ end }}
|
||||
args:
|
||||
- --port=8080
|
||||
{{- if eq .Values.env.open.STORAGE "local" }}
|
||||
- --storage-local-rootdir={{ .Values.persistence.path }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraArgs }}
|
||||
{{ toYaml .Values.extraArgs | indent 8 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.env.open.CONTEXT_PATH }}/health
|
||||
port: http
|
||||
{{ toYaml .Values.probes.liveness | indent 10 }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: {{ .Values.env.open.CONTEXT_PATH }}/health
|
||||
port: http
|
||||
{{ toYaml .Values.probes.readiness | indent 10 }}
|
||||
volumeMounts:
|
||||
{{- if eq .Values.env.open.STORAGE "local" }}
|
||||
- mountPath: {{ .Values.persistence.path }}
|
||||
name: storage-volume
|
||||
{{- end }}
|
||||
{{- if .Values.gcp.secret.enabled }}
|
||||
- mountPath: /etc/secrets/google
|
||||
name: {{ include "chartmuseum.fullname" . }}-gcp
|
||||
{{- end }}
|
||||
{{- if .Values.oracle.secret.enabled }}
|
||||
- mountPath: /home/chartmuseum/.oci
|
||||
name: {{ include "chartmuseum.fullname" . }}-oracle
|
||||
{{- end }}
|
||||
{{- if .Values.bearerAuth.secret.enabled }}
|
||||
- name: public-key
|
||||
mountPath: /var/keys
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- with .Values.resources }}
|
||||
resources:
|
||||
{{ toYaml . | indent 10 }}
|
||||
{{- end }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.deployment.schedulerName }}
|
||||
schedulerName: {{ .Values.deployment.schedulerName }}
|
||||
{{- end -}}
|
||||
{{- if and .Values.serviceAccount.create .Values.serviceAccount.name }}
|
||||
serviceAccountName: {{ .Values.serviceAccount.name }}
|
||||
{{- else if .Values.serviceAccount.create }}
|
||||
serviceAccountName: {{ include "chartmuseum.fullname" . }}
|
||||
{{- else if .Values.serviceAccount.name }}
|
||||
serviceAccountName: {{ .Values.serviceAccount.name }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: storage-volume
|
||||
{{- if .Values.persistence.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ .Values.persistence.existingClaim | default (include "chartmuseum.fullname" .) }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end -}}
|
||||
{{ if .Values.gcp.secret.enabled }}
|
||||
- name: {{ include "chartmuseum.fullname" . }}-gcp
|
||||
secret:
|
||||
{{ if .Values.env.secret.GOOGLE_CREDENTIALS_JSON }}
|
||||
secretName: {{ include "chartmuseum.fullname" . }}
|
||||
items:
|
||||
- key: GOOGLE_CREDENTIALS_JSON
|
||||
path: credentials.json
|
||||
{{ else }}
|
||||
secretName: {{ .Values.gcp.secret.name }}
|
||||
items:
|
||||
- key: {{ .Values.gcp.secret.key }}
|
||||
path: credentials.json
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if .Values.oracle.secret.enabled }}
|
||||
- name: {{ include "chartmuseum.fullname" . }}-oracle
|
||||
secret:
|
||||
secretName: {{ .Values.oracle.secret.name }}
|
||||
items:
|
||||
- key: {{ .Values.oracle.secret.config }}
|
||||
path: config
|
||||
- key: {{ .Values.oracle.secret.key_file }}
|
||||
path: oci.key
|
||||
{{ end }}
|
||||
{{- if .Values.bearerAuth.secret.enabled }}
|
||||
- name: public-key
|
||||
secret:
|
||||
secretName: {{ .Values.bearerAuth.secret.publicKeySecret }}
|
||||
{{- end }}
|
54
chartmuseum/templates/ingress.yaml
Executable file
54
chartmuseum/templates/ingress.yaml
Executable file
@ -0,0 +1,54 @@
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- $servicePort := .Values.service.externalPort -}}
|
||||
{{- $serviceName := include "chartmuseum.fullname" . -}}
|
||||
{{- $ingressExtraPaths := .Values.ingress.extraPaths -}}
|
||||
---
|
||||
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion }}
|
||||
apiVersion: networking.k8s.io/v1beta1
|
||||
{{- else }}
|
||||
apiVersion: extensions/v1beta1
|
||||
{{- end }}
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ include "chartmuseum.fullname" . }}
|
||||
annotations:
|
||||
{{ toYaml .Values.ingress.annotations | indent 4 }}
|
||||
labels:
|
||||
{{- if .Values.ingress.labels }}
|
||||
{{ toYaml .Values.ingress.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{ include "chartmuseum.labels.standard" . | indent 4 }}
|
||||
spec:
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ .name }}
|
||||
http:
|
||||
paths:
|
||||
{{- range $ingressExtraPaths }}
|
||||
- path: {{ default "/" .path | quote }}
|
||||
backend:
|
||||
{{- if $.Values.service.servicename }}
|
||||
serviceName: {{ $.Values.service.servicename }}
|
||||
{{- else }}
|
||||
serviceName: {{ default $serviceName .service }}
|
||||
{{- end }}
|
||||
servicePort: {{ default $servicePort .port }}
|
||||
{{- end }}
|
||||
- path: {{ default "/" .path | quote }}
|
||||
backend:
|
||||
{{- if $.Values.service.servicename }}
|
||||
serviceName: {{ $.Values.service.servicename }}
|
||||
{{- else }}
|
||||
serviceName: {{ default $serviceName .service }}
|
||||
{{- end }}
|
||||
servicePort: {{ default $servicePort .servicePort }}
|
||||
{{- end }}
|
||||
tls:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
{{- if .tls }}
|
||||
- hosts:
|
||||
- {{ .name }}
|
||||
secretName: {{ .tlsSecret }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
21
chartmuseum/templates/pv.yaml
Executable file
21
chartmuseum/templates/pv.yaml
Executable file
@ -0,0 +1,21 @@
|
||||
{{- if .Values.persistence.pv.enabled -}}
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
{{- if .Values.persistence.pv.pvname }}
|
||||
name: {{ .Values.persistence.pv.pvname }}
|
||||
{{- else }}
|
||||
name: {{ include "chartmuseum.fullname" . }}
|
||||
{{- end }}
|
||||
labels:
|
||||
app: {{ include "chartmuseum.fullname" . }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
spec:
|
||||
capacity:
|
||||
storage: {{ .Values.persistence.pv.capacity.storage }}
|
||||
accessModes:
|
||||
- {{ .Values.persistence.pv.accessMode | quote }}
|
||||
nfs:
|
||||
server: {{ .Values.persistence.pv.nfs.server }}
|
||||
path: {{ .Values.persistence.pv.nfs.path | quote }}
|
||||
{{- end }}
|
27
chartmuseum/templates/pvc.yaml
Executable file
27
chartmuseum/templates/pvc.yaml
Executable file
@ -0,0 +1,27 @@
|
||||
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ include "chartmuseum.fullname" . }}
|
||||
labels:
|
||||
app: {{ include "chartmuseum.fullname" . }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- if .Values.persistence.labels }}
|
||||
{{ toYaml .Values.persistence.labels | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.accessMode | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.size | quote }}
|
||||
{{- if .Values.persistence.storageClass }}
|
||||
{{- if (eq "-" .Values.persistence.storageClass) }}
|
||||
storageClassName: ""
|
||||
{{- else }}
|
||||
storageClassName: "{{ .Values.persistence.storageClass }}"
|
||||
{{- end }}
|
||||
{{- else if and .Values.persistence.volumeName (.Values.persistence.pv.enabled) }}
|
||||
volumeName: "{{ .Values.persistence.volumeName }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
22
chartmuseum/templates/secret.yaml
Executable file
22
chartmuseum/templates/secret.yaml
Executable file
@ -0,0 +1,22 @@
|
||||
{{- if not .Values.env.existingSecret -}}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "chartmuseum.fullname" . }}
|
||||
labels:
|
||||
{{- if .Values.secret.labels }}
|
||||
{{ toYaml .Values.secret.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{ include "chartmuseum.labels.standard" . | indent 4 }}
|
||||
type: Opaque
|
||||
data:
|
||||
{{- range $name, $value := .Values.env.secret }}
|
||||
{{- if not (empty $value) }}
|
||||
{{- if eq $name "GOOGLE_CREDENTIALS_JSON" }}
|
||||
{{ $name }}: {{ $value }}
|
||||
{{- else }}
|
||||
{{ $name }}: {{ $value | b64enc }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
45
chartmuseum/templates/service.yaml
Executable file
45
chartmuseum/templates/service.yaml
Executable file
@ -0,0 +1,45 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
{{- if .Values.service.servicename }}
|
||||
name: {{ .Values.service.servicename }}
|
||||
{{- else }}
|
||||
name: {{ include "chartmuseum.fullname" . }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{ include "chartmuseum.labels.standard" . | indent 4 }}
|
||||
{{- if .Values.service.labels }}
|
||||
{{ toYaml .Values.service.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.service.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if (or (eq .Values.service.type "LoadBalancer") (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort)))) }}
|
||||
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
|
||||
{{- end }}
|
||||
{{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges) }}
|
||||
loadBalancerSourceRanges:
|
||||
{{- with .Values.service.loadBalancerSourceRanges }}
|
||||
{{ toYaml . | indent 2 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if eq .Values.service.type "ClusterIP" }}
|
||||
{{- if .Values.service.clusterIP }}
|
||||
clusterIP: {{ .Values.service.clusterIP }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- port: {{ .Values.service.externalPort }}
|
||||
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
|
||||
nodePort: {{.Values.service.nodePort}}
|
||||
{{- else }}
|
||||
targetPort: http
|
||||
{{- end }}
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
app: {{ template "chartmuseum.name" . }}
|
||||
release: {{ .Release.Name | quote }}
|
17
chartmuseum/templates/serviceaccount.yaml
Executable file
17
chartmuseum/templates/serviceaccount.yaml
Executable file
@ -0,0 +1,17 @@
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
{{- if .Values.serviceAccount.name }}
|
||||
name: {{ .Values.serviceAccount.name }}
|
||||
{{- else }}
|
||||
name: {{ include "chartmuseum.fullname" . }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{ include "chartmuseum.labels.standard" . | indent 4 }}
|
||||
{{- if .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.serviceAccount.annotations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
34
chartmuseum/templates/servicemonitor.yaml
Executable file
34
chartmuseum/templates/servicemonitor.yaml
Executable file
@ -0,0 +1,34 @@
|
||||
{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) ( .Values.serviceMonitor.enabled ) }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
{{- if .Values.serviceMonitor.labels }}
|
||||
labels:
|
||||
{{ toYaml .Values.serviceMonitor.labels | indent 4 }}
|
||||
{{- end }}
|
||||
name: {{ template "chartmuseum.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- if .Values.serviceMonitor.namespace }}
|
||||
namespace: {{ .Values.serviceMonitor.namespace }}
|
||||
{{- end }}
|
||||
spec:
|
||||
endpoints:
|
||||
- targetPort: 8080
|
||||
{{- if .Values.serviceMonitor.interval }}
|
||||
interval: {{ .Values.serviceMonitor.interval }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceMonitor.metricsPath }}
|
||||
path: {{ .Values.serviceMonitor.metricsPath }}
|
||||
{{- end }}
|
||||
{{- if .Values.serviceMonitor.timeout }}
|
||||
scrapeTimeout: {{ .Values.serviceMonitor.timeout }}
|
||||
{{- end }}
|
||||
jobLabel: {{ template "chartmuseum.fullname" . }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ .Release.Namespace }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "chartmuseum.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- end }}
|
Reference in New Issue
Block a user