SeaweedFS¶
Bucket¶
s3-bucket.yaml
apiVersion: seaweed.seaweedfs.com/v1
kind: Bucket
metadata:
name: <NAME>
namespace: <NAMESPACE>
spec:
clusterRef:
name: seaweed-production
namespace: seaweedfs
versioning: "Off"
quota:
size: "10Gi"
enforce: false
reclaimPolicy: Retain
Credentials¶
s3-credentials.yaml
apiVersion: seaweed.seaweedfs.com/v1
kind: S3Credentials
metadata:
name: <NAME>-credentials
namespace: <NAMESPACE>
spec:
seaweedRef:
name: seaweed-production
namespace: seaweedfs
identityRef:
name: <NAME>-user
secretRef:
name: <NAME>-s3-secret
reclaimPolicy: Retain
Identity¶
s3-identity.yaml
apiVersion: seaweed.seaweedfs.com/v1
kind: S3Identity
metadata:
name: <NAME>-user
namespace: <NAMESPACE>
spec:
seaweedRef:
name: seaweed-production
namespace: seaweedfs
account:
displayName: <DISPLAY-NAME>
email: <EMAIL>
reclaimPolicy: Retain
disabled: false
PolicyBinding¶
s3-policy-binding.yaml
apiVersion: seaweed.seaweedfs.com/v1
kind: S3PolicyBinding
metadata:
name: <NAME>-policy-binding
namespace: <NAMESPACE>
spec:
seaweedRef:
name: seaweed-production
namespace: seaweedfs
policyRef:
name: <NAME>-policy
subjects:
- kind: S3Identity
name: <NAME>-user
reclaimPolicy: Retain
Policy¶
s3-policy.yaml
apiVersion: seaweed.seaweedfs.com/v1
kind: S3Policy
metadata:
name: <NAME>-policy
namespace: <NAMESPACE>
spec:
seaweedRef:
name: seaweed-production
namespace: seaweedfs
reclaimPolicy: Retain
statements:
- effect: Allow
actions:
- s3:ListBucket
resources:
- <NAME>-media
- effect: Allow
actions:
- s3:GetObject
- s3:PutObject
- s3:DeleteObject
resources:
- <NAME>-media/*