add additional servers
This commit is contained in:
@@ -2,8 +2,5 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
repository: https://bjw-s-labs.github.io/helm-charts/
|
repository: https://bjw-s-labs.github.io/helm-charts/
|
||||||
version: 4.5.0
|
version: 4.5.0
|
||||||
- name: volsync-target
|
digest: sha256:36e920ce6efee3b33b40641652f814c888ae3c50272895ef286fb8236a010924
|
||||||
repository: oci://harbor.alexlebens.net/helm-charts
|
generated: "2025-12-27T16:57:42.31991-06:00"
|
||||||
version: 0.7.0
|
|
||||||
digest: sha256:e1042088193503be3e0de1df8a682f7454851032eba55b9be5cf3f4e48834514
|
|
||||||
generated: "2025-12-27T13:30:25.860097-06:00"
|
|
||||||
|
|||||||
@@ -33,56 +33,3 @@ spec:
|
|||||||
key: /cl01tl/garage/token
|
key: /cl01tl/garage/token
|
||||||
metadataPolicy: None
|
metadataPolicy: None
|
||||||
property: metric
|
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
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
# apiVersion: v1
|
|
||||||
# kind: PersistentVolumeClaim
|
|
||||||
# metadata:
|
|
||||||
# name: garage-db
|
|
||||||
# namespace: garage
|
|
||||||
# spec:
|
|
||||||
# accessModes:
|
|
||||||
# - ReadWriteOnce
|
|
||||||
# resources:
|
|
||||||
# requests:
|
|
||||||
# storage: 50Gi
|
|
||||||
# storageClassName: ceph-block
|
|
||||||
@@ -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
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
garage:
|
garage:
|
||||||
controllers:
|
controllers:
|
||||||
main:
|
server-1:
|
||||||
type: deployment
|
type: deployment
|
||||||
replicas: 1
|
replicas: 1
|
||||||
strategy: Recreate
|
strategy: Recreate
|
||||||
@@ -18,18 +18,42 @@ garage:
|
|||||||
requests:
|
requests:
|
||||||
cpu: 10m
|
cpu: 10m
|
||||||
memory: 128Mi
|
memory: 128Mi
|
||||||
debug:
|
server-2:
|
||||||
|
type: deployment
|
||||||
|
replicas: 1
|
||||||
|
strategy: Recreate
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ubuntu
|
repository: dxflrs/garage
|
||||||
tag: resolute-20251208
|
tag: v2.1.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
envFrom:
|
||||||
- "sleep"
|
- secretRef:
|
||||||
- "infinity"
|
name: garage-token-secret
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 10m
|
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:
|
webui:
|
||||||
type: deployment
|
type: deployment
|
||||||
replicas: 1
|
replicas: 1
|
||||||
@@ -60,7 +84,7 @@ garage:
|
|||||||
enabled: true
|
enabled: true
|
||||||
data:
|
data:
|
||||||
garage.toml: |
|
garage.toml: |
|
||||||
replication_factor = 1
|
replication_factor = 3
|
||||||
|
|
||||||
metadata_dir = "/var/lib/garage/meta"
|
metadata_dir = "/var/lib/garage/meta"
|
||||||
data_dir = "/var/lib/garage/data"
|
data_dir = "/var/lib/garage/data"
|
||||||
@@ -90,8 +114,49 @@ garage:
|
|||||||
api_bind_addr = "[::]:3903"
|
api_bind_addr = "[::]:3903"
|
||||||
metrics_require_token = true
|
metrics_require_token = true
|
||||||
service:
|
service:
|
||||||
main:
|
server-1:
|
||||||
controller: main
|
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:
|
ports:
|
||||||
s3:
|
s3:
|
||||||
port: 3900
|
port: 3900
|
||||||
@@ -178,13 +243,20 @@ garage:
|
|||||||
type: configMap
|
type: configMap
|
||||||
name: garage
|
name: garage
|
||||||
advancedMounts:
|
advancedMounts:
|
||||||
main:
|
server-1:
|
||||||
main:
|
main:
|
||||||
- path: /etc/garage.toml
|
- path: /etc/garage.toml
|
||||||
readOnly: true
|
readOnly: true
|
||||||
mountPropagation: None
|
mountPropagation: None
|
||||||
subPath: garage.toml
|
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
|
- path: /etc/garage.toml
|
||||||
readOnly: true
|
readOnly: true
|
||||||
mountPropagation: None
|
mountPropagation: None
|
||||||
@@ -195,46 +267,83 @@ garage:
|
|||||||
readOnly: true
|
readOnly: true
|
||||||
mountPropagation: None
|
mountPropagation: None
|
||||||
subPath: garage.toml
|
subPath: garage.toml
|
||||||
db:
|
db-1:
|
||||||
forceRename: garage-db
|
forceRename: garage-db
|
||||||
storageClass: ceph-block
|
storageClass: ceph-block
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 50Gi
|
size: 50Gi
|
||||||
retain: true
|
retain: true
|
||||||
advancedMounts:
|
advancedMounts:
|
||||||
main:
|
server-1:
|
||||||
main:
|
main:
|
||||||
- path: /var/lib/garage/meta
|
- path: /var/lib/garage/meta
|
||||||
readOnly: false
|
readOnly: false
|
||||||
debug:
|
# db-2:
|
||||||
- path: /var/lib/garage/meta
|
# forceRename: garage-db-2
|
||||||
readOnly: false
|
# storageClass: ceph-block
|
||||||
data:
|
# 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
|
storageClass: synology-iscsi-delete
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 800Gi
|
size: 800Gi
|
||||||
retain: true
|
retain: true
|
||||||
advancedMounts:
|
advancedMounts:
|
||||||
main:
|
server-1:
|
||||||
main:
|
main:
|
||||||
- path: /var/lib/garage/data
|
- path: /var/lib/garage/data
|
||||||
readOnly: false
|
readOnly: false
|
||||||
debug:
|
# data-2:
|
||||||
- path: /var/lib/garage/data
|
# forceRename: garage-data-2
|
||||||
readOnly: false
|
# 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:
|
snapshots:
|
||||||
|
forceRename: garage-snapshots
|
||||||
storageClass: synology-iscsi-delete
|
storageClass: synology-iscsi-delete
|
||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 50Gi
|
size: 50Gi
|
||||||
retain: true
|
retain: true
|
||||||
advancedMounts:
|
advancedMounts:
|
||||||
main:
|
server-1:
|
||||||
main:
|
main:
|
||||||
- path: /var/lib/garage/snapshots
|
- path: /var/lib/garage/snapshots
|
||||||
readOnly: false
|
readOnly: false
|
||||||
debug:
|
|
||||||
- path: /var/lib/garage/snapshots
|
|
||||||
readOnly: false
|
|
||||||
volsync-target-db:
|
volsync-target-db:
|
||||||
pvcTarget: garage-db
|
pvcTarget: garage-db
|
||||||
local:
|
local:
|
||||||
|
|||||||
Reference in New Issue
Block a user