feat: nas refactor

This commit is contained in:
auricom
2024-05-12 14:54:08 +02:00
parent 0fdcc976af
commit f78a0fe9e1
39 changed files with 59 additions and 61 deletions

View File

@@ -38,7 +38,7 @@ spec:
compression: bzip2 compression: bzip2
maxParallel: 8 maxParallel: 8
destinationPath: s3://postgresql/ destinationPath: s3://postgresql/
endpointURL: https://minio.${SECRET_DOMAIN}:9000 endpointURL: https://s3.feisar.ovh
# Note: serverName version needs to be inclemented # Note: serverName version needs to be inclemented
# when recovering from an existing cnpg cluster # when recovering from an existing cnpg cluster
serverName: postgres16-v3 serverName: postgres16-v3
@@ -58,7 +58,7 @@ spec:
# - name: postgres16-v2 # - name: postgres16-v2
# barmanObjectStore: # barmanObjectStore:
# destinationPath: s3://postgresql/ # destinationPath: s3://postgresql/
# endpointURL: https://minio.${SECRET_DOMAIN}:9000 # endpointURL: https://s3.feisar.ovh
# s3Credentials: # s3Credentials:
# accessKeyId: # accessKeyId:
# name: cloudnative-pg-secret # name: cloudnative-pg-secret

View File

@@ -101,6 +101,6 @@ spec:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/backups/postgresql path: /var/mnt/vol1/backups/postgresql
globalMounts: globalMounts:
- path: /backups - path: /backups

View File

@@ -117,7 +117,7 @@ spec:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/video path: /var/mnt/vol1/video
globalMounts: globalMounts:
- path: /mnt/storage/video - path: /mnt/storage/video
scripts: scripts:

View File

@@ -82,6 +82,6 @@ spec:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/home/claude/books path: /var/mnt/vol1/home/claude/books
globalMounts: globalMounts:
- path: /mnt/storage/home/claude/books - path: /mnt/storage/home/claude/books

View File

@@ -129,7 +129,7 @@ spec:
media: media:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/apps/frigate path: /var/mnt/vol1/apps/frigate
globalMounts: globalMounts:
- path: /media/frigate - path: /media/frigate
cache: cache:

View File

@@ -67,7 +67,7 @@ spec:
url: "https://truenas-remote.${SECRET_DOMAIN}" url: "https://truenas-remote.${SECRET_DOMAIN}"
- name: minio - name: minio
icon: mdi:aws icon: mdi:aws
url: "https://minio.${SECRET_DOMAIN}:9000" url: "https://s3.feisar.ovh"
- name: pikvm - name: pikvm
icon: mdi:ip-network icon: mdi:ip-network
url: "https://pikvm.${SECRET_DOMAIN}" url: "https://pikvm.${SECRET_DOMAIN}"

View File

@@ -3,7 +3,7 @@ type = s3
provider = Minio provider = Minio
access_key_id = __RCLONE_ACCESS_ID__ access_key_id = __RCLONE_ACCESS_ID__
secret_access_key = __RCLONE_SECRET_KEY__ secret_access_key = __RCLONE_SECRET_KEY__
endpoint = https://minio.${SECRET_DOMAIN}:9000 endpoint = https://s3.feisar.ovh
acl = private acl = private
[gdrive-homelab-backups] [gdrive-homelab-backups]

View File

@@ -41,8 +41,8 @@ spec:
tag: 1.29.2@sha256:693ced2697bb7c7349419d4035a62bd474fc41710675b344f71773d8a687dfc3 tag: 1.29.2@sha256:693ced2697bb7c7349419d4035a62bd474fc41710675b344f71773d8a687dfc3
command: [/bin/bash, /app/opnsense-backup.sh] command: [/bin/bash, /app/opnsense-backup.sh]
env: env:
OPNSENSE_URL: "https://opnsense.${SECRET_DOMAIN}" OPNSENSE_URL: "https://opnsense.feisar.ovh"
S3_URL: "https://minio.${SECRET_DOMAIN}:9000" S3_URL: "https://s3.feisar.ovh"
envFrom: envFrom:
- secretRef: - secretRef:
name: homelab-opnsense-secret name: homelab-opnsense-secret

View File

@@ -44,7 +44,7 @@ curl -fsSL \
-H "Date: ${http_request_date}" \ -H "Date: ${http_request_date}" \
-H "Content-Type: ${http_content_type}" \ -H "Content-Type: ${http_content_type}" \
-H "Authorization: AWS ${AWS_ACCESS_KEY_ID}:${http_signature}" \ -H "Authorization: AWS ${AWS_ACCESS_KEY_ID}:${http_signature}" \
"https://minio.${SECRET_DOMAIN}:9000/${http_filepath}" "https://s3.feisar.ovh/${http_filepath}"
rm /tmp/backup-*.tar rm /tmp/backup-*.tar

View File

@@ -5,7 +5,6 @@ kind: Kustomization
namespace: default namespace: default
resources: resources:
- ./backup - ./backup
- ./certs-deploy
- ./externalsecret.yaml - ./externalsecret.yaml
- ./photo-sort - ./photo-sort
- ../../../../templates/gatus/guarded - ../../../../templates/gatus/guarded

View File

@@ -50,8 +50,8 @@ spec:
/app/sort.sh /app/sort.sh
env: env:
SORT_SOURCE_DIR: /mnt/storage/photo/mobile SORT_SOURCE_DIR: /var/mnt/vol1/photo/mobile
SORT_DEST_DIR: /mnt/storage/photo SORT_DEST_DIR: /var/mnt/vol1/photo
service: service:
app: app:
controller: *app controller: *app
@@ -67,7 +67,7 @@ spec:
readOnly: true readOnly: true
photo: photo:
type: nfs type: nfs
path: /mnt/storage/photo path: /var/mnt/vol1/photo
server: 192.168.9.10 server: 192.168.9.10
globalMounts: globalMounts:
- path: /mnt/storage/photo - path: /var/mnt/vol1/photo

View File

@@ -112,21 +112,21 @@ spec:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/music path: /var/mnt/vol1/music
globalMounts: globalMounts:
- path: /mnt/storage/music - path: /mnt/storage/music
photo: photo:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/photo path: /var/mnt/vol1/photo
globalMounts: globalMounts:
- path: /mnt/storage/photo - path: /mnt/storage/photo
video: video:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/video path: /var/mnt/vol1/video
globalMounts: globalMounts:
- path: /mnt/storage/video - path: /mnt/storage/video
transcode: transcode:

View File

@@ -75,6 +75,6 @@ spec:
comics: comics:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/home/claude/comics path: /var/mnt/vol1/home/claude/comics
globalMounts: globalMounts:
- path: /mnt/storage/home/claude/comics - path: /mnt/storage/home/claude/comics

View File

@@ -33,7 +33,6 @@ resources:
- ./lms/ks.yaml - ./lms/ks.yaml
- ./lychee/ks.yaml - ./lychee/ks.yaml
- ./mailrise/ks.yaml - ./mailrise/ks.yaml
- ./media-browser/ks.yaml
- ./music-transcode/ks.yaml - ./music-transcode/ks.yaml
- ./navidrome/ks.yaml - ./navidrome/ks.yaml
- ./outline/ks.yaml - ./outline/ks.yaml

View File

@@ -105,13 +105,13 @@ spec:
music: music:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/music path: /var/mnt/vol1/music
globalMounts: globalMounts:
- path: /mnt/storage/music - path: /mnt/storage/music
downloads: downloads:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/downloads path: /var/mnt/vol1/downloads
globalMounts: globalMounts:
- path: /mnt/storage/downloads - path: /mnt/storage/downloads
scripts: scripts:

View File

