diff --git a/scripts/dockerfiles/maintnance/Dockerfile b/scripts/dockerfiles/maintnance/Dockerfile new file mode 100644 index 000000000..5db773939 --- /dev/null +++ b/scripts/dockerfiles/maintnance/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:alpine +COPY index.html usr/share/nginx/html/index.html diff --git a/scripts/dockerfiles/maintnance/index.html b/scripts/dockerfiles/maintnance/index.html new file mode 100644 index 000000000..d7fa118a4 --- /dev/null +++ b/scripts/dockerfiles/maintnance/index.html @@ -0,0 +1,18 @@ + +Site Maintenance + + +
+

We’ll be back soon!

+
+

Sorry for the inconvenience but we’re performing some maintenance at the moment. We’ll be back online shortly!

+

— The Team

+
+
diff --git a/scripts/dockerfiles/maintnance/manifest.yaml b/scripts/dockerfiles/maintnance/manifest.yaml new file mode 100644 index 000000000..1c0fec569 --- /dev/null +++ b/scripts/dockerfiles/maintnance/manifest.yaml @@ -0,0 +1,82 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: maintenance-page + namespace: app + labels: + app: maintenance-page +spec: + selector: + matchLabels: + app: maintenance-page + replicas: 1 + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + labels: + app: maintenance-page + spec: + containers: + - name: maintenance-page + image: rjshrjndrn/maintenance + imagePullPolicy: IfNotPresent + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 100m + memory: 100Mi + livenessProbe: + tcpSocket: + port: 80 + initialDelaySeconds: 5 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 3 + periodSeconds: 10 + ports: + - containerPort: 80 + name: http +--- +# https://kubernetes.io/docs/concepts/services-networking/service/ +apiVersion: v1 +kind: Service +metadata: + name: maintenance-page + namespace: app +spec: + selector: + app: maintenance-page + type: ClusterIP + ports: + - name: maintenance-page + protocol: TCP + port: 80 + targetPort: 80 +--- +# https://kubernetes.io/docs/concepts/services-networking/ingress/ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: maintenance-page + namespace: app +spec: + ingressClassName: openreplay + rules: + - host: example.domain.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: maintenance-page + port: + number: 80 +--- +