From sealos
Provisions and manages Sealos object storage via sealos-cli s3 commands. Use for bucket creation, credentials, presigned URLs, and replacing local MinIO.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sealos:sealos-s3The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to give a project real Sealos object storage through `sealos-cli s3`. The default outcome is: identify the app's object-storage need, create or reuse a bucket, initialize credentials only when needed, wire the smallest safe set of local env vars, and verify the project's upload/download or presigned URL path.
Use this skill to give a project real Sealos object storage through sealos-cli s3. The default outcome is: identify the app's object-storage need, create or reuse a bucket, initialize credentials only when needed, wire the smallest safe set of local env vars, and verify the project's upload/download or presigned URL path.
This skill is grounded in zjy365/sealos-cli#28, which registered the s3 command and implemented bucket CRD operations plus S3-compatible object operations.
.env, .env.local, S3 access keys, secret keys, kubeconfig, or Sealos auth files.private.s3 delete-bucket, s3 delete, credential rotation for an active app, or replacing app storage configuration.sealos-cli by default and parse it instead of scraping table output.s3 secret output as sensitive even though the CLI can print it.Confirm the working directory with pwd or git rev-parse --show-toplevel.
Run the analyzer when a project directory is available:
node <SKILL_DIR>/scripts/analyze-project-s3.mjs <project-dir>
Use the analyzer result as a starting point, then inspect the real files it cites before editing anything. It intentionally avoids printing secret values.
sealos-cliPrefer an existing sealos-cli binary:
sealos-cli --version
sealos-cli s3 --help
sealos-cli whoami
If it is not installed, use npx -y sealos-cli@latest ... for one-off commands. Ask before installing it globally.
If auth is missing or expired, run:
sealos-cli login <region>
sealos-cli workspace list
sealos-cli workspace current
Use the workspace the user expects. If multiple workspaces exist and the target is ambiguous, ask before provisioning. sealos-cli s3 derives the object-storage user from the active kubeconfig namespace, so a wrong workspace means wrong buckets and credentials.
List existing buckets first:
sealos-cli s3 buckets -o json
Reuse an existing bucket when its purpose and policy match. Create a new one when the project has no suitable bucket or the user asks for a fresh bucket:
sealos-cli s3 create-bucket <bucket-name> --policy private -o json
Use private unless the user explicitly needs public reads or writes. Bucket policies accepted by the PR are private, publicRead, and publicReadwrite; aliases such as public-read normalize to publicRead, but use canonical values in instructions and scripts.
For app env wiring or object operations, fetch credentials:
sealos-cli s3 secret -o json
The command creates the ObjectStorageUser if it does not exist, then waits briefly for status. If credentials are not ready, retry after a few seconds instead of creating raw CRDs by hand.
Use references/sealos-cli-s3.md for the current command contract and response handling.
Map only the keys the project already uses. Common targets:
| Project signal | Preferred env keys |
|---|---|
| AWS SDK / S3 generic | S3_ENDPOINT, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_BUCKET |
| AWS-style config | AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, S3_BUCKET |
| MinIO replacement | existing MINIO_* keys or migrate to existing S3 keys only if the app supports them |
| Upload libraries | the keys read by the adapter/config file |
Use endpoint from secret.external for local laptop development. Use secret.internal only when the app runs inside Sealos/Devbox and the runtime can reach the internal endpoint.
Read references/env-integration.md before editing env files.
Run the smallest real project path that proves object storage works:
sealos-cli s3 upload, list it, download it to a temp path, and delete the test object.sealos-cli s3 presign <bucket> <key> --expires 3600 -o json and verify the URL only when that is part of the requested workflow.Use --endpoint, --access-key, and --secret-key together only when connecting to a non-Sealos S3-compatible endpoint. Do not mix partial overrides.
Summarize:
s3 secret.sealos-cli s3 upload <bucket> <file> --key <key> -o json.presign for temporary sharing instead of public bucket policy when possible.scripts/analyze-project-s3.mjs - read-only project object-storage intent analyzer.references/sealos-cli-s3.md - PR #28 sealos-cli s3 command contract.references/env-integration.md - safe env-file editing and S3 env-key mapping.npx claudepluginhub labring/sealos-skills --plugin sealosDeploys any GitHub project to Sealos Cloud in one command. Assesses readiness, generates Dockerfile, builds image, creates Sealos template, and deploys.
Deploys MinIO or RustFS object storage to Zeabur and configures S3-compatible connections. Helps with bucket setup, credentials, and internal networking.
Creates Kube-DC storage resources: S3-compatible buckets via ObjectBucketClaim, DataVolumes for VMs using CDI/KubeVirt, and PVCs for containers. Covers mounting, quota checks, and AWS CLI access.