Compare commits
102 commits
8e5c1eb574
...
1b3e57814a
Author | SHA1 | Date | |
---|---|---|---|
|
1b3e57814a | ||
a82d5b8d23 | |||
c7d82f4502 | |||
a5221d8389 | |||
f9e1f2fef8 | |||
832299c24a | |||
ced8b183d3 | |||
8c9baf2e97 | |||
|
c1990ed111 | ||
|
012a592fc5 | ||
|
71da7530d7 | ||
ac77a59260 | |||
dfaf780995 | |||
7197ab2ae9 | |||
03d60de00c | |||
896c5cda02 | |||
90ca469ba4 | |||
3fc6869c51 | |||
1d56b4636c | |||
4831ec4212 | |||
cb118ff57a | |||
ffa75201df | |||
2ed9b42b5d | |||
1bf3f22d61 | |||
eeab597186 | |||
6486a1148b | |||
8e16be8a29 | |||
5a9c412272 | |||
5aa80a4159 | |||
392f2491cd | |||
832acba609 | |||
e34aa444e5 | |||
5cfb35e557 | |||
7252c5d113 | |||
|
beb22c8bc6 | ||
ed320ab060 | |||
6162a7ef85 | |||
700194f3bb | |||
162fb3f013 | |||
dbf06a7347 | |||
86ce1aa807 | |||
6dab365801 | |||
1610d11112 | |||
d4e4e4354d | |||
d52f8c147b | |||
6019477cda | |||
41ae6765f4 | |||
9605f2baeb | |||
261c7ccd4d | |||
838c4acc41 | |||
4c6a97e52a | |||
|
4efb41b584 | ||
|
c95ee67191 | ||
dd6202a26f | |||
a70b28c905 | |||
2b39418104 | |||
83b0b4be59 | |||
13a005f6b5 | |||
440682a8ff | |||
7a57c678c2 | |||
020d13ada2 | |||
f709eec878 | |||
3c3107b021 | |||
9cd9b6fdfe | |||
c91aa4c42b | |||
a885f275a6 | |||
a7597c2b52 | |||
187db433de | |||
8893c46d72 | |||
7f6b2e43f4 | |||
6e45ada258 | |||
eb0b528423 | |||
6c29998db6 | |||
a1c4693c7c | |||
1152916cc3 | |||
6369b00e24 | |||
9d0b2425a9 | |||
fae5c02ba6 | |||
29e535cb29 | |||
dab777f748 | |||
1508b9a2db | |||
|
c98cdcee70 | ||
82aea15631 | |||
a1f49f6370 | |||
8caba49f9f | |||
320f75ddc1 | |||
6eca7e00e0 | |||
52120be95f | |||
|
8987b8d2a0 | ||
|
df4641125e | ||
|
7504c4dbb7 | ||
|
e5ac982346 | ||
|
75d0c94c40 | ||
|
88f6961dc1 | ||
6a919ad4c2 | |||
053f6b6b40 | |||
ea7b456d9f | |||
|
7ffb96959a | ||
73d06a7338 | |||
|
d38a784ad8 | ||
fe47d6faa2 | |||
|
65f6d756e4 |
55 changed files with 385 additions and 549 deletions
|
@ -6,7 +6,7 @@ replicaCount: 1
|
|||
|
||||
image:
|
||||
repository: codercom/code-server
|
||||
tag: '4.93.1'
|
||||
tag: '4.97.2'
|
||||
pullPolicy: Always
|
||||
|
||||
secret:
|
||||
|
|
|
@ -46,7 +46,7 @@ spec:
|
|||
value: "8080"
|
||||
- name: OP_LOG_LEVEL
|
||||
value: info
|
||||
image: 1password/connect-api:1.7.2
|
||||
image: 1password/connect-api:1.7.3
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
|
@ -92,7 +92,7 @@ spec:
|
|||
value: localhost:11220
|
||||
- name: OP_LOG_LEVEL
|
||||
value: info
|
||||
image: 1password/connect-sync:1.7.2
|
||||
image: 1password/connect-sync:1.7.3
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
|
|
|
@ -24,3 +24,11 @@ patches:
|
|||
version: v1
|
||||
kind: ConfigMap
|
||||
name: argocd-cm
|
||||
|
||||
- patch: |-
|
||||
- op: add
|
||||
path: /spec/template/spec/containers/0/args/-
|
||||
value: --insecure=true
|
||||
target:
|
||||
kind: Deployment
|
||||
name: argocd-server
|
||||
|
|
|
@ -33,8 +33,6 @@ spec:
|
|||
mountPath: /config
|
||||
- name: series
|
||||
mountPath: /series
|
||||
- name: oldseries
|
||||
mountPath: /oldseries
|
||||
- name: films
|
||||
mountPath: /films
|
||||
volumes:
|
||||
|
@ -44,9 +42,6 @@ spec:
|
|||
- name: series
|
||||
persistentVolumeClaim:
|
||||
claimName: smb-series
|
||||
- name: oldseries
|
||||
persistentVolumeClaim:
|
||||
claimName: smb-oldseries
|
||||
- name: films
|
||||
persistentVolumeClaim:
|
||||
claimName: smb-films
|
||||
|
|
|
@ -12,18 +12,6 @@ spec:
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: smb-oldseries
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: smb-oldseries
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: smb-films
|
||||
spec:
|
||||
|
@ -32,4 +20,4 @@ spec:
|
|||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: smb-films
|
||||
storageClassName: smb-films
|
||||
|
|
|
@ -17,7 +17,7 @@ spec:
|
|||
- env:
|
||||
- name: ESPHOME_DASHBOARD_USE_PING
|
||||
value: "true"
|
||||
image: esphome/esphome:2022.12.3
|
||||
image: esphome/esphome:2022.12.8
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
|
|
12
apps-kustomized/external-dns/deploy.yaml
Normal file
12
apps-kustomized/external-dns/deploy.yaml
Normal file
|
@ -0,0 +1,12 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: external-dns
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: external-dns
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: dnsimple-auth
|
|
@ -3,12 +3,16 @@ kind: Kustomization
|
|||
|
||||
helmCharts:
|
||||
- name: external-dns
|
||||
repo: https://charts.bitnami.com/bitnami
|
||||
version: 6.28.4
|
||||
repo: https://kubernetes-sigs.github.io/external-dns
|
||||
version: 1.15.2
|
||||
releaseName: external-dns
|
||||
namespace: external-dns
|
||||
valuesInline:
|
||||
provider: dnsimple
|
||||
provider:
|
||||
name: dnsimple
|
||||
txtPrefix: armnleg
|
||||
sources: [service,ingress]
|
||||
extraEnvVarsSecret: dnsimple-auth
|
||||
patches:
|
||||
- path: deploy.yaml
|
||||
target:
|
||||
kind: Deployment
|
||||
name: external-dns
|
||||
|
|
23
apps-kustomized/files-web/ing.yaml
Normal file
23
apps-kustomized/files-web/ing.yaml
Normal 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
|
27
apps-kustomized/files-web/nginx.yaml
Normal file
27
apps-kustomized/files-web/nginx.yaml
Normal 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
|
11
apps-kustomized/files-web/pvc.yaml
Normal file
11
apps-kustomized/files-web/pvc.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: smb-s3
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: smb-s3
|
12
apps-kustomized/files-web/svc.yaml
Normal file
12
apps-kustomized/files-web/svc.yaml
Normal 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
|
|
@ -19,7 +19,7 @@ spec:
|
|||
app: forgejo
|
||||
spec:
|
||||
containers:
|
||||
- image: codeberg.org/forgejo/forgejo:1.21
|
||||
- image: codeberg.org/forgejo/forgejo:10.0.1
|
||||
env:
|
||||
- name: FORGEJO__database__DB_TYPE
|
||||
value: postgres
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -32,7 +32,7 @@ spec:
|
|||
automountServiceAccountToken: false
|
||||
containers:
|
||||
- env: []
|
||||
image: grafana/grafana:9.5.3
|
||||
image: grafana/grafana:9.5.21
|
||||
name: grafana
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
|
|
|
@ -18,7 +18,7 @@ spec:
|
|||
app: lidarr
|
||||
spec:
|
||||
containers:
|
||||
- image: hotio/lidarr:release
|
||||
- image: hotio/lidarr:release-2.9.6.4552
|
||||
name: lidarr
|
||||
resources:
|
||||
requests:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -19,7 +19,7 @@ spec:
|
|||
app.kubernetes.io/name: logitech-media-server
|
||||
spec:
|
||||
containers:
|
||||
- image: doliana/logitech-media-server:2021_11_06-8.2.0
|
||||
- image: lmscommunity/lyrionmusicserver:9.1.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 10
|
||||
|
@ -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
|
||||
|
|
|
@ -21,7 +21,7 @@ spec:
|
|||
app.kubernetes.io/name: mosquitto
|
||||
spec:
|
||||
containers:
|
||||
- image: eclipse-mosquitto:1.6.12
|
||||
- image: eclipse-mosquitto:1.6.15
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
|
|
|
@ -10,7 +10,7 @@ helmCharts:
|
|||
includeCRDs: true
|
||||
namespace: node-feature-discovery
|
||||
releaseName: node-feature-discovery
|
||||
version: 0.16.6
|
||||
version: 0.17.2
|
||||
repo: https://kubernetes-sigs.github.io/node-feature-discovery/charts
|
||||
valuesInLine:
|
||||
master:
|
||||
|
|
|
@ -10,7 +10,7 @@ helmCharts:
|
|||
includeCRDs: true
|
||||
namespace: nvidia-device-plugin
|
||||
releaseName: nvidia-device-plugin
|
||||
version: 0.17.0
|
||||
version: 0.17.1
|
||||
repo: https://nvidia.github.io/k8s-device-plugin
|
||||
valuesInline:
|
||||
nodeSelector: "feature.node.kubernetes.io/pci-0300_10de_13c0_1569_13c0.present=true"
|
||||
|
|
62
apps-kustomized/paperless-ngx/kustomization.yaml
Normal file
62
apps-kustomized/paperless-ngx/kustomization.yaml
Normal file
|
@ -0,0 +1,62 @@
|
|||
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
helmCharts:
|
||||
- name: paperless-ngx
|
||||
repo: https://charts.gabe565.com
|
||||
version: 0.24.1
|
||||
releaseName: paperless-ngx
|
||||
namespace: paperless-ngx
|
||||
valuesInline:
|
||||
persistence:
|
||||
data:
|
||||
enabled: "true"
|
||||
size: "1Gi"
|
||||
accessMode: ReadWriteOnce
|
||||
storageClass: "longhorn-fast"
|
||||
media:
|
||||
enabled: "true"
|
||||
size: "8Gi"
|
||||
accessMode: ReadWriteOnce
|
||||
storageClass: "longhorn-fast"
|
||||
export:
|
||||
enabled: "true"
|
||||
size: "1Gi"
|
||||
accessMode: ReadWriteOnce
|
||||
storageClass: "longhorn-fast"
|
||||
consume:
|
||||
enabled: "true"
|
||||
size: "1Gi"
|
||||
accessMode: ReadWriteOnce
|
||||
storageClass: "smb-scans"
|
||||
service:
|
||||
main:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: "paperless.martyn.berlin"
|
||||
ports:
|
||||
http:
|
||||
port: 8080
|
||||
postgresql:
|
||||
enabled: "true"
|
||||
primary:
|
||||
persistence:
|
||||
enabled: "true"
|
||||
storageClass: "longhorn-fast"
|
||||
env:
|
||||
TZ: "Europe/Berlin"
|
||||
resources:
|
||||
requests:
|
||||
cpu: "25m"
|
||||
memory: "511772986"
|
||||
|
||||
|
||||
patches:
|
||||
- target:
|
||||
kind: Service
|
||||
name: paperless-ngx
|
||||
patch: |-
|
||||
- op: replace
|
||||
path: /spec/ports
|
||||
value: [{"name":"http","port":80,"targetPort":"http","protocol":"TCP"}]
|
|
@ -16,7 +16,7 @@ spec:
|
|||
app: prowlarr
|
||||
spec:
|
||||
containers:
|
||||
- image: hotio/prowlarr:release-1.26.1.4844
|
||||
- image: hotio/prowlarr:release-1.31.2.4975
|
||||
imagePullPolicy: Always
|
||||
name: prowlarr
|
||||
ports:
|
||||
|
|
|
@ -18,7 +18,7 @@ spec:
|
|||
app: radarr
|
||||
spec:
|
||||
containers:
|
||||
- image: hotio/radarr:release-5.18.4.9674
|
||||
- image: hotio/radarr:release-5.19.3.9730
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: radarr
|
||||
ports:
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
apiVersion: ceph.rook.io/v1
|
||||
kind: CephBlockPool
|
||||
metadata:
|
||||
name: replicapool-ssd
|
||||
namespace: rook-ceph
|
||||
spec:
|
||||
failureDomain: host
|
||||
replicated:
|
||||
size: 2
|
|
@ -1,47 +0,0 @@
|
|||
apiVersion: ceph.rook.io/v1
|
||||
kind: CephCluster
|
||||
metadata:
|
||||
name: ssd-cluster
|
||||
namespace: rook-ceph # namespace:cluster
|
||||
spec:
|
||||
dataDirHostPath: /var/lib/rook-cluster-ssd
|
||||
cephVersion:
|
||||
image: quay.io/ceph/ceph:v18
|
||||
allowUnsupported: true
|
||||
mon:
|
||||
count: 1
|
||||
allowMultiplePerNode: true
|
||||
mgr:
|
||||
count: 1
|
||||
allowMultiplePerNode: true
|
||||
dashboard:
|
||||
enabled: true
|
||||
crashCollector:
|
||||
disable: true
|
||||
storage:
|
||||
useAllNodes: false
|
||||
useAllDevices: false
|
||||
#deviceFilter:
|
||||
nodes:
|
||||
- name: "talos-7oq-vur"
|
||||
devices:
|
||||
- name: "sda"
|
||||
config:
|
||||
osdsPerDevice: "1"
|
||||
- name: "talos-iqd-ysy"
|
||||
devices:
|
||||
- name: "sda"
|
||||
config:
|
||||
osdsPerDevice: "1"
|
||||
monitoring:
|
||||
enabled: false
|
||||
healthCheck:
|
||||
daemonHealth:
|
||||
mon:
|
||||
interval: 45s
|
||||
timeout: 600s
|
||||
priorityClassNames:
|
||||
all: system-node-critical
|
||||
mgr: system-cluster-critical
|
||||
disruptionManagement:
|
||||
managePodBudgets: true
|
|
@ -1,13 +0,0 @@
|
|||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: rook-config-override
|
||||
namespace: rook-ceph # namespace:cluster
|
||||
data:
|
||||
config: |
|
||||
[global]
|
||||
osd_pool_default_size = 1
|
||||
mon_warn_on_pool_no_redundancy = false
|
||||
bdev_flock_retry = 20
|
||||
bluefs_buffered_io = false
|
||||
mon_data_avail_warn = 10
|
|
@ -1,130 +0,0 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: rook-ceph-tools
|
||||
namespace: rook-ceph # namespace:cluster
|
||||
labels:
|
||||
app: rook-ceph-tools
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: rook-ceph-tools
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: rook-ceph-tools
|
||||
spec:
|
||||
dnsPolicy: ClusterFirstWithHostNet
|
||||
containers:
|
||||
- name: rook-ceph-tools
|
||||
image: quay.io/ceph/ceph:v17.2.6
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
- |
|
||||
# Replicate the script from toolbox.sh inline so the ceph image
|
||||
# can be run directly, instead of requiring the rook toolbox
|
||||
CEPH_CONFIG="/etc/ceph/ceph.conf"
|
||||
MON_CONFIG="/etc/rook/mon-endpoints"
|
||||
KEYRING_FILE="/etc/ceph/keyring"
|
||||
|
||||
# create a ceph config file in its default location so ceph/rados tools can be used
|
||||
# without specifying any arguments
|
||||
write_endpoints() {
|
||||
endpoints=$(cat ${MON_CONFIG})
|
||||
|
||||
# filter out the mon names
|
||||
# external cluster can have numbers or hyphens in mon names, handling them in regex
|
||||
# shellcheck disable=SC2001
|
||||
mon_endpoints=$(echo "${endpoints}"| sed 's/[a-z0-9_-]\+=//g')
|
||||
|
||||
DATE=$(date)
|
||||
echo "$DATE writing mon endpoints to ${CEPH_CONFIG}: ${endpoints}"
|
||||
cat <<EOF > ${CEPH_CONFIG}
|
||||
[global]
|
||||
mon_host = ${mon_endpoints}
|
||||
|
||||
[client.admin]
|
||||
keyring = ${KEYRING_FILE}
|
||||
EOF
|
||||
}
|
||||
|
||||
# watch the endpoints config file and update if the mon endpoints ever change
|
||||
watch_endpoints() {
|
||||
# get the timestamp for the target of the soft link
|
||||
real_path=$(realpath ${MON_CONFIG})
|
||||
initial_time=$(stat -c %Z "${real_path}")
|
||||
while true; do
|
||||
real_path=$(realpath ${MON_CONFIG})
|
||||
latest_time=$(stat -c %Z "${real_path}")
|
||||
|
||||
if [[ "${latest_time}" != "${initial_time}" ]]; then
|
||||
write_endpoints
|
||||
initial_time=${latest_time}
|
||||
fi
|
||||
|
||||
sleep 10
|
||||
done
|
||||
}
|
||||
|
||||
# read the secret from an env var (for backward compatibility), or from the secret file
|
||||
ceph_secret=${ROOK_CEPH_SECRET}
|
||||
if [[ "$ceph_secret" == "" ]]; then
|
||||
ceph_secret=$(cat /var/lib/rook-ceph-mon/secret.keyring)
|
||||
fi
|
||||
|
||||
# create the keyring file
|
||||
cat <<EOF > ${KEYRING_FILE}
|
||||
[${ROOK_CEPH_USERNAME}]
|
||||
key = ${ceph_secret}
|
||||
EOF
|
||||
|
||||
# write the initial config file
|
||||
write_endpoints
|
||||
|
||||
# continuously update the mon endpoints if they fail over
|
||||
watch_endpoints
|
||||
imagePullPolicy: IfNotPresent
|
||||
tty: true
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 2016
|
||||
runAsGroup: 2016
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
env:
|
||||
- name: ROOK_CEPH_USERNAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: rook-ceph-mon
|
||||
key: ceph-username
|
||||
volumeMounts:
|
||||
- mountPath: /etc/ceph
|
||||
name: ceph-config
|
||||
- name: mon-endpoint-volume
|
||||
mountPath: /etc/rook
|
||||
- name: ceph-admin-secret
|
||||
mountPath: /var/lib/rook-ceph-mon
|
||||
readOnly: true
|
||||
volumes:
|
||||
- name: ceph-admin-secret
|
||||
secret:
|
||||
secretName: rook-ceph-mon
|
||||
optional: false
|
||||
items:
|
||||
- key: ceph-secret
|
||||
path: secret.keyring
|
||||
- name: mon-endpoint-volume
|
||||
configMap:
|
||||
name: rook-ceph-mon-endpoints
|
||||
items:
|
||||
- key: data
|
||||
path: mon-endpoints
|
||||
- name: ceph-config
|
||||
emptyDir: {}
|
||||
tolerations:
|
||||
- key: "node.kubernetes.io/unreachable"
|
||||
operator: "Exists"
|
||||
effect: "NoExecute"
|
||||
tolerationSeconds: 5
|
|
@ -1,17 +0,0 @@
|
|||
apiVersion: ceph.rook.io/v1
|
||||
kind: CephFilesystem
|
||||
metadata:
|
||||
name: ssdfs
|
||||
namespace: rook-ceph
|
||||
spec:
|
||||
metadataPool:
|
||||
replicated:
|
||||
size: 1
|
||||
dataPools:
|
||||
- name: replicated
|
||||
replicated:
|
||||
size: 1
|
||||
preserveFilesystemOnDelete: true
|
||||
metadataServer:
|
||||
activeCount: 1
|
||||
activeStandby: true
|
|
@ -1,24 +0,0 @@
|
|||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: rook-cephfs-ssd
|
||||
# Change "rook-ceph" provisioner prefix to match the operator namespace if needed
|
||||
provisioner: rook-ceph.cephfs.csi.ceph.com
|
||||
parameters:
|
||||
# clusterID is the namespace where the rook cluster is running
|
||||
clusterID: rook-ceph
|
||||
fsName: ssdfs
|
||||
|
||||
# Ceph pool into which the image shall be created
|
||||
pool: ssdfs-replicated
|
||||
|
||||
# The secrets contain Ceph admin credentials.
|
||||
csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
|
||||
csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph
|
||||
csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
|
||||
csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph
|
||||
csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
|
||||
csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph
|
||||
|
||||
# Delete the rbd volume when a PVC is deleted
|
||||
reclaimPolicy: Delete
|
|
@ -1,32 +0,0 @@
|
|||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: rook-ceph-block-ssd
|
||||
annotations:
|
||||
storageclass.kubernetes.io/is-default-class: true
|
||||
# Change "rook-ceph" provisioner prefix to match the operator namespace if needed
|
||||
provisioner: rook-ceph.rbd.csi.ceph.com
|
||||
parameters:
|
||||
# clusterID is the namespace where the rook cluster is running
|
||||
clusterID: rook-ceph
|
||||
# Ceph pool into which the RBD image shall be created
|
||||
pool: replicapool-ssd
|
||||
|
||||
# RBD image format. Defaults to "2".
|
||||
imageFormat: "2"
|
||||
|
||||
# RBD image features. Available for imageFormat: "2". CSI RBD currently supports only `layering` feature.
|
||||
imageFeatures: layering
|
||||
|
||||
# The secrets contain Ceph admin credentials.
|
||||
csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
|
||||
csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph
|
||||
csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
|
||||
csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph
|
||||
|
||||
# Specify the filesystem type of the volume. If not specified, csi-provisioner
|
||||
# will set default as `ext4`.
|
||||
csi.storage.k8s.io/fstype: xfs
|
||||
|
||||
# Delete the rbd volume when a PVC is deleted
|
||||
reclaimPolicy: Delete
|
|
@ -38,7 +38,7 @@ metadata:
|
|||
annotations:
|
||||
configmap.reloader.stakater.com/reload: "ser2net"
|
||||
spec:
|
||||
replicas: 1
|
||||
replicas: 0
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
|
|
|
@ -4,7 +4,7 @@ metadata:
|
|||
name: smb-films
|
||||
provisioner: smb.csi.k8s.io
|
||||
parameters:
|
||||
source: "//172.20.0.125/films"
|
||||
source: "//172.20.0.70/films"
|
||||
csi.storage.k8s.io/node-stage-secret-name: smb-creds
|
||||
csi.storage.k8s.io/node-stage-secret-namespace: kube-system
|
||||
reclaimPolicy: Retain
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: smb-oldseries
|
||||
name: smb-s3
|
||||
provisioner: smb.csi.k8s.io
|
||||
parameters:
|
||||
source: "//hp40l/disk2/oldseries"
|
||||
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
|
|
@ -4,7 +4,7 @@ metadata:
|
|||
name: smb-series
|
||||
provisioner: smb.csi.k8s.io
|
||||
parameters:
|
||||
source: "//hp40l/disk2/series"
|
||||
source: "//172.20.0.70/series"
|
||||
csi.storage.k8s.io/node-stage-secret-name: smb-creds
|
||||
csi.storage.k8s.io/node-stage-secret-namespace: kube-system
|
||||
reclaimPolicy: Retain
|
||||
|
|
13
apps-kustomized/tailscale-proxy/configmap.yaml
Normal file
13
apps-kustomized/tailscale-proxy/configmap.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: tailscale-script
|
||||
data:
|
||||
script.sh: |
|
||||
tailscaled --socks5-server=localhost:1055 --outbound-http-proxy-listen=localhost:1055 --tun=userspace-networking &
|
||||
tailscale up --authkey=$TS_AUTHKEY --advertise-tags=tag:k8s --hostname k8s-tailscale-proxy &
|
||||
sleep 3
|
||||
echo "Waiting for $COUNTRY to do something"
|
||||
while ! tailscale exit-node list 2>/dev/null | grep $COUNTRY >/dev/null; do echo -n . ;sleep 5; done
|
||||
tailscale set --exit-node $(tailscale exit-node list | grep $COUNTRY | cut -f2 -d' ' | shuf | head -n1)
|
||||
while true; do sleep 1; done
|
100
apps-kustomized/tailscale-proxy/deploy.yaml
Normal file
100
apps-kustomized/tailscale-proxy/deploy.yaml
Normal file
|
@ -0,0 +1,100 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: tailscale-proxy
|
||||
name: tailscale-proxy
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: tailscale-proxy
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: tailscale-proxy
|
||||
spec:
|
||||
containers:
|
||||
- command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- 'sh /script/script.sh'
|
||||
env:
|
||||
- name: TS_KUBE_SECRET
|
||||
value: tailscale
|
||||
- name: COUNTRY
|
||||
value: Switzerland
|
||||
- name: TS_AUTHKEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
key: TS_AUTHKEY
|
||||
name: tailscale-auth
|
||||
image: ghcr.io/tailscale/tailscale:v1.80.3
|
||||
imagePullPolicy: IfNotPresent
|
||||
startupProbe:
|
||||
exec:
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- tailscale ip | grep ^100 > /dev/null
|
||||
periodSeconds: 30
|
||||
failureThreshold: 30
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- tailscale ip | grep ^100 > /dev/null
|
||||
periodSeconds: 30
|
||||
failureThreshold: 2
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- http_proxy=127.0.0.1:1055 wget -O- ifconfig.co/country 2>&1 | grep $COUNTRY > /dev/null
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 60
|
||||
failureThreshold: 3
|
||||
name: tailscale
|
||||
securityContext:
|
||||
privileged: true
|
||||
runAsGroup: 0
|
||||
runAsUser: 0
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
volumeMounts:
|
||||
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
|
||||
name: kube-api-access-t4rzn
|
||||
readOnly: true
|
||||
- mountPath: /script
|
||||
name: script
|
||||
serviceAccount: tailscale
|
||||
serviceAccountName: tailscale
|
||||
volumes:
|
||||
- name: script
|
||||
configMap:
|
||||
name: tailscale-script
|
||||
- name: kube-api-access-t4rzn
|
||||
projected:
|
||||
defaultMode: 420
|
||||
sources:
|
||||
- serviceAccountToken:
|
||||
expirationSeconds: 3607
|
||||
path: token
|
||||
- configMap:
|
||||
items:
|
||||
- key: ca.crt
|
||||
path: ca.crt
|
||||
name: kube-root-ca.crt
|
||||
- downwardAPI:
|
||||
items:
|
||||
- fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.namespace
|
||||
path: namespace
|
4
apps-kustomized/tailscale-proxy/sa.yaml
Normal file
4
apps-kustomized/tailscale-proxy/sa.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: tailscale
|
15
apps-kustomized/tailscale-proxy/svc.yaml
Normal file
15
apps-kustomized/tailscale-proxy/svc.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: tailscale-proxy
|
||||
app.kubernetes.io/instance: tailscale-proxy
|
||||
name: tailscale-proxy
|
||||
spec:
|
||||
ports:
|
||||
- port: 1055
|
||||
protocol: TCP
|
||||
targetPort: 1055
|
||||
selector:
|
||||
app: tailscale-proxy
|
||||
type: LoadBalancer
|
|
@ -14,6 +14,7 @@ spec:
|
|||
labels:
|
||||
app: qbittorrent
|
||||
spec:
|
||||
initContainers:
|
||||
containers:
|
||||
- image: qbittorrentofficial/qbittorrent-nox:latest
|
||||
name: qbittorrent
|
||||
|
@ -34,40 +35,6 @@ spec:
|
|||
value: "/config"
|
||||
- name: QBT_DOWNLOADS
|
||||
value: "/downloads"
|
||||
- env:
|
||||
- name: TS_KUBE_SECRET
|
||||
value: tailscale
|
||||
- name: TS_USERSPACE
|
||||
value: "false"
|
||||
- name: TS_OUTBOUND_HTTP_PROXY_LISTEN
|
||||
value: "localhost:1055"
|
||||
- name: TS_SOCKS5_SERVER
|
||||
value: "localhost:1055"
|
||||
- name: TS_EXTRA_ARGS
|
||||
value: "--exit-node=100.90.55.121"
|
||||
- name: TS_AUTHKEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
key: TS_AUTHKEY
|
||||
name: tailscale-auth
|
||||
optional: true
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- ping
|
||||
- -c1
|
||||
- 100.100.100.100
|
||||
initialDelaySeconds: 120
|
||||
periodSeconds: 5
|
||||
image: ghcr.io/tailscale/tailscale:latest
|
||||
name: ts-sidecar
|
||||
securityContext:
|
||||
runAsGroup: 1000
|
||||
runAsUser: 1000
|
||||
volumeMounts:
|
||||
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
|
||||
name: kube-api-access-t4rzn
|
||||
readOnly: true
|
||||
preemptionPolicy: PreemptLowerPriority
|
||||
priority: 0
|
||||
serviceAccountName: tailscale
|
||||
|
|
|
@ -24,7 +24,7 @@ spec:
|
|||
value: en
|
||||
- name: WHOOGLE_CONFIG_SEARCH_LANGUAGE
|
||||
value: en
|
||||
image: benbusby/whoogle-search@sha256:ecccdb598f890140bf5564ea0307d3a72871ab3d14fbf22e308b904846e5c590
|
||||
image: benbusby/whoogle-search@sha256:5bbb30fc4cf67563b48529c5291813b3d49c290e1e8b9e3aaa5081e9cb6e40c0
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
|
|
|
@ -8,4 +8,4 @@ spec:
|
|||
storageClassName: longhorn-fast
|
||||
resources:
|
||||
requests:
|
||||
storage: 128Mi
|
||||
storage: 1280Mi
|
||||
|
|
|
@ -11,7 +11,7 @@ spec:
|
|||
source:
|
||||
chart: cilium
|
||||
repoURL: https://helm.cilium.io/
|
||||
targetRevision: 1.17.1
|
||||
targetRevision: 1.17.2
|
||||
helm:
|
||||
parameters:
|
||||
- name: ipam.mode
|
||||
|
|
|
@ -14,6 +14,10 @@ spec:
|
|||
targetRevision: 4.12.0
|
||||
helm:
|
||||
parameters:
|
||||
- name: controller.ingressClassResource.default
|
||||
value: "true"
|
||||
- name: controller.config.annotations-risk-level
|
||||
value: "Critical"
|
||||
- name: controller.service.type
|
||||
value: LoadBalancer
|
||||
- name: controller.allowSnippetAnnotations
|
||||
|
@ -33,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
|
||||
|
|
|
@ -11,7 +11,7 @@ spec:
|
|||
source:
|
||||
chart: cert-manager
|
||||
repoURL: https://charts.jetstack.io
|
||||
targetRevision: v1.13.1
|
||||
targetRevision: v1.17.1
|
||||
helm:
|
||||
parameters:
|
||||
- name: installCRDs
|
||||
|
|
|
@ -11,7 +11,7 @@ spec:
|
|||
source:
|
||||
chart: secrets-store-csi-driver
|
||||
repoURL: https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
|
||||
targetRevision: 1.3.4
|
||||
targetRevision: 1.4.8
|
||||
syncPolicy:
|
||||
automated:
|
||||
selfHeal: true
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: bikerwitch
|
||||
namespace: argocd
|
||||
spec:
|
||||
destination:
|
||||
namespace: bikerwitch
|
||||
server: https://kubernetes.default.svc
|
||||
project: default
|
||||
source:
|
||||
helm:
|
||||
parameters:
|
||||
- name: service.type
|
||||
value: LoadBalancer
|
||||
- name: persistence.enabled
|
||||
value: "true"
|
||||
- name: persistence.storageClass
|
||||
value: "longhorn-fast"
|
||||
- name: image.repository
|
||||
value: drupal
|
||||
- name: image.tag
|
||||
value: 9.4-php8.0-apache
|
||||
values: |-
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt
|
||||
kubernetes.io/ingress.class: nginx
|
||||
external-dns.alpha.kubernetes.io/target: armnleg.martyn.berlin
|
||||
hosts:
|
||||
- host: bikerwitch.martyn.berlin
|
||||
paths:
|
||||
- /
|
||||
- host: www.bikerwitch.org.uk
|
||||
paths:
|
||||
- /
|
||||
tls:
|
||||
- hosts:
|
||||
- bikerwitch.martyn.berlin
|
||||
- www.bikerwitch.org.uk
|
||||
path: apps-helm/drupal
|
||||
repoURL: https://git.martyn.berlin/martyn/infra4talos.git
|
||||
targetRevision: HEAD
|
|
@ -11,7 +11,7 @@ spec:
|
|||
source:
|
||||
chart: csi-driver-smb
|
||||
repoURL: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
|
||||
targetRevision: v1.13.0
|
||||
targetRevision: v1.17.0
|
||||
syncPolicy:
|
||||
automated:
|
||||
selfHeal: true
|
||||
|
|
17
everything-app/files-web.yaml
Normal file
17
everything-app/files-web.yaml
Normal 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
|
|
@ -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
|
|
@ -31,7 +31,7 @@ spec:
|
|||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: nodered.martyn.berlin
|
||||
repoURL: https://k8s-at-home.com/charts/
|
||||
targetRevision: 5.3.1
|
||||
targetRevision: 5.4.0
|
||||
syncPolicy:
|
||||
automated:
|
||||
selfHeal: true
|
||||
|
|
|
@ -9,57 +9,9 @@ spec:
|
|||
server: https://kubernetes.default.svc
|
||||
project: apps
|
||||
source:
|
||||
chart: paperless-ngx
|
||||
helm:
|
||||
parameters:
|
||||
- name: service.main.type
|
||||
value: "LoadBalancer"
|
||||
- name: persistence.data.enabled
|
||||
value: "true"
|
||||
- name: persistence.data.size
|
||||
value: "1Gi"
|
||||
- name: persistence.data.accessMode
|
||||
value: ReadWriteOnce
|
||||
- name: persistence.data.storageClass
|
||||
value: "longhorn-fast"
|
||||
- name: persistence.media.enabled
|
||||
value: "true"
|
||||
- name: persistence.media.size
|
||||
value: "8Gi"
|
||||
- name: persistence.media.accessMode
|
||||
value: ReadWriteOnce
|
||||
- name: persistence.media.storageClass
|
||||
value: "longhorn-fast"
|
||||
- name: persistence.export.enabled
|
||||
value: "true"
|
||||
- name: persistence.export.size
|
||||
value: "1Gi"
|
||||
- name: persistence.export.accessMode
|
||||
value: ReadWriteOnce
|
||||
- name: persistence.export.storageClass
|
||||
value: "longhorn-fast"
|
||||
- name: persistence.consume.enabled
|
||||
value: "true"
|
||||
- name: persistence.consume.size
|
||||
value: "1Gi"
|
||||
- name: persistence.consume.accessMode
|
||||
value: ReadWriteOnce
|
||||
- name: persistence.consume.storageClass
|
||||
value: "smb-scans"
|
||||
- name: postgresql.enabled
|
||||
value: "true"
|
||||
- name: postgresql.primary.persistence.enabled
|
||||
value: "true"
|
||||
- name: postgresql.primary.persistence.storageClass
|
||||
value: "longhorn-fast"
|
||||
- name: env.TZ
|
||||
value: "Europe/Berlin"
|
||||
- name: resources.requests.cpu
|
||||
value: "25m"
|
||||
- name: resources.requests.memory
|
||||
value: "511772986"
|
||||
repoURL: https://charts.gabe565.com
|
||||
targetRevision: 0.7.8
|
||||
path: apps-kustomized/paperless-ngx
|
||||
repoURL: https://git.martyn.berlin/martyn/infra4talos
|
||||
targetRevision: HEAD
|
||||
syncPolicy:
|
||||
automated:
|
||||
selfHeal: true
|
||||
|
|
|
@ -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
|
||||
|
|
17
everything-app/tailscale-proxy.yaml
Normal file
17
everything-app/tailscale-proxy.yaml
Normal file
|
@ -0,0 +1,17 @@
|
|||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: tailscale-proxy
|
||||
namespace: argocd
|
||||
spec:
|
||||
destination:
|
||||
namespace: tailscale-proxy
|
||||
server: https://kubernetes.default.svc
|
||||
project: apps
|
||||
source:
|
||||
path: apps-kustomized/tailscale-proxy
|
||||
repoURL: https://git.martyn.berlin/martyn/infra4talos
|
||||
targetRevision: HEAD
|
||||
syncPolicy:
|
||||
automated:
|
||||
selfHeal: true
|
|
@ -2,5 +2,11 @@
|
|||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"argocd": {
|
||||
"fileMatch": ["everything-app/.+\\.yaml$"]
|
||||
},
|
||||
"kubernetes": {
|
||||
"fileMatch": [
|
||||
"apps-kustomized/.+\\.yaml$",
|
||||
"apps-helm/.+/tempates/.+\\.yaml"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue