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: IngressRoute
metadata:
name: docs-http
spec:
entryPoints:
- http
routes:
- match: Host(`docs.imfreedom.org`)
kind: Rule
services:
- name: docs
port: 80
middlewares:
- name: https-redirect
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: docs-https
spec:
entryPoints:
- https
routes:
- match: Host(`docs.imfreedom.org`)
kind: Rule
services:
- name: docs
port: 80
middlewares:
- name: common-headers
- name: hsts-headers
tls:
secretName: docs-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: docs-tls
spec:
secretName: docs-tls
issuerRef:
name: letsencrypt
commonName: docs.imfreedom.org
dnsNames:
- docs.imfreedom.org
---
apiVersion: v1
kind: Service
metadata:
name: docs
labels:
app: docs
spec:
ports:
- port: 80
protocol: TCP
selector:
app: docs
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: docs
labels:
app: docs
spec:
podSelector:
matchLabels:
app: docs
ingress:
- from:
- namespaceSelector:
matchLabels:
name: kube-public
podSelector:
matchLabels:
app: traefik
role: controller
ports:
- port: 80
protocol: TCP
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: docs
spec:
minAvailable: 1
selector:
matchLabels:
app: docs
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: docs
labels:
app: docs
keel.sh/policy: force
keel.sh/trigger: poll
annotations:
keel.sh/pollSchedule: "@every 10m"
spec:
replicas: 2
revisionHistoryLimit: 0
selector:
matchLabels:
app: docs
template:
metadata:
labels:
app: docs
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- docs
topologyKey: failure-domain.beta.kubernetes.io/region
weight: 100
containers:
- name: docs
image: docker.io/imfreedom/docs:latest
imagePullPolicy: Always
ports:
- containerPort: 80
resources:
limits:
cpu: 50m
memory: 96Mi
requests:
cpu: 10m
memory: 64Mi
---