add joplin

This commit is contained in:
James Andariese 2023-08-10 19:51:12 -05:00
parent 3f5e2a778b
commit 19aa73e8bb
3 changed files with 178 additions and 0 deletions

40
joplin/db.yaml Normal file
View File

@ -0,0 +1,40 @@
apiVersion: postgres-operator.crunchydata.com/v1beta1
kind: PostgresCluster
metadata:
name: joplin
namespace: joplin
spec:
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-14.6-2
postgresVersion: 14
instances:
- replicas: 2
dataVolumeClaimSpec:
storageClassName: nfs
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 2Gi
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
postgres-operator.crunchydata.com/cluster: keycloakdb
postgres-operator.crunchydata.com/instance-set: "00"
backups:
pgbackrest:
image: registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi8-2.41-2
repos:
- name: repo1
volume:
volumeClaimSpec:
storageClassName: nfs
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 4Gi

132
joplin/joplin.yaml Normal file
View File

@ -0,0 +1,132 @@
---
apiVersion: v1
kind: Namespace
metadata:
labels:
wildcard-tls.kn8v.com/copy: "true"
name: joplin
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: joplin-config
namespace: joplin
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: joplin
name: joplin
spec:
replicas: 1
selector:
matchLabels:
app: joplin
strategy:
type: Recreate
template:
metadata:
labels:
app: joplin
spec:
containers:
- name: joplin
image: joplin/server:latest
env:
- name: APP_PORT
value: "8080"
- name: APP_BASE_URL
value: https://joplin.strudelline.net
- name: DB_CLIENT
value: pg
- name: PGSSLMODE
value: no-verify
- name: POSTGRES_CONNECTION_STRING
valueFrom:
secretKeyRef:
key: uri
name: joplin-pguser-joplin
#- name: POSTGRES_PASSWORD
# valueFrom:
# secretKeyRef:
# key: password
# name: joplin-pguser-joplin
#- name: POSTGRES_DATABASE
# valueFrom:
# secretKeyRef:
# key: dbname
# name: joplin-pguser-joplin
#- name: POSTGRES_USER
# valueFrom:
# secretKeyRef:
# key: user
# name: joplin-pguser-joplin
#- name: POSTGRES_PORT
# valueFrom:
# secretKeyRef:
# key: port
# name: joplin-pguser-joplin
#- name: POSTGRES_HOST
# valueFrom:
# secretKeyRef:
# key: host
# name: joplin-pguser-joplin
volumeMounts:
- mountPath: /config
name: joplin-config
volumes:
- name: joplin-config
persistentVolumeClaim:
claimName: joplin-config
restartPolicy: Always
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: joplin
namespace: joplin
annotations:
haproxy-ingress.github.io/ssl-redirect: "true"
ingress.kubernetes.io/force-ssl-redirect: 'true'
spec:
ingressClassName: istio
rules:
- host: joplin.strudelline.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: joplin
port:
number: 8080
tls:
- hosts:
- joplin.strudelline.net
secretName: wildcard-tls
---
apiVersion: v1
kind: Service
metadata:
labels:
app: joplin
name: joplin
namespace: joplin
spec:
selector:
app: joplin
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
clusterIP: None
type: ClusterIP

6
joplin/ns.yaml Normal file
View File

@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
labels:
wildcard-tls.kn8v.com/copy: "true"
name: joplin