mirror of
https://github.com/versity/versitygw.git
synced 2026-07-22 07:52:41 +00:00
Merge pull request #2227 from versity/ben/helm-paths
feat: add chart sidecar and versioning directory support
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@ apiVersion: v2
|
||||
name: versitygw
|
||||
description: A Helm chart for deploying the Versity S3 Gateway on Kubernetes
|
||||
type: application
|
||||
version: 0.3.3
|
||||
version: 0.3.4
|
||||
sources:
|
||||
- https://github.com/versity/versitygw
|
||||
icon: https://raw.githubusercontent.com/versity/versitygw/main/webui/web/assets/images/Versity-logo-blue-horizontal.png
|
||||
|
||||
+21
-1
@@ -63,7 +63,7 @@ You can find the list of available Helm chart versions in the [GitHub packages p
|
||||
|
||||
## Backend Storage
|
||||
|
||||
The `gateway.backend.type` value selects the storage backend. Use `gateway.backend.args` to pass backend-specific arguments.
|
||||
The `gateway.backend.type` value selects the storage backend. Use `gateway.backend.args` to pass backend-specific arguments. For the POSIX sidecar metadata store and POSIX/ScoutFS object versioning, prefer `gateway.backend.sidecarDir` and `gateway.backend.versioningDir`; the chart mounts those directories from persistent storage and wires the corresponding backend environment variables automatically.
|
||||
|
||||
| Backend | Description | Example `gateway.backend.args` |
|
||||
|---------|-------------|--------------------------------|
|
||||
@@ -73,6 +73,26 @@ The `gateway.backend.type` value selects the storage backend. Use `gateway.backe
|
||||
| [azure](https://github.com/versity/versitygw/wiki/AzureBlob-Backend) | Azure Blob Storage | `--account myaccount --key mykey` |
|
||||
| [plugin](https://github.com/versity/versitygw/wiki/Plugin-Backend) | Custom backend via shared library plugin | `/path/to/plugin.so` |
|
||||
|
||||
Example for POSIX with sidecar metadata:
|
||||
|
||||
```yaml
|
||||
gateway:
|
||||
backend:
|
||||
type: posix
|
||||
args: /mnt/data
|
||||
sidecarDir: /mnt/metadata
|
||||
```
|
||||
|
||||
Example for POSIX or ScoutFS with object versioning enabled:
|
||||
|
||||
```yaml
|
||||
gateway:
|
||||
backend:
|
||||
type: posix
|
||||
args: /mnt/data
|
||||
versioningDir: /mnt/versioning
|
||||
```
|
||||
|
||||
## Optional Features
|
||||
|
||||
| Feature | Key values |
|
||||
|
||||
@@ -13,6 +13,12 @@
|
||||
{{- if and .Values.persistence.create .Values.persistence.hostPath }}
|
||||
{{- fail "persistence.create must be false for persistence.hostPath can be set" }}
|
||||
{{- end }}
|
||||
{{- if and .Values.gateway.backend.sidecarDir (ne .Values.gateway.backend.type "posix") }}
|
||||
{{- fail "gateway.backend.sidecarDir is only supported with the posix backend" }}
|
||||
{{- end }}
|
||||
{{- if and .Values.gateway.backend.versioningDir (not (or (eq .Values.gateway.backend.type "posix") (eq .Values.gateway.backend.type "scoutfs"))) }}
|
||||
{{- fail "gateway.backend.versioningDir is only supported with the posix and scoutfs backends" }}
|
||||
{{- end }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@@ -61,6 +67,14 @@ spec:
|
||||
value: {{ .Values.gateway.backend.type | quote }}
|
||||
- name: VGW_BACKEND_ARGS
|
||||
value: {{ .Values.gateway.backend.args | quote }}
|
||||
{{- if .Values.gateway.backend.sidecarDir }}
|
||||
- name: VGW_META_SIDECAR
|
||||
value: {{ .Values.gateway.backend.sidecarDir | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.gateway.backend.versioningDir }}
|
||||
- name: VGW_VERSIONING_DIR
|
||||
value: {{ .Values.gateway.backend.versioningDir | quote }}
|
||||
{{- end }}
|
||||
# Root credentials — sourced from a Kubernetes Secret
|
||||
- name: ROOT_ACCESS_KEY_ID
|
||||
valueFrom:
|
||||
@@ -209,6 +223,18 @@ spec:
|
||||
mountPath: /mnt/data
|
||||
subPath: data
|
||||
readOnly: false
|
||||
{{- if .Values.gateway.backend.sidecarDir }}
|
||||
- name: data
|
||||
mountPath: {{ .Values.gateway.backend.sidecarDir }}
|
||||
subPath: metadata
|
||||
readOnly: false
|
||||
{{- end }}
|
||||
{{- if .Values.gateway.backend.versioningDir }}
|
||||
- name: data
|
||||
mountPath: {{ .Values.gateway.backend.versioningDir }}
|
||||
subPath: versioning
|
||||
readOnly: false
|
||||
{{- end }}
|
||||
- name: data
|
||||
mountPath: /mnt/iam
|
||||
subPath: iam
|
||||
|
||||
@@ -133,10 +133,20 @@ gateway:
|
||||
type: posix
|
||||
# Additional arguments passed to the backend
|
||||
args: "/mnt/data"
|
||||
# Optional directory for POSIX sidecar metadata storage. When set, the chart
|
||||
# mounts this path from persistent storage and exports VGW_META_SIDECAR.
|
||||
sidecarDir: ""
|
||||
# Optional directory for POSIX or ScoutFS object version storage. When set,
|
||||
# the chart mounts this path from persistent storage and exports VGW_VERSIONING_DIR.
|
||||
versioningDir: ""
|
||||
# for s3 backend:
|
||||
# args: "--access 0123456 --secret 0xdeadbeef --endpoint http://s3.example.com"
|
||||
# for azure backend:
|
||||
# args: ""--account 0123456 --access-key 0xdeadbeef"
|
||||
# for posix backend with sidecar metadata:
|
||||
# sidecarDir: "/mnt/metadata"
|
||||
# for posix or scoutfs backend with object versioning:
|
||||
# versioningDir: "/mnt/versioning"
|
||||
|
||||
# The port versitygw listens on for S3 API requests.
|
||||
port: 7070
|
||||
|
||||
Reference in New Issue
Block a user