all repos — infra @ 3a8e0e7ceeefcb35e01956b86ccb2dbe6ef84bfa

infrastructure manifests and setup notes

apps/fsrv/fsrv.yaml (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
apiVersion: apps/v1
kind: Deployment
metadata:
  name: fsrv
  labels:
    app: fsrv
spec:
  selector:
    matchLabels:
      app: fsrv
  template:
    metadata:
      labels:
        app: fsrv
    spec:
      imagePullSecrets:
        - name: registry-creds
      nodeSelector:
        arch: "amd64"
      containers:
        - name: fsrv
          image: reg.icyphox.sh/fsrv
          imagePullPolicy: Always
          env:
            - name: FSRV_KEY
              valueFrom:
                secretKeyRef:
                  name: fsrv-key
                  key: key
          volumeMounts:
            - name: uploads
              mountPath: "/uploads"
              readOnly: false
          ports:
            - name: http
              containerPort: 9393
          command: ["/bin/sh"]
          args:
            - -c
            - /fsrv/fsrv -url https://x.icyphox.sh -key $FSRV_KEY -index /fsrv/index.html -storepath /uploads
        - name: nginx
          image: nginx
          volumeMounts:
            - name: uploads
              mountPath: "/uploads"
              readOnly: true
            - name: nginx-config
              mountPath: "/etc/nginx/conf.d/"
              readOnly: true
          ports:
            - name: http
              containerPort: 80
      volumes:
        - name: uploads
          persistentVolumeClaim:
            claimName: fsrv-uploads
        - name: nginx-config
          configMap:
            name: fsrv-nginx
            items:
              - key: "default.conf"
                path: "default.conf"
---
apiVersion: v1
kind: Service
metadata:
  name: fsrv
spec:
  selector:
    app: fsrv
  ports:
    - name: fsrv-http
      port: 9393
      targetPort: 9393
    - name: nginx-http
      port: 80
      targetPort: 80