oc-k8s/opencloud/templates/registry/docker-registry.yaml

87 lines
2.6 KiB
YAML

{{- if index .Values "docker-registry-ui" "enabled" }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ index .Values "docker-registry-ui" "registry" "dataVolume" "persistentVolumeClaim" "claimName" }}
namespace: {{ .Release.Namespace }}
annotations:
helm.sh/resource-policy: keep
spec:
accessModes:
- {{ index .Values "docker-registry-ui" "registry" "persistence" "accessMode" }}
resources:
requests:
storage: {{ index .Values "docker-registry-ui" "registry" "persistence" "storage" }}
storageClassName: {{ index .Values "docker-registry-ui" "registry" "persistence" "storageClassName" }}
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: registry-ingress
namespace: {{ .Release.Namespace }}
spec:
entryPoints:
- web
routes:
- kind: Rule
match: Host(`{{ .Values.registryHost }}`)
priority: 5
services:
- kind: Service
name: {{ .Values.env }}-docker-registry-ui-registry-server
namespace: {{ .Release.Namespace }}
port: 5000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: registry-ingress-ui
namespace: {{ .Release.Namespace }}
spec:
entryPoints:
- web
routes:
- kind: Rule
match: Host(`{{ .Values.registryHost }}`) && PathPrefix(`/ui`)
priority: 10
services:
- kind: Service
name: {{ .Values.env }}-docker-registry-ui-user-interface
namespace: {{ .Release.Namespace }}
port: 80
middlewares:
- name: strip-ui-prefix
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: strip-ui-prefix
namespace: {{ .Release.Namespace }}
spec:
stripPrefix:
prefixes:
- "/ui"
---
#for htpasswd:
#htpasswd -nbB opencloud_registry Cei9phee | tr -d '\n' | base64 -w 0
#for password in dockerconfigjson:
#echo "opencloud_registry:Cei9phee" | tr -d '\n' | base64 -w 0
apiVersion: v1
kind: Secret
metadata:
name: registry-basic-auth-secret #To configure docker server authentication
namespace: {{ .Release.Namespace }}
data:
htpasswd: b3BlbmNsb3VkX3JlZ2lzdHJ5OiQyeSQwNSQ0cjFtV0h0Q3IzTmNPLjhqZjV2TkNPdkUvcFBkTDBmd1NFMkJ6bnI2azlmLjZhaVRHLzE1cQ==
---
apiVersion: v1
kind: Secret
type: kubernetes.io/dockerconfigjson
metadata:
name: {{ index .Values "docker-registry-ui" "registry" "secretName" }} #To configure docker client authentication against the server
namespace: {{ .Release.Namespace }}
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJyZWdpc3RyeS12YWFzLnBmLmlydC1zYWludGV4dXBlcnkuY29tIjogewoJCQkiYXV0aCI6ICJkbUZoYzE5eVpXZHBjM1J5ZVRva01ua2tNRFVrYjJFeFRFaERjVGw2TWs1WE55NVJjMlZFYVZjMFpUQjVSSGxsTDIxTFp5NUxValJPYkVGR1pqTlpkbnBaZW0weVdFRXlNaTQ9IgoJCX0KCX0KfQ==
{{- end }}