diff --git a/deploy/deployment.yml b/deploy/deployment.yml new file mode 100644 index 0000000..ed528f2 --- /dev/null +++ b/deploy/deployment.yml @@ -0,0 +1,62 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: riffraff + labels: + name: riffraff + app: riffraff +spec: + replicas: 1 + serviceName: riffraff + selector: + matchLabels: + app: riffraff + template: + metadata: + labels: + name: riffraff + app: riffraff + spec: + restartPolicy: Always + containers: + - image: vdhsn/riffraff:v0.2.2 + name: riffraff + stdin: true + tty: true + resources: + limits: + cpu: "64m" + memory: "128M" + requests: + cpu: "64m" + memory: "128M" + ports: + - containerPort: 8080 + volumeMounts: + - name: riffraff-data + mountPath: /data/ + securityContext: + allowPrivilegeEscalation: false + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + volumes: + - name: riffraff-data + persistentVolumeClaim: + claimName: riffraff-data-claim +--- +apiVersion: v1 +kind: Service +metadata: + name: riffraff +spec: + type: LoadBalancer + externalTrafficPolicy: Local + ports: + - port: 80 + name: web + protocol: TCP + targetPort: 8080 + selector: + app: riffraff diff --git a/deploy/ingress.yml b/deploy/ingress.yml new file mode 100644 index 0000000..f927478 --- /dev/null +++ b/deploy/ingress.yml @@ -0,0 +1,18 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: riffraff-server-http-tls +spec: + entryPoints: + - websecure + routes: + - match: Host(`riffraff.vdhsn.com`, `riffraff.veldhousen.com`) + kind: Rule + services: + - name: riffraff + port: 80 + middlewares: + - name: ssl-redirect-header + - name: gzip + tls: + certResolver: default diff --git a/deploy/pv.yml b/deploy/pv.yml new file mode 100644 index 0000000..213bf1e --- /dev/null +++ b/deploy/pv.yml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: riffraff-data-claim +spec: + volumeMode: Filesystem + storageClassName: standard + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Mi + selector: + matchLabels: + name: riffraff-data-pv +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: riffraff-data-pv + labels: + name: riffraff-data-pv +spec: + volumeMode: Filesystem + storageClassName: standard + accessModes: + - ReadWriteOnce #type of access + capacity: + storage: 10Mi #Size of the volume + hostPath: + path: "/storage/volumes/riffraff"