Previously s3.json was embedded in the seaweedfs-filer-config ConfigMap with hardcoded minioadmin credentials, and the config volume was mounted at /etc/seaweedfs/ (overwriting filer.toml with its own directory mount). - Remove s3.json from ConfigMap; fix the config volume to mount only filer.toml via subPath so both files coexist under /etc/seaweedfs/. - Add vault-secrets.yaml with VaultStaticSecrets that VSO syncs from OpenBao secret/seaweedfs: seaweedfs-s3-credentials (S3_ACCESS_KEY / S3_SECRET_KEY) and seaweedfs-s3-json (s3.json as a JSON template). - Mount seaweedfs-s3-json Secret at /etc/seaweedfs/s3.json via subPath.
57 lines
1.3 KiB
YAML
57 lines
1.3 KiB
YAML
---
|
|
apiVersion: secrets.hashicorp.com/v1beta1
|
|
kind: VaultAuth
|
|
metadata:
|
|
name: vso-auth
|
|
namespace: storage
|
|
spec:
|
|
method: kubernetes
|
|
mount: kubernetes
|
|
kubernetes:
|
|
role: vso
|
|
serviceAccount: default
|
|
---
|
|
apiVersion: secrets.hashicorp.com/v1beta1
|
|
kind: VaultStaticSecret
|
|
metadata:
|
|
name: seaweedfs-s3-credentials
|
|
namespace: storage
|
|
spec:
|
|
vaultAuthRef: vso-auth
|
|
mount: secret
|
|
type: kv-v2
|
|
path: seaweedfs
|
|
refreshAfter: 30s
|
|
destination:
|
|
name: seaweedfs-s3-credentials
|
|
create: true
|
|
overwrite: true
|
|
transformation:
|
|
excludeRaw: true
|
|
templates:
|
|
S3_ACCESS_KEY:
|
|
text: "{{ index .Secrets \"access-key\" }}"
|
|
S3_SECRET_KEY:
|
|
text: "{{ index .Secrets \"secret-key\" }}"
|
|
---
|
|
apiVersion: secrets.hashicorp.com/v1beta1
|
|
kind: VaultStaticSecret
|
|
metadata:
|
|
name: seaweedfs-s3-json
|
|
namespace: storage
|
|
spec:
|
|
vaultAuthRef: vso-auth
|
|
mount: secret
|
|
type: kv-v2
|
|
path: seaweedfs
|
|
refreshAfter: 30s
|
|
destination:
|
|
name: seaweedfs-s3-json
|
|
create: true
|
|
overwrite: true
|
|
transformation:
|
|
excludeRaw: true
|
|
templates:
|
|
"s3.json":
|
|
text: '{"identities":[{"name":"seaweed","credentials":[{"accessKey":"{{ index .Secrets "access-key" }}","secretKey":"{{ index .Secrets "secret-key" }}"}],"actions":["Admin","Read","Write","List","Tagging"]}]}'
|