Compare commits
1 commit
beb22c8bc6
...
e552cc2205
Author | SHA1 | Date | |
---|---|---|---|
|
e552cc2205 |
13 changed files with 101 additions and 123 deletions
apps-kustomized
external-dns
files-web
jellyfin
lms
smb-storageclasses
everything-app
|
@ -4,7 +4,7 @@ kind: Kustomization
|
||||||
helmCharts:
|
helmCharts:
|
||||||
- name: external-dns
|
- name: external-dns
|
||||||
repo: https://charts.bitnami.com/bitnami
|
repo: https://charts.bitnami.com/bitnami
|
||||||
version: 8.7.7
|
version: 8.7.6
|
||||||
releaseName: external-dns
|
releaseName: external-dns
|
||||||
namespace: external-dns
|
namespace: external-dns
|
||||||
valuesInline:
|
valuesInline:
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
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
|
|
|
@ -1,27 +0,0 @@
|
||||||
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
|
|
|
@ -1,11 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: smb-s3
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
storageClassName: smb-s3
|
|
|
@ -1,12 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: s3-nginx
|
|
||||||
name: s3-nginx
|
|
||||||
spec:
|
|
||||||
internalTrafficPolicy: Cluster
|
|
||||||
ports:
|
|
||||||
- port: 80
|
|
||||||
selector:
|
|
||||||
app: s3-nginx
|
|
|
@ -66,7 +66,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
intel.feature.node.kubernetes.io/gpu: "true"
|
intel.feature.node.kubernetes.io/gpu: "true"
|
||||||
kubernetes.io/hostname: talos-e48-wv7
|
kubernetes.io/hostname: talos-llu-kx3
|
||||||
terminationGracePeriodSeconds: 30
|
terminationGracePeriodSeconds: 30
|
||||||
volumes:
|
volumes:
|
||||||
- name: jellyfin-config
|
- name: jellyfin-config
|
||||||
|
|
|
@ -12,6 +12,18 @@ spec:
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: smb-oldmusic
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
storageClassName: smb-oldmusic
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: logitech-media-server-config
|
name: logitech-media-server-config
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -61,14 +61,27 @@ spec:
|
||||||
terminationMessagePath: /dev/termination-log
|
terminationMessagePath: /dev/termination-log
|
||||||
terminationMessagePolicy: File
|
terminationMessagePolicy: File
|
||||||
volumeMounts:
|
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
|
- mountPath: /config
|
||||||
name: config
|
name: config
|
||||||
- mountPath: /music
|
|
||||||
name: smbmusic
|
|
||||||
- mountPath: /playlist
|
|
||||||
name: config
|
|
||||||
subPath: playlist
|
|
||||||
dnsPolicy: ClusterFirst
|
|
||||||
restartPolicy: Always
|
restartPolicy: Always
|
||||||
schedulerName: default-scheduler
|
schedulerName: default-scheduler
|
||||||
terminationGracePeriodSeconds: 30
|
terminationGracePeriodSeconds: 30
|
||||||
|
@ -79,6 +92,9 @@ spec:
|
||||||
- name: smbmusic
|
- name: smbmusic
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: smb-music
|
claimName: smb-music
|
||||||
|
- name: smboldmusic
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: smb-oldmusic
|
||||||
updateStrategy:
|
updateStrategy:
|
||||||
rollingUpdate:
|
rollingUpdate:
|
||||||
partition: 0
|
partition: 0
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
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
|
|
|
@ -37,11 +37,6 @@ spec:
|
||||||
more_set_headers -a "X-Robots-Tag: anthropic-ai: none";
|
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: CCBot: none";
|
||||||
more_set_headers -a "X-Robots-Tag: semrushbot: 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:
|
syncPolicy:
|
||||||
automated:
|
automated:
|
||||||
selfHeal: true
|
selfHeal: true
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
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
|
|
65
everything-app/garage.yaml
Normal file
65
everything-app/garage.yaml
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
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
|
|
@ -44,9 +44,6 @@ spec:
|
||||||
- name: scans
|
- name: scans
|
||||||
size: 1Gi
|
size: 1Gi
|
||||||
storageClass: longhorn-fast
|
storageClass: longhorn-fast
|
||||||
- name: s3
|
|
||||||
size: 20Gi
|
|
||||||
storageClass: longhorn-fast
|
|
||||||
path: apps-helm/samba4
|
path: apps-helm/samba4
|
||||||
repoURL: https://git.martyn.berlin/martyn/infra4talos.git
|
repoURL: https://git.martyn.berlin/martyn/infra4talos.git
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
|
|
Loading…
Add table
Reference in a new issue