cluster

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

deployment.yaml (2280B)


      1 apiVersion: apps/v1
      2 kind: Deployment
      3 metadata:
      4   name: heisenbridge
      5   namespace: matrix
      6   labels:
      7     app.kubernetes.io/component: appservice
      8     app.kubernetes.io/instance: main-process
      9     app.kubernetes.io/name: heisenbridge
     10 spec:
     11   strategy:
     12     rollingUpdate:
     13       maxSurge: 25%
     14       maxUnavailable: 25%
     15     type: RollingUpdate
     16   selector:
     17     matchLabels:
     18       app: heisenbridge
     19   template:
     20     metadata:
     21       labels:
     22         app: heisenbridge
     23     spec:
     24       affinity:
     25         podAntiAffinity:
     26           requiredDuringSchedulingIgnoredDuringExecution:
     27             - labelSelector:
     28                 matchExpressions:
     29                   - key: app
     30                     operator: In
     31                     values:
     32                       - heisenbridge
     33               topologyKey: "kubernetes.io/hostname"
     34       containers:
     35         - name: heisenbridge
     36           image: hif1/heisenbridge:1.15.3
     37           imagePullPolicy: IfNotPresent
     38           args: ["-c", "/data/heisenbridge.yaml", "--listen-address", "0.0.0.0", "-v", "--owner", "@mtrnord:midnightthoughts.space", "https://matrix.midnightthoughts.space"]
     39           resources:
     40             limits: {}
     41             requests:
     42               memory: "344Mi"
     43               cpu: "252m"
     44           securityContext:
     45             runAsUser: 1000
     46             runAsGroup: 1000
     47             readOnlyRootFilesystem: true
     48           ports:
     49             - containerPort: 9898
     50               name: appservice
     51               protocol: TCP
     52           volumeMounts:
     53             - name: config
     54               mountPath: "/data/heisenbridge.yaml"
     55               subPath: heisenbridge.yaml
     56               readOnly: true
     57             - mountPath: /tmp
     58               name: tmp
     59           livenessProbe:
     60             httpGet:
     61               path: /_matrix/mau/live
     62               port: appservice
     63               scheme: HTTP
     64           readinessProbe:
     65             httpGet:
     66               path: /_matrix/mau/live
     67               port: appservice
     68               scheme: HTTP
     69           startupProbe:
     70             httpGet:
     71               path: /_matrix/mau/live
     72               port: appservice
     73               scheme: HTTP
     74       volumes:
     75         - name: config
     76           secret:
     77             secretName: heisenbridge
     78         - name: tmp
     79           emptyDir:
     80             sizeLimit: 2048Mi