add additional servers

This commit is contained in:
2025-12-27 16:58:30 -06:00
parent 093c54bb74
commit 2f013ad469
5 changed files with 138 additions and 113 deletions

View File

@@ -2,8 +2,5 @@ dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.7.0
digest: sha256:e1042088193503be3e0de1df8a682f7454851032eba55b9be5cf3f4e48834514
generated: "2025-12-27T13:30:25.860097-06:00"
digest: sha256:36e920ce6efee3b33b40641652f814c888ae3c50272895ef286fb8236a010924
generated: "2025-12-27T16:57:42.31991-06:00"

View File

@@ -33,56 +33,3 @@ spec:
key: /cl01tl/garage/token
metadataPolicy: None
property: metric
# ---
# apiVersion: external-secrets.io/v1
# kind: ExternalSecret
# metadata:
# name: garage-db-backup-secret-remote
# namespace: garage
# spec:
# data:
# - remoteRef:
# conversionStrategy: Default
# decodingStrategy: None
# key: /volsync/restic/garage-remote
# metadataPolicy: None
# property: BUCKET_ENDPOINT
# secretKey: BUCKET_ENDPOINT
# - remoteRef:
# conversionStrategy: Default
# decodingStrategy: None
# key: /volsync/restic/garage-remote
# metadataPolicy: None
# property: RESTIC_PASSWORD
# secretKey: RESTIC_PASSWORD
# - remoteRef:
# conversionStrategy: Default
# decodingStrategy: None
# key: /garage/home-infra/volsync-backups
# metadataPolicy: None
# property: ACCESS_REGION
# secretKey: AWS_DEFAULT_REGION
# - remoteRef:
# conversionStrategy: Default
# decodingStrategy: None
# key: /garage/home-infra/volsync-backups
# metadataPolicy: None
# property: ACCESS_KEY_ID
# secretKey: AWS_ACCESS_KEY_ID
# - remoteRef:
# conversionStrategy: Default
# decodingStrategy: None
# key: /garage/home-infra/volsync-backups
# metadataPolicy: None
# property: ACCESS_SECRET_KEY
# secretKey: AWS_SECRET_ACCESS_KEY
# secretStoreRef:
# kind: ClusterSecretStore
# name: vault
# target:
# template:
# data:
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/garage/garage-db"
# engineVersion: v2
# mergePolicy: Merge

View File

@@ -1,12 +0,0 @@
# apiVersion: v1
# kind: PersistentVolumeClaim
# metadata:
# name: garage-db
# namespace: garage
# spec:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 50Gi
# storageClassName: ceph-block

View File

@@ -1,16 +0,0 @@
# apiVersion: volsync.backube/v1alpha1
# kind: ReplicationDestination
# metadata:
# name: garage-db
# namespace: {{ .Release.Namespace }}
# labels:
# app.kubernetes.io/name: garage-db
# app.kubernetes.io/instance: {{ .Release.Name }}
# app.kubernetes.io/part-of: {{ .Release.Name }}
# spec:
# trigger:
# manual: restore-once
# restic:
# repository: garage-db-backup-secret-remote
# destinationPVC: garage-db
# copyMethod: Direct

View File

