8 Commits

8 changed files with 214 additions and 17 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ spec:
name: cluster-fun (v2)
source:
repoURL: 'https://stakater.github.io/stakater-charts'
targetRevision: v0.0.129
targetRevision: 2.2.12
chart: reloader
syncPolicy:
automated: {}
+25
View File
@@ -0,0 +1,25 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: trek
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: cluster.fun
destination:
namespace: trek
name: cluster-fun (v2)
source:
path: manifests/trek
repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git"
targetRevision: HEAD
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
ignoreDifferences:
- kind: Secret
jsonPointers:
- /data
@@ -19,7 +19,6 @@ spec:
- bsky-feeds.cluster.fun
- ai.cluster.fun
- penpot.cluster.fun
- trek.cluster.fun
secretName: non-auth-proxy-ingress
rules:
- host: hello-world.cluster.fun
@@ -72,13 +71,3 @@ spec:
name: tailscale-proxy
port:
name: non-auth
- host: trek.cluster.fun
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: tailscale-proxy
port:
name: non-auth
+2 -2
View File
@@ -206,7 +206,7 @@ spec:
priorityClassName: critical
containers:
- name: nextcloud
image: "nextcloud:33.0.4-apache"
image: "nextcloud:33.0.5-apache"
imagePullPolicy: IfNotPresent
env:
- name: SQLITE_DATABASE
@@ -340,7 +340,7 @@ spec:
mountPath: /var/www/html/config/smtp.config.php
subPath: smtp.config.php
- name: cron
image: "nextcloud:33.0.4-apache"
image: "nextcloud:33.0.5-apache"
imagePullPolicy: IfNotPresent
command:
- /cron.sh
+2 -2
View File
@@ -57,7 +57,7 @@ spec:
- name: data
mountPath: /data
- name: update-native-modules
image: nodered/node-red:4.1.10-18
image: nodered/node-red:4.1.11-18
imagePullPolicy: IfNotPresent
command:
- bash
@@ -73,7 +73,7 @@ spec:
mountPath: /data
containers:
- name: web
image: nodered/node-red:4.1.10-18
image: nodered/node-red:4.1.11-18
imagePullPolicy: Always
ports:
- containerPort: 1880
+1 -1
View File
@@ -46,7 +46,7 @@ spec:
priorityClassName: critical
containers:
- name: outline
image: outlinewiki/outline:1.7.1
image: outlinewiki/outline:1.8.0
imagePullPolicy: IfNotPresent
env:
- name: ALLOWED_DOMAINS
+26
View File
@@ -0,0 +1,26 @@
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: trek-data
namespace: trek
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: sbs-default-retain
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: trek-uploads
namespace: trek
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: sbs-default-retain
---
+157
View File
@@ -0,0 +1,157 @@
apiVersion: v1
kind: Secret
metadata:
name: trek
namespace: trek
labels:
app: trek
app.kubernetes.io/name: trek
annotations:
kube-1password: irpjqi7ppvbvldfni7ywgorpgi
kube-1password/vault: Kubernetes
kube-1password/secret-text-parse: "true"
type: Opaque
---
apiVersion: v1
kind: ConfigMap
metadata:
name: trek
namespace: trek
labels:
app: trek
app.kubernetes.io/name: trek
annotations:
reloader.stakater.com/match: "true"
data:
NODE_ENV: "production"
PORT: "3000"
TZ: "UTC"
LOG_LEVEL: "info"
DEFAULT_LANGUAGE: "en"
ALLOWED_ORIGINS: "https://trek.cluster.fun"
APP_URL: "https://trek.cluster.fun"
FORCE_HTTPS: "false"
COOKIE_SECURE: "true"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: trek
namespace: trek
labels:
app: trek
app.kubernetes.io/name: trek
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: trek
template:
metadata:
labels:
app: trek
app.kubernetes.io/name: trek
spec:
containers:
- name: trek
image: mauriceboe/trek:3.0.22
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
name: trek
- secretRef:
name: trek
ports:
- containerPort: 3000
name: web
volumeMounts:
- mountPath: /app/data
name: data
- mountPath: /app/uploads
name: uploads
livenessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 5
periodSeconds: 30
readinessProbe:
httpGet:
path: /api/health
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
volumes:
- name: data
persistentVolumeClaim:
claimName: trek-data
- name: uploads
persistentVolumeClaim:
claimName: trek-uploads
---
apiVersion: v1
kind: Service
metadata:
name: trek
namespace: trek
labels:
app: trek
app.kubernetes.io/name: trek
spec:
type: ClusterIP
ports:
- port: 80
targetPort: web
name: web
selector:
app: trek
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: trek
namespace: trek
labels:
app: trek
app.kubernetes.io/name: trek
annotations:
cert-manager.io/cluster-issuer: letsencrypt
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/client-body-buffer-size: 25m
nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
nginx.ingress.kubernetes.io/proxy-next-upstream: "300"
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "300"
spec:
ingressClassName: nginx
tls:
- hosts:
- trek.cluster.fun
secretName: trek-ingress
rules:
- host: trek.cluster.fun
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: trek
port:
name: web