Native Shell
Native Shell: AI-generated UI, native in your app, on every platform. Apps on iOS, Android, macOS, Windows and Linux, GPUI apps and web pages load signed, sandboxed TSX modules at run time and draw th
Kubernetes operator to provision MinIO buckets and users via CRDs
Translation pending
Developer toolsPython · DockerfileGitHub @drewsonneOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A lightweight Kubernetes operator that provisions MinIO buckets and users declaratively via CRDs.
Applications can request their own MinIO bucket and credentials without manual MinIO console access.
The operator manages two CRD kinds:
| Kind | What it provisions |
|---|---|
MinioBucket | A MinIO bucket with optional versioning |
MinioUser | A MinIO user with a built-in policy, credentials stored in a K8s Secret |
All resources are reconciled continuously — the operator detects and repairs out-of-band drift every 5 minutes.
Add the Helm repository:
helm repo add minio-provisioner https://drewsonne.github.io/minio-provisioner
helm repo update
Install the chart:
helm install minio-provisioner minio-provisioner/minio-provisioner \
--namespace minio \
--set minio.endpoint=minio.minio.svc.cluster.local:9000 \
--set minio.credentialsSecret.name=minio \
--set minio.credentialsSecret.namespace=minio
apiVersion: v1
kind: Secret
metadata:
name: minio
namespace: minio
stringData:
rootUser: <admin-access-key>
rootPassword: <admin-secret-key>
This is the secret that the official MinIO Helm chart creates automatically.
Default values:
image:
repository: drewsonne/minio-provisioner
tag: latest
minio:
endpoint: minio.minio.svc.cluster.local:9000
secure: false
credentialsSecret:
name: minio
namespace: minio
namespace: minio
Creates a MinIO bucket. The bucket name is taken from metadata.name.
apiVersion: minio.sonne.zone/v1
kind: MinioBucket
metadata:
name: dagster-io
namespace: minio
spec:
versioning: false
Deletion safety: Deleting a MinioBucket CR removes the Kubernetes resource but intentionally does not delete the MinIO bucket or its data, preventing accidental data loss.
Creates a MinIO user with the named built-in policy. The access key is taken from metadata.name.
apiVersion: minio.sonne.zone/v1
kind: MinioUser
metadata:
name: dagster
namespace: minio
spec:
policy: readwrite
secretName: dagster-minio-credentials
secretNamespace: dagster # optional; defaults to CR namespace
policy values:
| Value | Access |
|---|---|
readwrite | Read and write to all buckets |
readonly | Read from all buckets |
writeonly | Write to all buckets |
diagnostics | Read-only diagnostic/metrics access |
consoleAdmin | Full MinIO console administration |
MinioUser creates a Secret containing:
access_key — the MinIO access key (same as the CR name)secret_key — the randomly generated secret keyendpoint — the MinIO endpoint URL (e.g. http://minio.minio.svc.cluster.local:9000)kubectl get secret dagster-minio-credentials -n dagster -o yaml
Use these as AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY environment variables for S3-compatible clients:
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: dagster-minio-credentials
key: access_key
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: dagster-minio-credentials
key: secret_key
secret_key is preserved rather than regenerated; user credentials are not rotated on every reconcileMinioBucket CR preserves the MinIO bucket and its dataMinioUser CR removes the MinIO user and the K8s Secretkubectl describe as a K8s Warning event and in the Drift printer columnkubectl get miniobuckets
kubectl get miniousers
Printer columns include Ready, Drift, and Age. Drift events are also emitted as Kubernetes Warning events visible via kubectl describe.
Build locally:
docker build -t drewsonne/minio-provisioner:dev .
Run locally (requires cluster access and MinIO reachable):
docker run --rm \
-e MINIO_ENDPOINT=minio.minio.svc.cluster.local:9000 \
-e MINIO_ACCESS_KEY=minioadmin \
-e MINIO_SECRET_KEY=minioadmin \
-e MINIO_SECURE=false \
drewsonne/minio-provisioner:dev
MIT