imfreedom/k8s-cluster

Add a new play application I'm developing

17 months ago, Gary Kramlich
f223b168dd61
Parents 2506a89edb51
Children 51fa649b5fc9
Add a new play application I'm developing
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/50-cerestial.space/kustomization.yaml Thu Dec 08 02:29:46 2022 -0600
@@ -0,0 +1,5 @@
+---
+namespace: reaperworld
+resources:
+ - manifest.yaml
+---
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/50-cerestial.space/manifest.yaml Thu Dec 08 02:29:46 2022 -0600
@@ -0,0 +1,154 @@
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: cerestial-http
+spec:
+ entryPoints:
+ - http
+ routes:
+ - match: Host(`cerestial.space`) || Host(`www.cerestial.space`)
+ kind: Rule
+ services:
+ - name: cerestial-http
+ port: 3000
+ middlewares:
+ - name: https-redirect
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: cerestial-https
+spec:
+ entryPoints:
+ - https
+ routes:
+ - match: Host(`cerestial.space`) || Host(`www.cerestial.space`)
+ kind: Rule
+ services:
+ - name: cerestial-http
+ port: 3000
+ middlewares:
+ - name: common-headers
+ - name: hsts-headers
+ tls:
+ secretName: cerestial-tls
+---
+apiVersion: cert-manager.io/v1
+kind: Certificate
+metadata:
+ name: cerestial-tls
+spec:
+ secretName: cerestial-tls
+ issuerRef:
+ name: letsencrypt
+ commonName: cerestial.space
+ dnsNames:
+ - cerestial.space
+ - www.cerestial.space
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: cerestial-http
+ labels:
+ app: cerestial
+ role: http
+spec:
+ ports:
+ - port: 3000
+ protocol: TCP
+ selector:
+ app: cerestial
+ role: http
+---
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: cerestial-http
+ labels:
+ app: cerestial
+ role: http
+spec:
+ podSelector:
+ matchLabels:
+ app: cerestial
+ role: http
+ ingress:
+ - from:
+ - namespaceSelector:
+ matchLabels:
+ name: kube-public
+ podSelector:
+ matchLabels:
+ app: traefik
+ role: controller
+ ports:
+ - port: 3000
+ protocol: TCP
+---
+apiVersion: policy/v1
+kind: PodDisruptionBudget
+metadata:
+ name: cerestial-http
+spec:
+ minAvailable: 1
+ selector:
+ matchLabels:
+ app: cerestial
+ role: http
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: cerestial-http
+ labels:
+ app: cerestial
+ role: http
+ keel.sh/policy: force
+ keel.sh/trigger: poll
+ annotations:
+ keel.sh/pollSchedule: "@every 10m"
+spec:
+ replicas: 2
+ revisionHistoryLimit: 0
+ selector:
+ matchLabels:
+ app: cerestial
+ role: http
+ template:
+ metadata:
+ labels:
+ app: cerestial
+ role: http
+ spec:
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - cerestial
+ - key: role
+ operator: In
+ values:
+ - http
+ topologyKey: failure-domain.beta.kubernetes.io/region
+ weight: 100
+ containers:
+ - name: cerestial-http
+ image: rwgrim/cerestial:latest
+ imagePullPolicy: Always
+ ports:
+ - containerPort: 3000
+ resources:
+ limits:
+ cpu: 50m
+ memory: 96Mi
+ requests:
+ cpu: 10m
+ memory: 64Mi
+---