imfreedom/k8s-cluster

fc71e853c3aa
Parents 71464473eb83
Children fdef5049aec1
Add a new deployment for moving the imf wiki to mkdocs
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/50-kb.imfreedom.org/kustomization.yaml Sun Apr 10 04:17:05 2022 -0500
@@ -0,0 +1,5 @@
+---
+namespace: imfreedom
+resources:
+ - manifest.yaml
+---
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/50-kb.imfreedom.org/manifest.yaml Sun Apr 10 04:17:05 2022 -0500
@@ -0,0 +1,141 @@
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: kb-http
+spec:
+ entryPoints:
+ - http
+ routes:
+ - match: Host(`kb.imfreedom.org`)
+ kind: Rule
+ services:
+ - name: kb
+ port: 80
+ middlewares:
+ - name: https-redirect
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: kb-https
+spec:
+ entryPoints:
+ - https
+ routes:
+ - match: Host(`kb.imfreedom.org`)
+ kind: Rule
+ services:
+ - name: kb
+ port: 80
+ middlewares:
+ - name: common-headers
+ - name: hsts-headers
+ tls:
+ secretName: kb-tls
+---
+apiVersion: cert-manager.io/v1
+kind: Certificate
+metadata:
+ name: kb-tls
+spec:
+ secretName: kb-tls
+ issuerRef:
+ name: letsencrypt
+# commonName: kb.imfreedom.org
+ dnsNames:
+ - kb.imfreedom.org
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: kb
+ labels:
+ app: kb
+spec:
+ ports:
+ - port: 80
+ protocol: TCP
+ selector:
+ app: kb
+---
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: kb
+ labels:
+ app: kb
+spec:
+ podSelector:
+ matchLabels:
+ app: kb
+ 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: kb
+spec:
+ minAvailable: 1
+ selector:
+ matchLabels:
+ app: kb
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: kb
+ labels:
+ app: kb
+ keel.sh/policy: force
+ keel.sh/trigger: poll
+ annotations:
+ keel.sh/pollSchedule: "@every 10m"
+spec:
+ replicas: 2
+ revisionHistoryLimit: 0
+ selector:
+ matchLabels:
+ app: kb
+ template:
+ metadata:
+ labels:
+ app: kb
+ spec:
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - kb
+ topologyKey: failure-domain.beta.kubernetes.io/region
+ weight: 100
+ containers:
+ - name: kb
+ image: docker.io/imfreedom/knowledgebase:latest
+ imagePullPolicy: Always
+ ports:
+ - containerPort: 80
+ resources:
+ limits:
+ cpu: 50m
+ memory: 96Mi
+ requests:
+ cpu: 10m
+ memory: 64Mi
+---