add vikunja
Signed-off-by: gwg313 <gwg313@pm.me>
This commit is contained in:
parent
67a2318a96
commit
854f70e8ee
9 changed files with 171 additions and 0 deletions
51
apps/vikunja/deployment.yaml
Normal file
51
apps/vikunja/deployment.yaml
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: vikunja
|
||||||
|
namespace: vikunja
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: vikunja
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: vikunja
|
||||||
|
spec:
|
||||||
|
securityContext:
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
fsGroup: 1000
|
||||||
|
containers:
|
||||||
|
- name: vikunja
|
||||||
|
image: vikunja/vikunja:0.24.6
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
ports:
|
||||||
|
- containerPort: 3456
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 128Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 512Mi
|
||||||
|
volumeMounts:
|
||||||
|
- name: vikunja-data
|
||||||
|
mountPath: /app/vikunja/files
|
||||||
|
subPath: files
|
||||||
|
- name: vikunja-data
|
||||||
|
mountPath: /db
|
||||||
|
subPath: db
|
||||||
|
volumes:
|
||||||
|
- name: vikunja-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: vikunja-data
|
||||||
10
apps/vikunja/kustomization.yaml
Normal file
10
apps/vikunja/kustomization.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- pvc.yaml
|
||||||
|
- network-policy.yaml
|
||||||
|
- deployment.yaml
|
||||||
|
- service.yaml
|
||||||
|
- route.yaml
|
||||||
4
apps/vikunja/namespace.yaml
Normal file
4
apps/vikunja/namespace.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: vikunja
|
||||||
17
apps/vikunja/network-policy.yaml
Normal file
17
apps/vikunja/network-policy.yaml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: allow-ingress
|
||||||
|
namespace: vikunja
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
app: vikunja
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
- fromEntities:
|
||||||
|
- ingress
|
||||||
|
toPorts:
|
||||||
|
- ports:
|
||||||
|
- port: "3456"
|
||||||
|
protocol: TCP
|
||||||
12
apps/vikunja/pvc.yaml
Normal file
12
apps/vikunja/pvc.yaml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: vikunja-data
|
||||||
|
namespace: vikunja
|
||||||
|
spec:
|
||||||
|
storageClassName: nfs-retain
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
||||||
41
apps/vikunja/route.yaml
Normal file
41
apps/vikunja/route.yaml
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: vikunja
|
||||||
|
namespace: vikunja
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: shared-edge-gateway
|
||||||
|
namespace: cilium-ingress
|
||||||
|
hostnames:
|
||||||
|
- todo.local.gwg313.xyz
|
||||||
|
- todo.gwg313.xyz
|
||||||
|
- todo.zerotier.gwg313.xyz
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
|
backendRefs:
|
||||||
|
- group: ""
|
||||||
|
kind: Service
|
||||||
|
name: vikunja
|
||||||
|
port: 80
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1beta1
|
||||||
|
kind: ReferenceGrant
|
||||||
|
metadata:
|
||||||
|
name: allow-gateway-to-vikunja
|
||||||
|
namespace: vikunja
|
||||||
|
spec:
|
||||||
|
from:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
namespace: cilium-ingress
|
||||||
|
to:
|
||||||
|
- group: ""
|
||||||
|
kind: Service
|
||||||
|
name: vikunja
|
||||||
12
apps/vikunja/service.yaml
Normal file
12
apps/vikunja/service.yaml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: vikunja
|
||||||
|
namespace: vikunja
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: vikunja
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 3456
|
||||||
|
protocol: TCP
|
||||||
|
|
@ -19,3 +19,4 @@ resources:
|
||||||
- bytestash.yaml
|
- bytestash.yaml
|
||||||
- stirling-pdf.yaml
|
- stirling-pdf.yaml
|
||||||
- soulsync.yaml
|
- soulsync.yaml
|
||||||
|
- vikunja.yaml
|
||||||
|
|
|
||||||
23
management/platform-apps/vikunja.yaml
Normal file
23
management/platform-apps/vikunja.yaml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: vikunja
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argoproj.io/sync-wave: "0"
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: https://github.com/gwg313/homelab-gitops.git
|
||||||
|
targetRevision: main
|
||||||
|
path: apps/vikunja
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: vikunja
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ServerSideApply=true
|
||||||
Loading…
Add table
Add a link
Reference in a new issue