Files
garage/script/helm/garage/README.md
T
jessebot 1c431b8457 Add garage.existingConfigmap and replace garage.garage.toml with garage.garageTomlString
also moves all gotemplating back to configmap

and adds autogenerated docs via helm-docs

Signed-off-by: jessebot <jessebot@linux.com>
2025-01-15 23:51:07 +00:00

6.8 KiB

garage

Version: 0.6.0 Type: application AppVersion: v1.0.1

S3-compatible object store for small self-hosted geo-distributed deployments

Values

Key Type Default Description
affinity object {}
deployment.kind string "StatefulSet" Switchable to DaemonSet
deployment.podManagementPolicy string "OrderedReady" If using statefulset, allow Parallel or OrderedReady (default)
deployment.replicaCount int 3 Number of StatefulSet replicas/garage nodes to start
environment object {}
extraVolumeMounts object {}
extraVolumes object {}
fullnameOverride string ""
garage.blockSize string "1048576" Defaults is 1MB An increase can result in better performance in certain scenarios https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#block-size
garage.bootstrapPeers list [] This is not required if you use the integrated kubernetes discovery
garage.compressionLevel string "1" zstd compression level of stored blocks https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#compression-level
garage.dbEngine string "lmdb" Can be changed for better performance on certain systems https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#db-engine-since-v0-8-0
garage.existingConfigMap string "" if not empty string, allow using an existing ConfigMap for the garage.toml if set, ignores garage.toml
garage.garageTomlString string "" String Template for the garage configuration if set, ignores above values Values can be templated ref: https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/
garage.kubernetesSkipCrd bool false
garage.replicationMode string "3" Default to 3 replicas, see the replication_mode section at https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#replication-mode
garage.rpcBindAddr string "[::]:3901"
garage.rpcSecret string "" If not given, a random secret will be generated and stored in a Secret object
garage.s3.api.region string "garage"
garage.s3.api.rootDomain string ".s3.garage.tld"
garage.s3.web.index string "index.html"
garage.s3.web.rootDomain string ".web.garage.tld"
image.pullPolicy string "IfNotPresent"
image.repository string "dxflrs/amd64_garage"
image.tag string "" please prefer using the chart version and not this tag
imagePullSecrets list []
ingress.s3.api.annotations object {} Rely either on the className or the annotation below but not both replace "nginx" by an Ingress controller you can find examples here https://kubernetes.io/docs/concepts/services-networking/ingress-controllers className: "nginx"
ingress.s3.api.enabled bool false
ingress.s3.api.hosts[0] object {"host":"s3.garage.tld","paths":[{"path":"/","pathType":"Prefix"}]} garage S3 API endpoint
ingress.s3.api.hosts[1] object {"host":"*.s3.garage.tld","paths":[{"path":"/","pathType":"Prefix"}]} garage S3 API endpoint, DNS style bucket access
ingress.s3.api.labels object {}
ingress.s3.api.tls list []
ingress.s3.web.annotations object {} Rely either on the className or the annotation below but not both replace "nginx" by an Ingress controller you can find examples here https://kubernetes.io/docs/concepts/services-networking/ingress-controllers className: "nginx"
ingress.s3.web.enabled bool false
ingress.s3.web.hosts[0] object {"host":"*.web.garage.tld","paths":[{"path":"/","pathType":"Prefix"}]} wildcard website access with bucket name prefix
ingress.s3.web.hosts[1] object {"host":"mywebpage.example.com","paths":[{"path":"/","pathType":"Prefix"}]} specific bucket access with FQDN bucket
ingress.s3.web.labels object {}
ingress.s3.web.tls list []
initImage.pullPolicy string "IfNotPresent"
initImage.repository string "busybox"
initImage.tag string "stable"
monitoring.metrics.enabled bool false If true, a service for monitoring is created with a prometheus.io/scrape annotation
monitoring.metrics.serviceMonitor.enabled bool false If true, a ServiceMonitor CRD is created for a prometheus operator https://github.com/coreos/prometheus-operator
monitoring.metrics.serviceMonitor.interval string "15s"
monitoring.metrics.serviceMonitor.labels object {}
monitoring.metrics.serviceMonitor.path string "/metrics"
monitoring.metrics.serviceMonitor.relabelings list []
monitoring.metrics.serviceMonitor.scheme string "http"
monitoring.metrics.serviceMonitor.scrapeTimeout string "10s"
monitoring.metrics.serviceMonitor.tlsConfig object {}
monitoring.tracing.sink string ""
nameOverride string ""
nodeSelector object {}
persistence.data.hostPath string "/var/lib/garage/data"
persistence.data.size string "100Mi"
persistence.enabled bool true
persistence.meta.hostPath string "/var/lib/garage/meta"
persistence.meta.size string "100Mi"
podAnnotations object {}
podSecurityContext.fsGroup int 1000
podSecurityContext.runAsGroup int 1000
podSecurityContext.runAsNonRoot bool true
podSecurityContext.runAsUser int 1000
resources object {}
securityContext.capabilities object {"drop":["ALL"]} The default security context is heavily restricted feel free to tune it to your requirements
securityContext.readOnlyRootFilesystem bool true
service.s3.api.port int 3900
service.s3.web.port int 3902
service.type string "ClusterIP" You can rely on any service to expose your cluster - ClusterIP (+ Ingress) - NodePort (+ Ingress) - LoadBalancer
serviceAccount.annotations object {} Annotations to add to the service account
serviceAccount.create bool true Specifies whether a service account should be created
serviceAccount.name string "" The name of the service account to use. If not set and create is true, a name is generated using the fullname template
tolerations list []

Autogenerated from chart metadata using helm-docs v1.14.2