Martyn 2023-12-05 17:22:39 +00:00
parent 976301cad2
commit ee13f319aa
4 changed files with 272 additions and 0 deletions

View File

@ -0,0 +1,82 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: cryptpad
template:
metadata:
labels:
app.kubernetes.io/name: cryptpad
spec:
containers:
- image: cryptpad/cryptpad:version-5.5.0
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 5
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: http
timeoutSeconds: 10
name: cryptpad
ports:
- containerPort: 3000
name: http
protocol: TCP
- containerPort: 3001
name: http-safe
protocol: TCP
readinessProbe:
failureThreshold: 5
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: http
timeoutSeconds: 10
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /cryptpad/blob
name: blob
- mountPath: /cryptpad/block
name: block
- mountPath: /cryptpad/config
name: config
- mountPath: /cryptpad/customize
name: customize
- mountPath: /cryptpad/data
name: data
- mountPath: /cryptpad/datasource
name: datasource
- mountPath: /cryptpad/datastore
name: datastore
volumes:
- name: blob
persistentVolumeClaim:
claimName: cryptpad-blob
- name: block
persistentVolumeClaim:
claimName: cryptpad-block
- name: config
persistentVolumeClaim:
claimName: cryptpad-config
- name: customize
persistentVolumeClaim:
claimName: cryptpad-customize
- name: data
persistentVolumeClaim:
claimName: cryptpad-data
- name: datasource
persistentVolumeClaim:
claimName: cryptpad-datasource
- name: datastore
persistentVolumeClaim:
claimName: cryptpad-datastore

View File

@ -0,0 +1,63 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt
external-dns.alpha.kubernetes.io/target: armnleg.martyn.berlin
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "cross-origin-resource-policy: cross-origin";
more_set_headers "cross-origin-embedder-policy: require-corp";
nginx.ingress.kubernetes.io/cors-allow-origin: https://cryptpad-safe.martyn.berlin
nginx.ingress.kubernetes.io/enable-cors: "true"
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad
spec:
rules:
- host: cryptpad.martyn.berlin
http:
paths:
- backend:
service:
name: cryptpad
port:
number: 3000
path: /
pathType: Prefix
tls:
- hosts:
- cryptpad.martyn.berlin
secretName: cryptpad-tls
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt
external-dns.alpha.kubernetes.io/target: armnleg.martyn.berlin
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_headers "cross-origin-resource-policy: cross-origin";
more_set_headers "cross-origin-embedder-policy: require-corp";
nginx.ingress.kubernetes.io/cors-allow-origin: https://cryptpad-safe.martyn.berlin
nginx.ingress.kubernetes.io/enable-cors: "true"
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-0
spec:
rules:
- host: cryptpad-safe.martyn.berlin
http:
paths:
- backend:
service:
name: cryptpad
port:
number: 3000
path: /
pathType: Prefix
tls:
- hosts:
- cryptpad-safe.martyn.berlin
secretName: cryptpad-safe-tls

View File

@ -0,0 +1,101 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-blob
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2500Mi
storageClassName: rook-ceph-block-ssd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-block
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2500Mi
storageClassName: rook-ceph-block-ssd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-config
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: rook-ceph-block-ssd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-customize
namespace: cryptpad
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: rook-ceph-block-ssd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-data
namespace: cryptpad
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2500Mi
storageClassName: rook-ceph-block-ssd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-datasource
namespace: cryptpad
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: rook-ceph-block-ssd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-datastore
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: rook-ceph-block-ssd

View File

@ -0,0 +1,26 @@
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad
spec:
ports:
- name: http
port: 3000
targetPort: http
selector:
app.kubernetes.io/name: cryptpad
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/name: cryptpad
name: cryptpad-safe
spec:
ports:
- name: http-safe
port: 3001
selector:
app.kubernetes.io/name: cryptpad