fix after moving to harbor
This commit is contained in:
parent
12074476a7
commit
373dea77c5
@ -3,5 +3,5 @@ Used for Geek Home Platform deployment
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
helm repo add ghp https://charts.geekhome.org
|
helm repo add ghp https://registry.geekhome.org/chartrepo/ghp
|
||||||
|
|
||||||
|
22
docker-registry-ui/.helmignore
Normal file
22
docker-registry-ui/.helmignore
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# 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
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
11
docker-registry-ui/Chart.yaml
Normal file
11
docker-registry-ui/Chart.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
appVersion: "1.2.1"
|
||||||
|
description: The simplest and most complete UI for your private registry
|
||||||
|
name: docker-registry-ui
|
||||||
|
home: https://github.com/Joxit/docker-registry-ui
|
||||||
|
keywords:
|
||||||
|
- docker
|
||||||
|
- registry
|
||||||
|
sources:
|
||||||
|
- https://github.com/Joxit/docker-registry-ui
|
||||||
|
version: 0.1.0
|
97
docker-registry-ui/README.md
Normal file
97
docker-registry-ui/README.md
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
# docker-registry-ui
|
||||||
|
|
||||||
|
[docker-registry-ui](https://joxit.dev/docker-registry-ui/) is the simplest and most complete UI for your private registry!
|
||||||
|
|
||||||
|
|
||||||
|
## TL;DR;
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ helm install .
|
||||||
|
```
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
This chart bootstraps a [docker-registry-ui](https://joxit.dev/docker-registry-ui/) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||||
|
|
||||||
|
It also may deploy the [docker registry](https://docs.docker.com/registry/) if you havent have one already.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Kubernetes 1.9+ with Beta APIs enabled
|
||||||
|
- PV provisioner support in the underlying infrastructure
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `my-release`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ helm update --install my-release .
|
||||||
|
```
|
||||||
|
|
||||||
|
The command deploys docker-registry-ui on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
|
||||||
|
|
||||||
|
> **Tip**: List all releases using `helm list`
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall/delete the `my-release` deployment:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ helm delete my-release
|
||||||
|
```
|
||||||
|
|
||||||
|
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
The following table lists the configurable parameters of the Redmine chart and their default values.
|
||||||
|
|
||||||
|
| Parameter | Description | Default |
|
||||||
|
| --------------------------------- | ---------------------------------------- | ------------------------------------------------------- |
|
||||||
|
| `ui.title` | Title of the managed repository | `Docker registry UI` |
|
||||||
|
| `ui.delete_images` | Allow to delete image from the front-end | `false` |
|
||||||
|
| `ui.proxy` | The UI service act as a proxy of the registry | `true` |
|
||||||
|
| `ui.replicaCount` | Number of replicas to start | `1` |
|
||||||
|
| `ui.image.registry` | registry to pull the docker-registry-ui image from | `docker.io` |
|
||||||
|
| `ui.image.repository` | docker-registry-ui image name | `joxit/docker-registry-ui` |
|
||||||
|
| `ui.image.tag` | docker-registry-ui image tag (change to latest to have multi registry support) | `static` |
|
||||||
|
| `ui.image.pullPolicy` | docker-registry-ui image pull policy | `Always` |
|
||||||
|
| `ui.probe.liveness` | Ask kubernetes to check the service port for liveness | `true` |
|
||||||
|
| `ui.probe.readyness ` | Ask kubernetes to check the service port for readyness | `true` |
|
||||||
|
| `ui.service.type` | Desired service type | `ClusterIP` |
|
||||||
|
| `ui.service.port` | Service exposed port | `80` |
|
||||||
|
| `ui.ingress.enabled` | Create an ingress for docker-regstry-ui | `false` |
|
||||||
|
| `registry.external` | Use an already available registry | `false` |
|
||||||
|
| `registry.url` | URL of the existing registry | `http://localhost:5000` |
|
||||||
|
| `registry.replicaCount` | Number of replicas to start | `1` |
|
||||||
|
| `registry.image.registry` | registry to pull the docker-registry image from | `docker.io` |
|
||||||
|
| `registry.image.repository` | docker-registry-ui image name | `registry` |
|
||||||
|
| `registry.image.tag` | docker-registry-ui image tag | `2.6.2` |
|
||||||
|
| `registry.image.pullPolicy` | docker-registry-ui image pull policy | `Always` |
|
||||||
|
| `registry.probe.liveness` | Ask kubernetes to check the service port for liveness | `true` |
|
||||||
|
| `registry.probe.readyness ` | Ask kubernetes to check the service port for readyness | `true` |
|
||||||
|
| `registry.persistence.enabled` | Enable persistence using PVC for the registry | `false` |
|
||||||
|
| `registry.persistence.storageClass` | PVC Storage Class | `-` |
|
||||||
|
| `registry.persistence.size` | PVC Storage Request size | `1Gi` |
|
||||||
|
| `registry.service.type` | Desired service type | `ClusterIP` |
|
||||||
|
| `registry.service.port` | Service exposed port | `5000` |
|
||||||
|
| `registry.ingress.enabled` | Create an ingress for the regstry | `false` |
|
||||||
|
|
||||||
|
|
||||||
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ helm upgrade --install my-release \
|
||||||
|
--set registry.external=true \
|
||||||
|
--set registry.url=http://registry.example.com:5000 \
|
||||||
|
.
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ helm upgrade --install my-release -f values.yaml .
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Tip**: You can use the default [values.yaml](values.yaml)
|
||||||
|
|
0
docker-registry-ui/templates/NOTES.txt
Normal file
0
docker-registry-ui/templates/NOTES.txt
Normal file
147
docker-registry-ui/templates/_helpers.tpl
Normal file
147
docker-registry-ui/templates/_helpers.tpl
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
{{/* vim: set filetype=mustache: */}}
|
||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "docker-registry-ui.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "docker-registry-ui.fullname" -}}
|
||||||
|
{{- if .Values.ui.fullnameOverride -}}
|
||||||
|
{{- .Values.ui.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||||
|
{{- if contains $name .Release.Name -}}
|
||||||
|
{{- printf "%s-ui" .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s-ui-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry.fullname" -}}
|
||||||
|
{{- if .Values.registry.fullnameOverride -}}
|
||||||
|
{{- .Values.registry.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||||
|
{{- if contains $name .Release.Name -}}
|
||||||
|
{{- printf "%s-registry" .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s-registry-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "docker-registry-ui.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "docker-registry-ui.labels" -}}
|
||||||
|
app: registry-ui
|
||||||
|
chart: {{ include "docker-registry-ui.chart" . }}
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry-ui.matchLabels" -}}
|
||||||
|
app: registry-ui
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry.labels" -}}
|
||||||
|
app: registry
|
||||||
|
chart: {{ include "docker-registry-ui.chart" . }}
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry.matchLabels" -}}
|
||||||
|
app: registry
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry-ui.probes" -}}
|
||||||
|
{{- if and .Values.ui.probe.liveness (eq .Values.ui.probe.liveness true) -}}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /
|
||||||
|
port: http
|
||||||
|
{{- end -}}
|
||||||
|
{{- if and .Values.ui.probe.readiness (eq .Values.ui.probe.readiness true) }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /
|
||||||
|
port: http
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry.probes" -}}
|
||||||
|
{{- if and .Values.registry.probe.liveness (eq .Values.registry.probe.liveness true) -}}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /v2/
|
||||||
|
port: registry
|
||||||
|
{{- end -}}
|
||||||
|
{{- if and .Values.registry.probe.readiness (eq .Values.registry.probe.readiness true) }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /v2/
|
||||||
|
port: registry
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry-ui.url-name" -}}
|
||||||
|
{{- if eq .Values.ui.proxy true -}}
|
||||||
|
REGISTRY_URL
|
||||||
|
{{- else -}}
|
||||||
|
URL
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry-ui.url-value" -}}
|
||||||
|
{{- if eq .Values.registry.external true -}}
|
||||||
|
{{ .Values.registry.url }}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $fullName := include "docker-registry.fullname" . -}}
|
||||||
|
{{ printf "http://%s.%s:%.0f" $fullName .Release.Namespace .Values.registry.service.port }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "docker-registry-ui.pull" -}}
|
||||||
|
{{- if eq .Values.registry.external true -}}
|
||||||
|
{{ .Values.registry.url }}
|
||||||
|
{{- else -}}
|
||||||
|
{{- if eq .Values.ui.proxy true -}}
|
||||||
|
{{- if eq .Values.ui.ingress.enabled true -}}
|
||||||
|
{{- $host := index .Values.ui.ingress.hosts 0 -}}
|
||||||
|
{{ $host.host }}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $fullName := include "docker-registry-ui.fullname" . -}}
|
||||||
|
{{ printf "%s.%s:%.0f" $fullName .Release.Namespace .Values.ui.service.port }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- if eq .Values.registry.ingress.enabled true -}}
|
||||||
|
{{- $host := index .Values.registry.ingress.hosts 0 -}}
|
||||||
|
{{ $host.host }}
|
||||||
|
{{- else -}}
|
||||||
|
{{- $fullName := include "docker-registry.fullname" . -}}
|
||||||
|
{{ printf "%s.%s:%.0f" $fullName .Release.Namespace .Values.registry.service.port }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
31
docker-registry-ui/templates/reg-configmap.yaml
Normal file
31
docker-registry-ui/templates/reg-configmap.yaml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{{- if eq .Values.registry.external false -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ include "docker-registry.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry.labels" . | indent 4 }}
|
||||||
|
data:
|
||||||
|
config.yml: |-
|
||||||
|
version: 0.1
|
||||||
|
log:
|
||||||
|
fields:
|
||||||
|
service: registry
|
||||||
|
storage:
|
||||||
|
delete:
|
||||||
|
enabled: true
|
||||||
|
cache:
|
||||||
|
blobdescriptor: inmemory
|
||||||
|
filesystem:
|
||||||
|
rootdirectory: /var/lib/registry
|
||||||
|
http:
|
||||||
|
addr: :5000
|
||||||
|
headers:
|
||||||
|
X-Content-Type-Options: [nosniff]
|
||||||
|
Access-Control-Allow-Origin: ['*']
|
||||||
|
Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE']
|
||||||
|
Access-Control-Allow-Headers: ['Authorization']
|
||||||
|
Access-Control-Max-Age: [1728000]
|
||||||
|
Access-Control-Allow-Credentials: [true]
|
||||||
|
Access-Control-Expose-Headers: ['Docker-Content-Digest']
|
||||||
|
{{- end -}}
|
62
docker-registry-ui/templates/reg-deployment.yaml
Normal file
62
docker-registry-ui/templates/reg-deployment.yaml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
{{- if eq .Values.registry.external false -}}
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "docker-registry.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.registry.replicaCount }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{ include "docker-registry.matchLabels" . | indent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry.matchLabels" . | indent 8 }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- name: config
|
||||||
|
configMap:
|
||||||
|
defaultMode: 420
|
||||||
|
name: {{ include "docker-registry.fullname" . }}
|
||||||
|
- name: data
|
||||||
|
{{- if .Values.registry.persistence.enabled }}
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ include "docker-registry.fullname" . }}
|
||||||
|
{{- else }}
|
||||||
|
emptyDir: {}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- name: registry
|
||||||
|
image: "{{ .Values.registry.image.registry }}/{{ .Values.registry.image.repository }}:{{ .Values.registry.image.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.registry.image.pullPolicy }}
|
||||||
|
ports:
|
||||||
|
- name: registry
|
||||||
|
containerPort: 5000
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: "/var/lib/registry"
|
||||||
|
name: "data"
|
||||||
|
- mountPath: "/etc/docker/registry"
|
||||||
|
name: "config"
|
||||||
|
{{ include "docker-registry.probes" . | indent 10 }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.registry.resources | nindent 12 }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
34
docker-registry-ui/templates/reg-ingress.yaml
Normal file
34
docker-registry-ui/templates/reg-ingress.yaml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{{- if and (eq .Values.registry.external false) (and (eq .Values.ui.proxy false) .Values.registry.ingress.enabled) -}}
|
||||||
|
{{- $fullName := include "docker-registry.fullname" . -}}
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ $fullName }}
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry.labels" . | indent 4 }}
|
||||||
|
{{- with .Values.registry.ingress.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if .Values.registry.ingress.tls }}
|
||||||
|
tls:
|
||||||
|
{{- range .Values.registry.ingress.tls }}
|
||||||
|
- hosts:
|
||||||
|
{{- range .hosts }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
secretName: {{ .secretName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
rules:
|
||||||
|
{{- range .Values.registry.ingress.hosts }}
|
||||||
|
- host: {{ .host | quote }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
backend:
|
||||||
|
serviceName: {{ $fullName }}
|
||||||
|
servicePort: registry
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
23
docker-registry-ui/templates/reg-pvc.yaml
Normal file
23
docker-registry-ui/templates/reg-pvc.yaml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{{- if and (eq .Values.registry.external false) .Values.registry.persistence.enabled -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry.labels" . | indent 4 }}
|
||||||
|
name: {{ include "docker-registry.fullname" . }}
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
{{- range .Values.registry.persistence.accessModes }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.registry.persistence.size }}
|
||||||
|
{{- if .Values.registry.persistence.storageClass }}
|
||||||
|
{{- if (eq "-" .Values.registry.persistence.storageClass) }}
|
||||||
|
storageClassName: ""
|
||||||
|
{{- else }}
|
||||||
|
storageClassName: {{ .Values.registry.persistence.storageClass | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
17
docker-registry-ui/templates/reg-service.yaml
Normal file
17
docker-registry-ui/templates/reg-service.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{{- if eq .Values.registry.external false -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ include "docker-registry.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.registry.service.type }}
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.registry.service.port }}
|
||||||
|
targetPort: registry
|
||||||
|
protocol: TCP
|
||||||
|
name: registry
|
||||||
|
selector:
|
||||||
|
{{ include "docker-registry.matchLabels" . | indent 6 }}
|
||||||
|
{{- end -}}
|
52
docker-registry-ui/templates/ui-deployment.yaml
Normal file
52
docker-registry-ui/templates/ui-deployment.yaml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "docker-registry-ui.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry-ui.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.ui.replicaCount }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{ include "docker-registry-ui.matchLabels" . | indent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry-ui.matchLabels" . | indent 8 }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- name: registry-ui
|
||||||
|
image: "{{ .Values.ui.image.registry }}/{{ .Values.ui.image.repository }}:{{ .Values.ui.image.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.ui.image.pullPolicy }}
|
||||||
|
env:
|
||||||
|
- name: REGISTRY_TITLE
|
||||||
|
value: {{ .Values.ui.title| quote }}
|
||||||
|
- name: DELETE_IMAGES
|
||||||
|
value: {{ .Values.ui.delete_images| quote }}
|
||||||
|
- name: {{ include "docker-registry-ui.url-name" . }}
|
||||||
|
value: {{ include "docker-registry-ui.url-value" . | quote }}
|
||||||
|
- name: PULL_URL
|
||||||
|
value: {{ include "docker-registry-ui.pull" . | quote }}
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 80
|
||||||
|
protocol: TCP
|
||||||
|
{{ include "docker-registry-ui.probes" . | indent 10 }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.ui.resources | nindent 12 }}
|
||||||
|
{{- with .Values.ui.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.ui.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.ui.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
34
docker-registry-ui/templates/ui-ingress.yaml
Normal file
34
docker-registry-ui/templates/ui-ingress.yaml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{{- if .Values.ui.ingress.enabled -}}
|
||||||
|
{{- $fullName := include "docker-registry-ui.fullname" . -}}
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ $fullName }}
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry-ui.labels" . | indent 4 }}
|
||||||
|
{{- with .Values.ui.ingress.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if .Values.ui.ingress.tls }}
|
||||||
|
tls:
|
||||||
|
{{- range .Values.ui.ingress.tls }}
|
||||||
|
- hosts:
|
||||||
|
{{- range .hosts }}
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
secretName: {{ .secretName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
rules:
|
||||||
|
{{- range .Values.ui.ingress.hosts }}
|
||||||
|
- host: {{ .host | quote }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
backend:
|
||||||
|
serviceName: {{ $fullName }}
|
||||||
|
servicePort: http
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
15
docker-registry-ui/templates/ui-service.yaml
Normal file
15
docker-registry-ui/templates/ui-service.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ include "docker-registry-ui.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{ include "docker-registry-ui.labels" . | indent 4 }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.ui.service.type }}
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.ui.service.port }}
|
||||||
|
targetPort: http
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
{{ include "docker-registry-ui.matchLabels" . | indent 6 }}
|
129
docker-registry-ui/values.yaml
Normal file
129
docker-registry-ui/values.yaml
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
# Default values for docker-registry-ui.
|
||||||
|
# This is a YAML-formatted file.
|
||||||
|
# Declare variables to be passed into your templates.
|
||||||
|
|
||||||
|
|
||||||
|
ui:
|
||||||
|
# title of the registry
|
||||||
|
title: "Docker registry UI"
|
||||||
|
# allow delete of images
|
||||||
|
delete_images: false
|
||||||
|
# UI behave as a proxy of the registry
|
||||||
|
proxy: true
|
||||||
|
|
||||||
|
replicaCount: 1
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: joxit/docker-registry-ui
|
||||||
|
tag: static
|
||||||
|
pullPolicy: Always
|
||||||
|
probe:
|
||||||
|
liveness: true
|
||||||
|
readiness: true
|
||||||
|
|
||||||
|
resources: {}
|
||||||
|
# If you do want to specify resources, uncomment the following
|
||||||
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||||
|
# limits:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
# requests:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
nodeSelector: {}
|
||||||
|
tolerations: []
|
||||||
|
affinity: {}
|
||||||
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 80
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
annotations: {}
|
||||||
|
# kubernetes.io/ingress.class: nginx
|
||||||
|
# kubernetes.io/tls-acme: "true"
|
||||||
|
hosts:
|
||||||
|
- host: docker-registry-ui.local
|
||||||
|
|
||||||
|
tls: []
|
||||||
|
# - secretName: chart-example-tls
|
||||||
|
# hosts:
|
||||||
|
# - chart-example.local
|
||||||
|
|
||||||
|
|
||||||
|
registry:
|
||||||
|
external: false
|
||||||
|
# URL of the registry (requiered. Note: this wont work as localhost is inside the container. Only used if the registry is external)
|
||||||
|
url: http://localhost:5000
|
||||||
|
|
||||||
|
replicaCount: 1
|
||||||
|
# Image definition for the registry (Only used if the registry is not external)
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: registry
|
||||||
|
tag: 2.7.1
|
||||||
|
pullPolicy: Always
|
||||||
|
probe:
|
||||||
|
liveness: true
|
||||||
|
readiness: true
|
||||||
|
resources: {}
|
||||||
|
# If you do want to specify resources, uncomment the following
|
||||||
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||||
|
# limits:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
# requests:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
nodeSelector: {}
|
||||||
|
tolerations: []
|
||||||
|
affinity: {}
|
||||||
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
## If true, use a Persistent Volume Claim, If false, use emptyDir
|
||||||
|
##
|
||||||
|
enabled: false
|
||||||
|
## Persistent Volume Storage Class
|
||||||
|
## If defined, storageClassName: <storageClass>
|
||||||
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||||
|
## If undefined (the default) or set to null, no storageClassName spec is
|
||||||
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||||
|
## GKE, AWS & OpenStack)
|
||||||
|
##
|
||||||
|
# storageClass: "-"
|
||||||
|
## Persistent Volume Claim annotations
|
||||||
|
##
|
||||||
|
annotations:
|
||||||
|
## Persistent Volume Access Mode
|
||||||
|
##
|
||||||
|
accessModes:
|
||||||
|
# This have to be ReadWriteMany if replicaCount>1
|
||||||
|
- ReadWriteOnce
|
||||||
|
## Persistent Volume size
|
||||||
|
##
|
||||||
|
size: 1Gi
|
||||||
|
##
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 5000
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
annotations: {}
|
||||||
|
# kubernetes.io/ingress.class: nginx
|
||||||
|
# kubernetes.io/tls-acme: "true"
|
||||||
|
hosts:
|
||||||
|
- host: docker-registry.local
|
||||||
|
|
||||||
|
tls: []
|
||||||
|
# - secretName: chart-example-tls
|
||||||
|
# hosts:
|
||||||
|
# - chart-example.local
|
||||||
|
|
||||||
|
imagePullSecrets: []
|
||||||
|
nameOverride: ""
|
@ -14,7 +14,7 @@ type: application
|
|||||||
|
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: 0.1.2
|
version: 0.1.3
|
||||||
|
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
|
@ -13,7 +13,7 @@ tls:
|
|||||||
|
|
||||||
dovecot:
|
dovecot:
|
||||||
image:
|
image:
|
||||||
repository: registry.geekhome.org/dovecot
|
repository: registry.geekhome.org/ghp/dovecot
|
||||||
tag: 2.3.8
|
tag: 2.3.8
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
configmaps:
|
configmaps:
|
||||||
|
@ -14,7 +14,7 @@ type: application
|
|||||||
|
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: 0.1.1
|
version: 0.1.2
|
||||||
|
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
|
@ -9,7 +9,7 @@ persistence:
|
|||||||
|
|
||||||
opendkim:
|
opendkim:
|
||||||
image:
|
image:
|
||||||
repository: registry.geekhome.org/opendkim
|
repository: registry.geekhome.org/ghp/opendkim
|
||||||
tag: 2.11.0
|
tag: 2.11.0
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
configmaps:
|
configmaps:
|
||||||
|
@ -14,7 +14,7 @@ type: application
|
|||||||
|
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: 0.1.1
|
version: 0.1.2
|
||||||
|
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
|
@ -9,7 +9,7 @@ persistence:
|
|||||||
|
|
||||||
opendmarc:
|
opendmarc:
|
||||||
image:
|
image:
|
||||||
repository: registry.geekhome.org/opendmarc
|
repository: registry.geekhome.org/ghp/opendmarc
|
||||||
tag: 1.3.2
|
tag: 1.3.2
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
configmaps:
|
configmaps:
|
||||||
|
@ -15,7 +15,7 @@ type: application
|
|||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||||
version: 0.1.0
|
version: 0.1.1
|
||||||
|
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# 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
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: registry.geekhome.org/playmaker
|
repository: registry.geekhome.org/ghp/playmaker
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: "0.6.4"
|
tag: "0.6.4"
|
||||||
|
@ -14,7 +14,7 @@ type: application
|
|||||||
|
|
||||||
# This is the chart version. This version number should be incremented each time you make changes
|
# 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.
|
# to the chart and its templates, including the app version.
|
||||||
version: 0.1.1
|
version: 0.1.2
|
||||||
|
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application.
|
# incremented each time you make changes to the application.
|
||||||
|
@ -13,7 +13,7 @@ tls:
|
|||||||
|
|
||||||
postfix:
|
postfix:
|
||||||
image:
|
image:
|
||||||
repository: registry.geekhome.org/postfix
|
repository: registry.geekhome.org/ghp/postfix
|
||||||
tag: 3.5.8
|
tag: 3.5.8
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
configmaps:
|
configmaps:
|
||||||
|
@ -7,5 +7,5 @@ dependencies:
|
|||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 12.3.2
|
version: 12.3.2
|
||||||
type: application
|
type: application
|
||||||
version: 0.2.0
|
version: 0.2.1
|
||||||
appVersion: 2.7
|
appVersion: 2.7
|
||||||
|
@ -9,7 +9,7 @@ persistence:
|
|||||||
|
|
||||||
rspamd:
|
rspamd:
|
||||||
image:
|
image:
|
||||||
repository: registry.geekhome.org/rspamd
|
repository: registry.geekhome.org/ghp/rspamd
|
||||||
tag: 2.7
|
tag: 2.7
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
local.d:
|
local.d:
|
||||||
|
Loading…
Reference in New Issue
Block a user