cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

deployment.yaml (2944B)


      1 apiVersion: apps/v1
      2 kind: Deployment
      3 metadata:
      4   name: wkd-server
      5   namespace: mailserver
      6   labels:
      7     app: wkd-server
      8 spec:
      9   replicas: 1
     10   selector:
     11     matchLabels:
     12       app: wkd-server
     13   template:
     14     metadata:
     15       labels:
     16         app: wkd-server
     17     spec:
     18       containers:
     19         - name: nginx
     20           image: nginxinc/nginx-unprivileged:1.29-alpine
     21           ports:
     22             - containerPort: 8080
     23               name: http
     24           volumeMounts:
     25             - name: wkd-config
     26               mountPath: /etc/nginx/conf.d
     27               readOnly: true
     28             - name: wkd-content
     29               mountPath: /usr/share/nginx/html/.well-known/openpgpkey/hu/
     30               readOnly: true
     31             - name: wkd-content
     32               mountPath: /usr/share/nginx/html/.well-known/openpgpkey/nordgedanken.dev/hu/
     33               readOnly: true
     34             - name: tmp
     35               mountPath: /tmp
     36             - name: var-cache-nginx
     37               mountPath: /var/cache/nginx
     38             - name: var-run
     39               mountPath: /var/run
     40           resources:
     41             requests:
     42               memory: "32Mi"
     43               cpu: "10m"
     44             limits:
     45               memory: "64Mi"
     46               cpu: "50m"
     47           livenessProbe:
     48             httpGet:
     49               path: /health
     50               port: 8080
     51             initialDelaySeconds: 10
     52             periodSeconds: 30
     53           readinessProbe:
     54             httpGet:
     55               path: /health
     56               port: 8080
     57             initialDelaySeconds: 5
     58             periodSeconds: 10
     59           securityContext:
     60             allowPrivilegeEscalation: false
     61             readOnlyRootFilesystem: true
     62             runAsNonRoot: true
     63             runAsUser: 101
     64             runAsGroup: 101
     65             capabilities:
     66               drop:
     67                 - ALL
     68             seccompProfile:
     69               type: RuntimeDefault
     70       volumes:
     71         - name: wkd-config
     72           configMap:
     73             name: wkd-nginx-config
     74         - name: wkd-content
     75           configMap:
     76             name: wkd-content
     77         - name: tmp
     78           emptyDir: {}
     79         - name: var-cache-nginx
     80           emptyDir: {}
     81         - name: var-run
     82           emptyDir: {}
     83       automountServiceAccountToken: false
     84       securityContext:
     85         fsGroup: 101
     86 ---
     87 apiVersion: v1
     88 kind: Service
     89 metadata:
     90   name: wkd-server
     91   namespace: mailserver
     92   labels:
     93     app: wkd-server
     94 spec:
     95   selector:
     96     app: wkd-server
     97   ports:
     98     - name: http
     99       port: 8080
    100       targetPort: http
    101       protocol: TCP
    102   type: ClusterIP
    103 ---
    104 apiVersion: gateway.networking.k8s.io/v1
    105 kind: HTTPRoute
    106 metadata:
    107   name: wkd-server
    108   namespace: mailserver
    109 spec:
    110   parentRefs:
    111     - name: envoy-gateway
    112       namespace: envoy-gateway
    113   hostnames:
    114     - nordgedanken.dev
    115     - openpgpkey.nordgedanken.dev
    116   rules:
    117     - backendRefs:
    118         - name: wkd-server
    119           port: 8080
    120       timeouts:
    121         request: 240s
    122         backendRequest: 0s