imfreedom/k8s-cluster

Add the deployment for lists.imfreedom.org.

17 months ago, Gary Kramlich
22ca0a0280d4
Add the deployment for lists.imfreedom.org.

This is currently running at liststest.imfreedom.org until we are actually ready
to migrate the production stuff.
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: data-body-size
spec:
buffering:
maxRequestBodyBytes: 209715200
memRequestBodyBytes: 209715
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: data-http
spec:
entryPoints:
- http
routes:
- match: Host(`data.imfreedom.org`)
kind: Rule
services:
- name: data
port: 9000
middlewares:
- name: https-redirect
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: data
spec:
entryPoints:
- https
routes:
- match: Host(`data.imfreedom.org`)
kind: Rule
services:
- name: data
port: 9000
middlewares:
- name: data-body-size
- name: common-headers
tls:
secretName: data-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: data-tls
spec:
secretName: data-tls
issuerRef:
name: letsencrypt
commonName: data.imfreedom.org
dnsNames:
- data.imfreedom.org
---
apiVersion: v1
kind: Service
metadata:
name: data
spec:
ports:
- port: 9000
protocol: TCP
selector:
app: data
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: data
spec:
podSelector:
matchLabels:
app: data
ingress:
- from:
- namespaceSelector:
matchLabels:
name: kube-public
podSelector:
matchExpressions:
- key: app
operator: In
values:
- traefik
- key: role
operator: In
values:
- controller
ports:
- port: 9000
protocol: TCP
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: data
spec:
replicas: 1
revisionHistoryLimit: 0
selector:
matchLabels:
app: data
strategy:
type: Recreate
template:
spec:
containers:
- name: minio
image: quay.io/minio/minio:RELEASE.2022-01-08T03-11-54Z
imagePullPolicy: Always
env:
- name: MINIO_BROWSER
value: 'off'
livenessProbe:
httpGet:
path: /minio/health/live
port: 9000
scheme: HTTP
readinessProbe:
httpGet:
path: /minio/health/ready
port: 9000
scheme: HTTP
command:
- minio
- server
- /data
- --console-address
- ":9001"
ports:
- containerPort: 9000
name: http
- containerPort: 9001
name: admin
volumeMounts:
- mountPath: /data
name: data
readOnly: false
resources:
limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 100m
memory: 96Mi
volumes:
- name: data
persistentVolumeClaim:
claimName: data
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: gemini.fairwinds.com/v1beta1
kind: SnapshotGroup
metadata:
name: data
spec:
persistentVolumeClaim:
claimName: data
schedule:
- every: 12 hours
keep: 2
---