11 Commits
Author SHA1 Message Date
renovate d91c494dfa Update grafana/promtail Docker tag to v3 2026-07-06 03:04:06 +00:00
AverageMarcus 721d9c5198 Set resources and probes
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2026-07-05 11:44:20 +01:00
AverageMarcus 867370aaac Set securityContext
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2026-07-05 11:26:55 +01:00
AverageMarcus 85838093eb Fix configmap
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2026-07-05 11:16:54 +01:00
AverageMarcus b29a34008f Added airtrail
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2026-07-05 11:15:16 +01:00
AverageMarcus 0fcd9d60b6 Added anti-affinity to blog
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2026-07-05 10:46:46 +01:00
AverageMarcus 3435e8dfc0 Increase resources for Trek
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2026-07-05 10:42:28 +01:00
AverageMarcus 20aeaf3f44 Added ollama mapping
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2026-07-05 10:37:52 +01:00
AverageMarcus bb7ebb00d6 Added ollama as internal prox service
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2026-07-05 10:36:04 +01:00
AverageMarcus 9bf10d8fdd Merge pull request 'Update mauriceboe/trek Docker tag to v3.2.0' (#745) from renovate/mauriceboe-trek-3.x into master
Reviewed-on: #745
2026-07-05 09:23:09 +00:00
renovate 6e944e191e Update mauriceboe/trek Docker tag to v3.2.0 2026-07-05 03:36:03 +00:00
7 changed files with 217 additions and 6 deletions
+25
View File
@@ -0,0 +1,25 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: airtrail
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: cluster.fun
destination:
namespace: airtrail
name: cluster-fun (v2)
source:
path: manifests/airtrail
repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git"
targetRevision: HEAD
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
ignoreDifferences:
- kind: Secret
jsonPointers:
- /data
+145
View File
@@ -0,0 +1,145 @@
apiVersion: v1
kind: Secret
metadata:
name: airtrail
namespace: airtrail
labels:
app: airtrail
app.kubernetes.io/name: airtrail
annotations:
kube-1password: 2322tcm3p5v6ql7oy2efrn4jse
kube-1password/vault: Kubernetes
kube-1password/secret-text-parse: "true"
type: Opaque
---
apiVersion: v1
kind: ConfigMap
metadata:
name: airtrail
namespace: airtrail
labels:
app: airtrail
app.kubernetes.io/name: airtrail
annotations:
reloader.stakater.com/match: "true"
data:
ORIGIN: https://airtrail.cluster.fun
UPLOAD_LOCATION: /app/uploads
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: airtrail
namespace: airtrail
labels:
app: airtrail
app.kubernetes.io/name: airtrail
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: airtrail
template:
metadata:
labels:
app: airtrail
app.kubernetes.io/name: airtrail
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
containers:
- name: airtrail
image: johly/airtrail:v3.11.1
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
name: airtrail
- secretRef:
name: airtrail
ports:
- containerPort: 3000
name: web
volumeMounts:
- mountPath: /app/uploads
name: uploads
livenessProbe:
httpGet:
path: /api/ping
port: 3000
initialDelaySeconds: 5
periodSeconds: 30
readinessProbe:
httpGet:
path: /api/ping
port: 3000
initialDelaySeconds: 5
periodSeconds: 10
resources:
requests:
cpu: 100m
memory: 150Mi
limits:
cpu: 200m
memory: 300Mi
volumes:
- name: uploads
persistentVolumeClaim:
claimName: airtrail-uploads
---
apiVersion: v1
kind: Service
metadata:
name: airtrail
namespace: airtrail
labels:
app: airtrail
app.kubernetes.io/name: airtrail
spec:
type: ClusterIP
ports:
- port: 80
targetPort: web
name: web
selector:
app: airtrail
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: airtrail
namespace: airtrail
labels:
app: airtrail
app.kubernetes.io/name: airtrail
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:
- airtrail.cluster.fun
secretName: airtrail-ingress
rules:
- host: airtrail.cluster.fun
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: airtrail
port:
name: web
+13
View File
@@ -0,0 +1,13 @@
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: airtrail-uploads
namespace: airtrail
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: sbs-default-retain
---
@@ -100,3 +100,20 @@ spec:
app: internal-proxy app: internal-proxy
type: ClusterIP type: ClusterIP
--- ---
apiVersion: v1
kind: Service
metadata:
name: ollama
namespace: auth-proxy
labels:
app: internal-proxy
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: internal-proxy
type: ClusterIP
---
+3 -1
View File
@@ -15,7 +15,9 @@ data:
"loki-distributed.auth-proxy.svc": "loki-loki.cluster.local", "loki-distributed.auth-proxy.svc": "loki-loki.cluster.local",
"loki-distributed.auth-proxy.svc:80": "loki-loki.cluster.local", "loki-distributed.auth-proxy.svc:80": "loki-loki.cluster.local",
"hermes.auth-proxy.svc": "hermes.cluster.local", "hermes.auth-proxy.svc": "hermes.cluster.local",
"hermes.auth-proxy.svc:80": "hermes.cluster.local" "hermes.auth-proxy.svc:80": "hermes.cluster.local",
"ollama.auth-proxy.svc": "ollama.cluster.local",
"ollama.auth-proxy.svc:11434": "ollama.cluster.local"
} }
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
+9
View File
@@ -27,6 +27,15 @@ spec:
labels: labels:
app: blog app: blog
spec: spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app: blog
topologyKey: kubernetes.io/hostname
containers: containers:
- name: web - name: web
image: rg.fr-par.scw.cloud/averagemarcus/blog:latest image: rg.fr-par.scw.cloud/averagemarcus/blog:latest
+5 -5
View File
@@ -58,7 +58,7 @@ spec:
spec: spec:
containers: containers:
- name: trek - name: trek
image: mauriceboe/trek:3.1.4 image: mauriceboe/trek:3.2.0
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
envFrom: envFrom:
- configMapRef: - configMapRef:
@@ -87,11 +87,11 @@ spec:
periodSeconds: 10 periodSeconds: 10
resources: resources:
requests: requests:
cpu: 100m cpu: 300m
memory: 256Mi memory: 400Mi
limits: limits:
cpu: 500m cpu: 700m
memory: 512Mi memory: 800Mi
volumes: volumes:
- name: data - name: data
persistentVolumeClaim: persistentVolumeClaim: