mirror of
https://github.com/deuxfleurs-org/garage.git
synced 2026-08-21 02:16:37 +00:00
1c431b8457
also moves all gotemplating back to configmap and adds autogenerated docs via helm-docs Signed-off-by: jessebot <jessebot@linux.com>
6.8 KiB
6.8 KiB
garage
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