blob: 37327df09d726c4adae0319d8a40ba1e78fa19f6 [file] [log] [blame]
---
apiVersion: v1
kind: Namespace
metadata:
name: container-registry
---
apiVersion: v1
kind: Service
metadata:
name: registry
namespace: container-registry
spec:
# NOTE(lekva): We use NodePort type service here so container registry accessible
# from every node in the cluster without any extra whitelisting.
# It is easy to expose such services on host muchine from local dev environment.
type: NodePort
selector:
app: registry
ports:
- port: 5000
nodePort: 30500
targetPort: 5000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress
namespace: container-registry
annotations:
kubernetes.io/ingress.class: "traefik"
spec:
rules:
- host: "dev-container-registry"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: container-registry
port:
number: 5000
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: registry
namespace: container-registry
spec:
serviceName: registry
selector:
matchLabels:
app: registry
replicas: 1
template:
metadata:
labels:
app: registry
spec:
containers:
- name: registry
image: registry:2
imagePullPolicy: IfNotPresent
volumeMounts:
- name: registry-dir
mountPath: /var/lib/registry
env:
# - name: REGISTRY_REDIRECT_DISABLE
# value: "true"
# - name: REGISTRY_LOG_LEVEL
# value: "debug"
# - name: REGISTRY_LOG_ACCESSLOG_DISABLED
# value: "false"
# - name: REGISTRY_HTTP_RELATIVEURLS
# value: "true"
# - name: REGISTRY_HTTP_HOST
# value: "http://dev-container-registry:8080"
- name: REGISTRY_HTTP_ADDR
value: 0.0.0.0:5000
ports:
- containerPort: 5000
volumes:
- name: registry-dir
persistentVolumeClaim:
claimName: registry-dir
volumeClaimTemplates:
- metadata:
name: registry-dir
annotations:
volume.alpha.kubernetes.io/storage-class: local-path
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 1Gi