@@ -1,6 +1,6 @@
garage:
controllers:
main:
server-1:
type: deployment
replicas: 1
strategy: Recreate
@@ -18,18 +18,42 @@ garage:
requests:
cpu: 10m
memory: 128Mi
debug:
server-2:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ubuntu
tag: resolute-20251208
repository: dxflrs/garage
tag: v2.1.0
pullPolicy: IfNotPresent
command:
- "sleep"
- "infinity"
envFrom:
- secretRef:
name: garage-token-secret
resources:
requests:
cpu: 10m
memory: 32Mi
memory: 128Mi
server-3:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: dxflrs/garage
tag: v2.1.0
pullPolicy: IfNotPresent
envFrom:
- secretRef:
name: garage-token-secret
resources:
requests:
cpu: 10m
memory: 128Mi
webui:
type: deployment
replicas: 1
@@ -60,7 +84,7 @@ garage:
enabled: true
data:
garage.toml: |
replication_factor = 1
replication_factor = 3
metadata_dir = "/var/lib/garage/meta"
data_dir = "/var/lib/garage/data"
@@ -90,8 +114,49 @@ garage:
api_bind_addr = "[::]:3903"
metrics_require_token = true
service:
main:
controller: main
server-1:
forceRename: garage-main
controller: server-1
ports:
s3:
port: 3900
targetPort: 3900
protocol: HTTP
rpc:
port: 3901
targetPort: 3901
protocol: HTTP
web:
port: 3902
targetPort: 3902
protocol: HTTP
admin:
port: 3903
targetPort: 3903
protocol: HTTP
server-2:
forceRename: garage-2
controller: server-2
ports:
s3:
port: 3900
targetPort: 3900
protocol: HTTP
rpc:
port: 3901
targetPort: 3901
protocol: HTTP
web:
port: 3902
targetPort: 3902
protocol: HTTP
admin:
port: 3903
targetPort: 3903
protocol: HTTP
server-3:
forceRename: garage-3
controller: server-3
ports:
s3:
port: 3900
@@ -178,13 +243,20 @@ garage:
type: configMap
name: garage
advancedMounts:
main:
server-1:
main:
- path: /etc/garage.toml
readOnly: true
mountPropagation: None
subPath: garage.toml
debug:
server-2:
main:
- path: /etc/garage.toml
readOnly: true
mountPropagation: None
subPath: garage.toml
server-3:
main:
- path: /etc/garage.toml
readOnly: true
mountPropagation: None
@@ -195,46 +267,83 @@ garage:
readOnly: true
mountPropagation: None
subPath: garage.toml
db:
db-1:
forceRename: garage-db
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 50Gi
retain: true
advancedMounts:
main:
server-1:
main:
- path: /var/lib/garage/meta
readOnly: false
debug:
- path: /var/lib/garage/meta
readOnly: false
data:
# db-2:
# forceRename: garage-db-2
# storageClass: ceph-block
# accessMode: ReadWriteOnce
# size: 50Gi
# retain: true
# advancedMounts:
# server-2:
# main:
# - path: /var/lib/garage/meta
# readOnly: false
# db-3:
# forceRename: garage-db-3
# storageClass: ceph-block
# accessMode: ReadWriteOnce
# size: 50Gi
# retain: true
# advancedMounts:
# server-3:
# main:
# - path: /var/lib/garage/meta
# readOnly: false
data-1:
forceRename: garage-data
storageClass: synology-iscsi-delete
accessMode: ReadWriteOnce
size: 800Gi
retain: true
advancedMounts:
main:
server-1:
main:
- path: /var/lib/garage/data
readOnly: false
debug:
- path: /var/lib/garage/data
readOnly: false
# data-2:
# forceRename: garage-data-2
# storageClass: synology-iscsi-delete
# accessMode: ReadWriteOnce
# size: 800Gi
# retain: true
# advancedMounts:
# server-2:
# main:
# - path: /var/lib/garage/data
# readOnly: false
# data-3:
# forceRename: garage-data-3
# storageClass: synology-iscsi-delete
# accessMode: ReadWriteOnce
# size: 800Gi
# retain: true
# advancedMounts:
# server-3:
# main:
# - path: /var/lib/garage/data
# readOnly: false
snapshots:
forceRename: garage-snapshots
storageClass: synology-iscsi-delete
accessMode: ReadWriteOnce
size: 50Gi
retain: true
advancedMounts:
main:
server-1:
main:
- path: /var/lib/garage/snapshots
readOnly: false
debug:
- path: /var/lib/garage/snapshots
readOnly: false
volsync-target-db:
pvcTarget: garage-db
local: