diff --git a/SeaweedFS-Operator.md b/SeaweedFS-Operator.md new file mode 100644 index 0000000..931cdb9 --- /dev/null +++ b/SeaweedFS-Operator.md @@ -0,0 +1,64 @@ +# SeaweedFS Operator + +The SeaweedFS Operator simplifies the deployment and management of SeaweedFS clusters on Kubernetes. + +## Installation + +The recommended way to install the Operator is via Helm: + +```bash +helm repo add seaweedfs https://seaweedfs.github.io/seaweedfs/helm +helm install seaweedfs-operator seaweedfs/seaweedfs-operator +``` + +## IAM Configuration Example + +When using the Operator to enable S3 and IAM, you may want to ensure that IAM changes (like creating users or policies via the API) are persistent. This requires enabling filer persistence and ensuring write access is allowed. + +The following example shows a `Seaweed` custom resource configuration for IAM write access with persistence: + +```yaml +apiVersion: seaweed.seaweedfs.com/v1 +kind: Seaweed +metadata: + name: seaweed1 +spec: + image: chrislusf/seaweedfs:latest + volumeServerDiskCount: 1 + hostSuffix: seaweed.example.com + master: + replicas: 3 + volume: + replicas: 3 + requests: + storage: 2Gi + filer: + replicas: 2 + # Important: Enable persistence for the filer to store IAM metadata + persistence: + enabled: true + storageClassName: standard # Use your storage class + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + # Important: Ensure IAM is enabled and write access is allowed + extraArgs: + - "-iam" + - "-s3.iam.readOnly=false" + s3: + enabled: true + iam: true + config: | + [leveldb2] + enabled = true + dir = "/data/filerldb2" +``` + +### Key Flags for IAM +- `-iam`: Enables the IAM API (embedded in S3). +- `-s3.iam.readOnly=false`: Explicitly allows write access to the IAM API. Default is typically true for some configurations, so setting it to `false` ensures you can create users/policies. + +## Documentation +For more details, see the [IAM Support](https://github.com/seaweedfs/seaweedfs-operator/blob/master/IAM_SUPPORT.md) documentation in the operator repository. diff --git a/_Sidebar.md b/_Sidebar.md index 6c4a924..92df335 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -151,6 +151,7 @@ * [[weed shell]] * [[Data Backup]] * [[Deployment to Kubernetes and Minikube]] +* [[SeaweedFS Operator]] ### Advanced * [[Large File Handling]]