Files
quay-kubernetes/quay.yaml
T
feedc0de 05cfa653d3
Validate and deploy Quay / Validate manifest (push) Successful in 22s
Validate and deploy Quay / Downtime deployment (push) Successful in 3m26s
Update to quay 3.18.0
2026-08-09 00:14:42 +02:00

151 lines
3.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: quay
namespace: default
labels:
app: quay
app.kubernetes.io/name: quay
app.kubernetes.io/component: registry
spec:
replicas: 1
progressDeadlineSeconds: 900
strategy:
# Version changes deliberately accept downtime so two Quay versions never
# access the database concurrently.
type: Recreate
selector:
matchLabels:
app: quay
template:
metadata:
labels:
app: quay
app.kubernetes.io/name: quay
app.kubernetes.io/component: registry
spec:
containers:
- name: quay
# Quay 3.8.1 is the currently running database-compatible version.
# Upgrade one supported minor version at a time; do not jump to 3.18.
image: quay.io/projectquay/quay:3.18.0
env:
- name: DEBUGLOG
value: "true"
ports:
- name: http
containerPort: 8080
protocol: TCP
startupProbe:
httpGet:
path: /health/instance
port: http
failureThreshold: 60
periodSeconds: 5
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /health/endtoend
port: http
failureThreshold: 3
periodSeconds: 10
timeoutSeconds: 5
livenessProbe:
httpGet:
path: /health/instance
port: http
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 5
volumeMounts:
- name: quay-config
mountPath: /conf/stack/config.yaml
subPath: config.yaml
readOnly: true
volumes:
- name: quay-config
secret:
secretName: quay-config
defaultMode: 0440
imagePullSecrets:
- name: quay-pull-secret
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: quay-repomirror
namespace: default
labels:
app: quay-repomirror
app.kubernetes.io/name: quay
app.kubernetes.io/component: repository-mirror
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: quay-repomirror
template:
metadata:
labels:
app: quay-repomirror
app.kubernetes.io/name: quay
app.kubernetes.io/component: repository-mirror
spec:
containers:
- name: quay-repomirror
image: quay.io/projectquay/quay:3.18.0
args:
- repomirror
env:
- name: DEBUGLOG
value: "true"
volumeMounts:
- name: quay-config
mountPath: /conf/stack/config.yaml
subPath: config.yaml
readOnly: true
volumes:
- name: quay-config
secret:
secretName: quay-config
defaultMode: 0440
imagePullSecrets:
- name: quay-pull-secret
---
apiVersion: v1
kind: Service
metadata:
name: quay
namespace: default
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: quay
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: quay
namespace: default
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
spec:
ingressClassName: traefik
rules:
- host: registry.brunner.ninja
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: quay
port:
name: http