Add Docker Registry setup including deployment, ingress, service, PVC, and configuration files
This commit is contained in:
2
infrastructure_setup/docker-registry/config.env
Normal file
2
infrastructure_setup/docker-registry/config.env
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
DOCKER_REGISTRY_STORAGE=10Gi
|
||||||
|
DOCKER_REGISTRY_HOST=docker-registry.internal.cloud.payne.io
|
36
infrastructure_setup/docker-registry/deployment.yaml
Normal file
36
infrastructure_setup/docker-registry/deployment.yaml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: docker-registry
|
||||||
|
labels:
|
||||||
|
app: docker-registry
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: docker-registry
|
||||||
|
strategy:
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 0
|
||||||
|
maxUnavailable: 1
|
||||||
|
type: RollingUpdate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: docker-registry
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- image: registry:3.0.0
|
||||||
|
name: docker-registry
|
||||||
|
ports:
|
||||||
|
- containerPort: 5000
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /var/lib/registry
|
||||||
|
name: docker-registry-storage
|
||||||
|
readOnly: false
|
||||||
|
volumes:
|
||||||
|
- name: docker-registry-storage
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: docker-registry-pvc
|
20
infrastructure_setup/docker-registry/ingress.yaml
Normal file
20
infrastructure_setup/docker-registry/ingress.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: docker-registry
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: docker-registry.internal.${DOMAIN}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: docker-registry
|
||||||
|
port:
|
||||||
|
number: 5000
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- docker-registry.internal.${DOMAIN}
|
||||||
|
secretName: wildcard-internal-sovereign-cloud-tls
|
40
infrastructure_setup/docker-registry/kustomization.yaml
Normal file
40
infrastructure_setup/docker-registry/kustomization.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: docker-registry
|
||||||
|
labels:
|
||||||
|
- includeSelectors: true
|
||||||
|
pairs:
|
||||||
|
app: docker-registry
|
||||||
|
managedBy: sovereign-cloud
|
||||||
|
resources:
|
||||||
|
- deployment.yaml
|
||||||
|
- ingress.yaml
|
||||||
|
- service.yaml
|
||||||
|
- namespace.yaml
|
||||||
|
- pvc.yaml
|
||||||
|
configMapGenerator:
|
||||||
|
- name: docker-registry-config
|
||||||
|
envs:
|
||||||
|
- config.env
|
||||||
|
replacements:
|
||||||
|
- source:
|
||||||
|
kind: ConfigMap
|
||||||
|
name: docker-registry-config
|
||||||
|
fieldPath: data.DOCKER_REGISTRY_STORAGE
|
||||||
|
targets:
|
||||||
|
- select:
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
name: docker-registry-pvc
|
||||||
|
fieldPaths:
|
||||||
|
- spec.resources.requests.storage
|
||||||
|
- source:
|
||||||
|
kind: ConfigMap
|
||||||
|
name: docker-registry-config
|
||||||
|
fieldPath: data.DOCKER_REGISTRY_HOST
|
||||||
|
targets:
|
||||||
|
- select:
|
||||||
|
kind: Ingress
|
||||||
|
name: docker-registry
|
||||||
|
fieldPaths:
|
||||||
|
- spec.rules.0.host
|
||||||
|
- spec.tls.0.hosts.0
|
4
infrastructure_setup/docker-registry/namespace.yaml
Normal file
4
infrastructure_setup/docker-registry/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: docker-registry
|
12
infrastructure_setup/docker-registry/pvc.yaml
Normal file
12
infrastructure_setup/docker-registry/pvc.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: docker-registry-pvc
|
||||||
|
spec:
|
||||||
|
storageClassName: longhorn
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
volumeMode: Filesystem
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
13
infrastructure_setup/docker-registry/service.yaml
Normal file
13
infrastructure_setup/docker-registry/service.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: docker-registry
|
||||||
|
labels:
|
||||||
|
app: docker-registry
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 5000
|
||||||
|
targetPort: 5000
|
||||||
|
selector:
|
||||||
|
app: docker-registry
|
@@ -32,6 +32,10 @@ chmod +x *.sh
|
|||||||
# Setup Kubernetes Dashboard
|
# Setup Kubernetes Dashboard
|
||||||
./setup-dashboard.sh
|
./setup-dashboard.sh
|
||||||
|
|
||||||
|
# Setup Docker Registry
|
||||||
|
./setup-registry.sh
|
||||||
|
kubectl apply -k docker-registry
|
||||||
|
|
||||||
echo "Infrastructure setup complete!"
|
echo "Infrastructure setup complete!"
|
||||||
echo
|
echo
|
||||||
echo "Next steps:"
|
echo "Next steps:"
|
||||||
|
Reference in New Issue
Block a user