Compare commits

..

17 commits

Author SHA1 Message Date
Renovate bot
beb22c8bc6 Update Helm release external-dns to v8 2025-03-11 00:01:26 +00:00
ed320ab060 move back for now
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-08 21:13:23 +00:00
6162a7ef85 Welcome to my block list
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-08 09:38:01 +00:00
700194f3bb nginx specific regex, because of course
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-08 09:26:12 +00:00
162fb3f013 Alexa, die in a fire.
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-08 09:14:42 +00:00
dbf06a7347 Alexa, die in a fire.
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-08 09:11:44 +00:00
86ce1aa807 Alexa, die in a fire.
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-08 08:59:02 +00:00
6dab365801 New container, new path. irritating. Oh well, cleanup too.
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-07 13:07:48 +00:00
1610d11112 If you won't play nice, don't play.
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 18:32:11 +00:00
d4e4e4354d YAML was a mistake
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 18:29:40 +00:00
d52f8c147b not a list huh
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 18:28:35 +00:00
6019477cda nginx ftw
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 18:26:36 +00:00
41ae6765f4 Add nginx hosting my smb bucket
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 18:24:35 +00:00
9605f2baeb Move out of the way please
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 18:24:09 +00:00
261c7ccd4d OOps copypasta
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 17:55:40 +00:00
838c4acc41 Allow mounting the s3 storage via smb
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 17:50:16 +00:00
4c6a97e52a Prep for having yet another s3
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
2025-03-06 17:05:12 +00:00
13 changed files with 123 additions and 101 deletions

View file

@ -4,7 +4,7 @@ kind: Kustomization
helmCharts:
- name: external-dns
repo: https://charts.bitnami.com/bitnami
version: 8.7.6
version: 8.7.7
releaseName: external-dns
namespace: external-dns
valuesInline:

View file

@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
external-dns.alpha.kubernetes.io/target: armnleg.martyn.berlin
nginx.ingress.kubernetes.io/proxy-body-size: 700m
name: web-s3
spec:
ingressClassName: nginx
rules:
- host: files.martyn.berlin
http:
paths:
- backend:
service:
name: s3-nginx
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- files.martyn.berlin

View file

@ -0,0 +1,27 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: s3-nginx
name: s3-nginx
spec:
replicas: 1
selector:
matchLabels:
app: s3-nginx
template:
metadata:
creationTimestamp: null
labels:
app: s3-nginx
spec:
containers:
- image: nginx:1.27.4
name: nginx
volumeMounts:
- mountPath: /usr/share/nginx/html
name: s3
volumes:
- name: s3
persistentVolumeClaim:
claimName: smb-s3

View file

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: smb-s3
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: smb-s3

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: s3-nginx
name: s3-nginx
spec:
internalTrafficPolicy: Cluster
ports:
- port: 80
selector:
app: s3-nginx

View file

@ -66,7 +66,7 @@ spec:
dnsPolicy: ClusterFirst
nodeSelector:
intel.feature.node.kubernetes.io/gpu: "true"
kubernetes.io/hostname: talos-llu-kx3
kubernetes.io/hostname: talos-e48-wv7
terminationGracePeriodSeconds: 30
volumes:
- name: jellyfin-config

View file

@ -12,18 +12,6 @@ spec:
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: smb-oldmusic
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: smb-oldmusic
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: logitech-media-server-config
spec:

View file

@ -61,27 +61,14 @@ spec:
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /srv/squeezebox
name: config
- mountPath: /smbmusic
name: smbmusic
- mountPath: /smboldmusic
name: smboldmusic
dnsPolicy: ClusterFirst
initContainers:
- command:
- sh
- -c
- mkdir /smbmusic; mkdir -pv /config/playlists /config/config; chown -Rc 1000:1000
/config
image: doliana/logitech-media-server:2023_04_15-8.3.1
imagePullPolicy: IfNotPresent
name: init-config
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /config
name: config
- mountPath: /music
name: smbmusic
- mountPath: /playlist
name: config
subPath: playlist
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
terminationGracePeriodSeconds: 30
@ -92,9 +79,6 @@ spec:
- name: smbmusic
persistentVolumeClaim:
claimName: smb-music
- name: smboldmusic
persistentVolumeClaim:
claimName: smb-oldmusic
updateStrategy:
rollingUpdate:
partition: 0

View file

@ -0,0 +1,17 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: smb-s3
provisioner: smb.csi.k8s.io
parameters:
source: "//172.20.0.69/s3"
csi.storage.k8s.io/node-stage-secret-name: smb-creds
csi.storage.k8s.io/node-stage-secret-namespace: kube-system
reclaimPolicy: Retain
volumeBindingMode: Immediate
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=1001
- gid=1001
- noperm

View file

@ -37,6 +37,11 @@ spec:
more_set_headers -a "X-Robots-Tag: anthropic-ai: none";
more_set_headers -a "X-Robots-Tag: CCBot: none";
more_set_headers -a "X-Robots-Tag: semrushbot: none";
more_set_headers -a "X-Robots-Tag: Amazonbot: none";
more_set_headers -a "X-Robots-Tag: dotbot: none";
more_set_headers -a "X-Robots-Tag: AhrefsBot: none";
- name: controller.config.block-user-agents
value: "~*Amazonbot,~*SemrushBot,~*DotBot,~*Ahrefsbot,~*GPT"
syncPolicy:
automated:
selfHeal: true

View file

@ -0,0 +1,17 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: files-web
namespace: argocd
spec:
destination:
namespace: files-web
server: https://kubernetes.default.svc
project: apps
source:
path: apps-kustomized/files-web
repoURL: https://git.martyn.berlin/martyn/infra4talos
targetRevision: HEAD
syncPolicy:
automated:
selfHeal: true

View file

@ -1,65 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: garage
namespace: argocd
spec:
destination:
namespace: garage
server: https://kubernetes.default.svc
project: infra
source:
helm:
valuesObject:
service:
type: LoadBalancer
persistence:
enabled: "true"
meta:
storageClass: longhorn-fast
data:
storageClass: longhorn-spinny
size: "1Gi"
deployment:
replicaCount: "1"
garage:
replicationMode: "1"
s3:
api:
rootDomain: ".s3.files.martyn.berlin"
web:
rootDomain: ".martyn.berlin"
ingress:
s3:
api:
className: "nginx"
enabled: "true"
annotations:
external-dns.alpha.kubernetes.io/target: armnleg.martyn.berlin
cert-manager.io/cluster-issuer: letsencrypt
nginx.ingress.kubernetes.io/proxy-body-size: "700m"
tls:
- hosts:
- "s3.files.martyn.berlin"
hosts:
- host: s3.files.martyn.berlin
paths:
- path: /
pathType: Prefix
web:
className: "nginx"
enabled: "true"
annotations:
external-dns.alpha.kubernetes.io/target: armnleg.martyn.berlin
cert-manager.io/cluster-issuer: letsencrypt
tls:
- hosts:
- "files.martyn.berlin"
hosts:
- host: files.martyn.berlin
paths:
- path: /
pathType: Prefix
path: script/helm/garage
repoURL: https://git.deuxfleurs.fr/Deuxfleurs/garage
targetRevision: HEAD

View file

@ -44,6 +44,9 @@ spec:
- name: scans
size: 1Gi
storageClass: longhorn-fast
- name: s3
size: 20Gi
storageClass: longhorn-fast
path: apps-helm/samba4
repoURL: https://git.martyn.berlin/martyn/infra4talos.git
targetRevision: HEAD