1# Default values for garage.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
5# -- Additional labels to add to all resources created by this chart
7# app.kubernetes.io/part-of: storage
10# Garage configuration. These values go to garage.toml
12 # -- Can be changed for better performance on certain systems
13 # https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#db_engine
16 # An increase can result in better performance in certain scenarios
17 # https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#block_size
19 # -- Default to 3 replicas, see the replication_factor section at
20 # https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#replication_factor
21 replicationFactor: "3"
22 # -- By default, enable read-after-write consistency guarantees, see the consistency_mode section at
23 # https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#consistency_mode
24 consistencyMode: "consistent"
25 # -- zstd compression level of stored blocks
26 # https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#compression_level
28 # -- If this value is set, Garage will automatically take a snapshot of the metadata DB file at a regular interval and save it in the metadata directory.
29 # https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#metadata_auto_snapshot_interval
30 metadataAutoSnapshotInterval: ""
31 rpcBindAddr: "[::]:3901"
32 # -- If not given, a random secret will be generated and stored in a Secret object
34 # -- If you want to provide an rpcSecret within an existing k8s secret,
35 # specify the secret name here, and store the value under the secret key `rpcSecret`
36 # the default secret will not be created
38 # -- This is not required if you use the integrated kubernetes discovery
40 # -- Set to true if you want to use k8s discovery but install the CRDs manually outside
41 # of the helm chart, for example if you operate at namespace level without cluster ressources
42 kubernetesSkipCrd: false
46 rootDomain: ".s3.garage.tld"
48 rootDomain: ".web.garage.tld"
50 # -- Additional configuration to append to garage.toml. Use a multi-line string for custom config.
52 # additionalTopLevelConfig: |-
54 additionalTopLevelConfig: ""
55 # -- if not empty string, allow using an existing ConfigMap for the garage.toml,
56 # if set, ignores garage.toml
58 # -- String Template for the garage configuration
59 # if set, ignores above values.
60 # Values can be templated,
61 # see https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/
67 # storageClass: "fast-storage-class"
69 # used only for daemon sets
70 hostPath: /var/lib/garage/meta
72 # storageClass: "slow-storage-class"
74 # used only for daemon sets
75 hostPath: /var/lib/garage/data
76# Deployment configuration
78 # -- Switchable to DaemonSet
80 # -- Number of StatefulSet replicas/garage nodes to start
82 # -- If using statefulset, allow Parallel or OrderedReady (default)
83 podManagementPolicy: OrderedReady
85 # -- default to amd64 docker image
86 repository: cgr.dev/chainguard-private/garage
87 # -- set the image tag, please prefer using the chart version and not this
88 # to avoid compatibility issues
89 tag: latest@sha256:2498a9d8aff5cf70e5699449da50880d60bd6c92c8d227f6cdb6c85a044a2ebf
90 pullPolicy: IfNotPresent
92 repository: cgr.dev/chainguard-private/busybox
93 tag: latest@sha256:a4df82542624593a943071c90310653381295bb95494ff58a4650101aefeafaf
94 pullPolicy: IfNotPresent
95# -- set if you need credentials to pull your custom image
100 # -- Specifies whether a service account should be created
102 # -- Annotations to add to the service account
104 # -- The name of the service account to use.
105 # If not set and create is true, a name is generated using the fullname template
107# -- additonal pod annotations
113 fsGroupChangePolicy: "OnRootMismatch"
116 # -- The default security context is heavily restricted,
117 # feel free to tune it to your requirements
121 readOnlyRootFilesystem: true
123 # -- You can rely on any service to expose your cluster
124 # - ClusterIP (+ Ingress)
125 # - NodePort (+ Ingress)
128 # -- Annotations to add to the service
135 # NOTE: the admin API is excluded for now as it is not consistent across nodes
140 # -- Rely _either_ on the className or the annotation below but not both!
141 # If you want to use the className, set
143 # and replace "nginx" by an Ingress controller name,
144 # examples [here](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers).
146 # kubernetes.io/ingress.class: "nginx"
147 # kubernetes.io/tls-acme: "true"
150 # -- garage S3 API endpoint, to be used with awscli for example
151 - host: "s3.garage.tld"
155 # -- garage S3 API endpoint, DNS style bucket access
156 - host: "*.s3.garage.tld"
161 # - secretName: my-garage-cluster-tls
163 # - kubernetes.docker.internal
166 # -- Rely _either_ on the className or the annotation below but not both!
167 # If you want to use the className, set
169 # and replace "nginx" by an Ingress controller name,
170 # examples [here](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers).
172 # kubernetes.io/ingress.class: nginx
173 # kubernetes.io/tls-acme: "true"
176 # -- wildcard website access with bucket name prefix
177 - host: "*.web.garage.tld"
181 # -- specific bucket access with FQDN bucket
182 - host: "mywebpage.example.com"
187 # - secretName: my-garage-cluster-tls
189 # - kubernetes.docker.internal
191# The following are indicative for a small-size deployement, for anything serious double them.
199# -- Specifies a livenessProbe
204#initialDelaySeconds: 5
206# -- Specifies a readinessProbe
211#initialDelaySeconds: 5
222 # -- If true, a service for monitoring is created with a prometheus.io/scrape annotation
225 # -- If true, a ServiceMonitor CRD is created for a prometheus operator
226 # https://github.com/coreos/prometheus-operator
229 # namespace: monitoring (defaults to use the namespace this chart is deployed to)
237 # -- specify a sink endpoint for OpenTelemetry Traces, eg. `http://localhost:4317`