@@ -37,8 +37,8 @@ spec:
repository: toertel/logitech-media-server repository: toertel/logitech-media-server
tag: v8.4.0-1@sha256:07dde462237c0618034c9d2db33967f5bc0db34544558e8edaac32ef0614555a tag: v8.4.0-1@sha256:07dde462237c0618034c9d2db33967f5bc0db34544558e8edaac32ef0614555a
env: env:
AUDIO_DIR: &music /mnt/storage/music AUDIO_DIR: &music /var/mnt/vol1/music
PLAYLIST_DIR: &playlist /mnt/storage/apps/lms PLAYLIST_DIR: &playlist /var/mnt/vol1/music/.lms
resources: resources:
requests: requests:
memory: 250Mi memory: 250Mi
@@ -97,9 +97,9 @@ spec:
music-helene: music-helene:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/home/helene/Musique path: /var/mnt/vol1/home/helene/Musique
globalMounts: globalMounts:
- path: /mnt/storage/home/helene/Musique - path: /var/mnt/vol1/home/helene/Musique
playlists: playlists:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10

View File

@@ -93,6 +93,6 @@ spec:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/photo path: /var/mnt/vol1/photo
globalMounts: globalMounts:
- path: /mnt/storage/photo - path: /mnt/storage/photo

View File

@@ -79,13 +79,13 @@ spec:
readOnly: true readOnly: true
music: music:
type: nfs type: nfs
path: /mnt/storage/music path: /var/mnt/vol1/music
server: 192.168.9.10 server: 192.168.9.10
globalMounts: globalMounts:
- path: /mnt/music - path: /mnt/music
music-transcoded: music-transcoded:
type: nfs type: nfs
path: /mnt/storage/music_transcoded path: /var/mnt/vol1/music_transcoded
server: 192.168.9.10 server: 192.168.9.10
globalMounts: globalMounts:
- path: /mnt/music_transcoded - path: /mnt/music_transcoded

View File

@@ -45,7 +45,7 @@ spec:
ND_DATAFOLDER: /config ND_DATAFOLDER: /config
ND_ENABLEGRAVATAR: "true" ND_ENABLEGRAVATAR: "true"
ND_LOGLEVEL: info ND_LOGLEVEL: info
ND_MUSICFOLDER: /mnt/storage/music/Artistes ND_MUSICFOLDER: /var/mnt/vol1/music/Artistes
ND_PORT: &port 8080 ND_PORT: &port 8080
ND_PROMETHEUS_ENABLED: "true" ND_PROMETHEUS_ENABLED: "true"
ND_REVERSEPROXYUSERHEADER: Remote-User ND_REVERSEPROXYUSERHEADER: Remote-User
@@ -96,7 +96,7 @@ spec:
music: music:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/music path: /var/mnt/vol1/music
globalMounts: globalMounts:
- path: /mnt/storage/music - path: /var/mnt/vol1/music
readOnly: true readOnly: true

View File

@@ -53,7 +53,7 @@ spec:
AWS_S3_ACL: private AWS_S3_ACL: private
AWS_S3_FORCE_PATH_STYLE: "true" AWS_S3_FORCE_PATH_STYLE: "true"
AWS_S3_UPLOAD_BUCKET_NAME: outline AWS_S3_UPLOAD_BUCKET_NAME: outline
AWS_S3_UPLOAD_BUCKET_URL: "https://minio.${SECRET_DOMAIN}:9000" AWS_S3_UPLOAD_BUCKET_URL: "https://s3.feisar.ovh"
ENABLE_UPDATES: "false" ENABLE_UPDATES: "false"
FILE_STORAGE_UPLOAD_MAX_SIZE: "26214400" FILE_STORAGE_UPLOAD_MAX_SIZE: "26214400"
OIDC_AUTH_URI: "https://auth.${SECRET_CLUSTER_DOMAIN}/api/oidc/authorization" OIDC_AUTH_URI: "https://auth.${SECRET_CLUSTER_DOMAIN}/api/oidc/authorization"

View File

@@ -95,27 +95,27 @@ spec:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/shared-documents/paperless/data path: /var/mnt/vol1/shared-documents/paperless/data
globalMounts: globalMounts:
- path: /usr/src/paperless/data - path: /usr/src/paperless/data
media: media:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/shared-documents/paperless/media path: /var/mnt/vol1/shared-documents/paperless/media
globalMounts: globalMounts:
- path: /usr/src/paperless/media - path: /usr/src/paperless/media
consume: consume:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/shared-documents/paperless/watch path: /var/mnt/vol1/shared-documents/paperless/watch
globalMounts: globalMounts:
- path: /usr/src/paperless/consume - path: /usr/src/paperless/consume
export: export:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/shared-documents/paperless/export path: /var/mnt/vol1/shared-documents/paperless/export
globalMounts: globalMounts:
- path: /usr/src/paperless/export - path: /usr/src/paperless/export

View File

@@ -40,7 +40,7 @@ spec:
tag: latest@sha256:92c0fb0775e2fa5ac681aef71ccfe3d8de578f659f2e577e2c540eaf56374a88 tag: latest@sha256:92c0fb0775e2fa5ac681aef71ccfe3d8de578f659f2e577e2c540eaf56374a88
env: env:
PHOTOPRISM_STORAGE_PATH: &storage /config PHOTOPRISM_STORAGE_PATH: &storage /config
PHOTOPRISM_ORIGINALS_PATH: &originals /mnt/storage/photo/Gallery PHOTOPRISM_ORIGINALS_PATH: &originals /var/mnt/vol1/photo/Gallery
PHOTOPRISM_DEBUG: "false" PHOTOPRISM_DEBUG: "false"
PHOTOPRISM_PUBLIC: "true" PHOTOPRISM_PUBLIC: "true"
PHOTOPRISM_SITE_URL: "https://photos.${SECRET_CLUSTER_DOMAIN}/" PHOTOPRISM_SITE_URL: "https://photos.${SECRET_CLUSTER_DOMAIN}/"

View File

@@ -94,18 +94,18 @@ spec:
downloads: downloads:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/downloads path: /var/mnt/vol1/downloads
globalMounts: globalMounts:
- path: /mnt/storage/downloads - path: /mnt/storage/downloads
music-qbittorrent: music-qbittorrent:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/music/.qbittorrent path: /var/mnt/vol1/music/.qbittorrent
globalMounts: globalMounts:
- path: /mnt/storage/music/.qbittorrent - path: /mnt/storage/music/.qbittorrent
video-qbittorrent: video-qbittorrent:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/video/.qbittorrent path: /var/mnt/vol1/video/.qbittorrent
globalMounts: globalMounts:
- path: /mnt/storage/video/.qbittorrent - path: /mnt/storage/video/.qbittorrent

View File

@@ -106,14 +106,14 @@ spec:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/downloads path: /var/mnt/vol1/downloads
globalMounts: globalMounts:
- path: /mnt/storage/downloads - path: /mnt/storage/downloads
video: video:
enabled: true enabled: true
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/video path: /var/mnt/vol1/video
globalMounts: globalMounts:
- path: /mnt/storage/video - path: /mnt/storage/video
scripts: scripts:

View File

@@ -88,36 +88,36 @@ spec:
backups: backups:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/backups path: /var/mnt/vol1/backups
globalMounts: globalMounts:
- path: /sync/backup - path: /sync/backup
home-claude: home-claude:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/home/claude path: /var/mnt/vol1/home/claude
globalMounts: globalMounts:
- path: /sync/home/claude - path: /sync/home/claude
music-transcoded: music-transcoded:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/music_transcoded path: /var/mnt/vol1/music_transcoded
globalMounts: globalMounts:
- path: /sync/music_transcoded - path: /sync/music_transcoded
photo: photo:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/photo path: /var/mnt/vol1/photo
globalMounts: globalMounts:
- path: /sync/photo - path: /sync/photo
shared-documents: shared-documents:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/shared-documents path: /var/mnt/vol1/shared-documents
globalMounts: globalMounts:
- path: /sync/shared-documents - path: /sync/shared-documents
video: video:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/video path: /var/mnt/vol1/video
globalMounts: globalMounts:
- path: /sync/video - path: /sync/video

View File

@@ -88,18 +88,18 @@ spec:
backups: backups:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/backups path: /var/mnt/vol1/backups
globalMounts: globalMounts:
- path: /sync/backup - path: /sync/backup
home-helene: home-helene:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/home/helene path: /var/mnt/vol1/home/helene
globalMounts: globalMounts:
- path: /sync/home - path: /sync/home
photo: photo:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/photo path: /var/mnt/vol1/photo
globalMounts: globalMounts:
- path: /sync/photo - path: /sync/photo

View File

@@ -118,18 +118,18 @@ spec:
downloads: downloads:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/downloads path: /var/mnt/vol1/downloads
globalMounts: globalMounts:
- path: /mnt/storage/downloads - path: /mnt/storage/downloads
music-usenet: music-usenet:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/music/.usenet path: /var/mnt/vol1/music/.usenet
globalMounts: globalMounts:
- path: /mnt/storage/music/.usenet - path: /mnt/storage/music/.usenet
video-usenet: video-usenet:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/video/.usenet path: /var/mnt/vol1/video/.usenet
globalMounts: globalMounts:
- path: /mnt/storage/video/.usenet - path: /mnt/storage/video/.usenet

View File

@@ -33,7 +33,7 @@ sharry.restserver {
minio = minio =
{ enabled = true { enabled = true
type = "s3" type = "s3"
endpoint = "https://minio.${SECRET_DOMAIN}:9000" endpoint = "https://s3.feisar.ovh"
access-key = "${SECRET_SHARRY_MINIO_S3_ACCESS_KEY}" access-key = "${SECRET_SHARRY_MINIO_S3_ACCESS_KEY}"
secret-key = "${SECRET_SHARRY_MINIO_S3_SECRET_KEY}" secret-key = "${SECRET_SHARRY_MINIO_S3_SECRET_KEY}"
bucket = "sharry" bucket = "sharry"

View File

@@ -122,13 +122,13 @@ spec:
downloads: downloads:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/downloads path: /var/mnt/vol1/downloads
globalMounts: globalMounts:
- path: /mnt/storage/downloads - path: /mnt/storage/downloads
video: video:
type: nfs type: nfs
server: 192.168.9.10 server: 192.168.9.10
path: /mnt/storage/video path: /var/mnt/vol1/video
globalMounts: globalMounts:
- path: /mnt/storage/video - path: /mnt/storage/video
scripts: scripts:

View File

@@ -35,7 +35,7 @@ spec:
type: s3 type: s3
config: config:
bucket: thanos bucket: thanos
endpoint: "minio.${SECRET_DOMAIN}:9000" endpoint: "s3.feisar.ovh"
region: "" region: ""
# insecure: true # insecure: true
query: query:

View File

@@ -13,7 +13,7 @@ spec:
template: template:
engineVersion: v2 engineVersion: v2
data: data:
RESTIC_REPOSITORY: "{{ .REPOSITORY_TEMPLATE }}/${APP}" RESTIC_REPOSITORY: s3:https://s3.feisar.ovh/volsync
RESTIC_PASSWORD: "{{ .RESTIC_PASSWORD }}" RESTIC_PASSWORD: "{{ .RESTIC_PASSWORD }}"
AWS_ACCESS_KEY_ID: "{{ .AWS_ACCESS_KEY_ID }}" AWS_ACCESS_KEY_ID: "{{ .AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "{{ .AWS_SECRET_ACCESS_KEY }}" AWS_SECRET_ACCESS_KEY: "{{ .AWS_SECRET_ACCESS_KEY }}"