S3-compatible object storage,hosted in India.
Back-up artifacts, host static assets, store user uploads. Standard AWS S3 API surface, INR-priced per gigabyte, with a generous free monthly tier that rolls into the next bill cycle.
- AWS S3 API — any S3 client works
- Per-bucket lifecycle, CORS, versioning
- Per-key ACLs: read, write, list, delete
- Free 5 GB stored, 10 GB egress / month
- Streaming multipart uploads
- Byte-accurate billing via log shipper
- GST invoices · SAC 998314
- INR billing · Razorpay e-mandate
- TOTP 2FA · AES-256 secrets at rest
- 90-day audit log · per-IP API keys
- Cashfree KYC · DPDP-aware
- Servers in India
Boring, standard, S3.
If your application speaks S3, it speaks Rudra Cloud Object Storage. Endpoint URL, access key, secret — wired up in under a minute.
Per-key ACLs
Generate multiple access keys per bucket with read / write / list / delete grants. Rotate without downtime; secret shown once at creation.
Lifecycle rules
Configure object expiration and incomplete-multipart cleanup per bucket. Versioning is opt-in, per bucket.
Streaming uploads
Multi-gigabyte files via presigned multipart uploads. Direct PUT to Garage; the panel never proxies your bytes.
Region-isolated
Each region is a standalone Garage instance. No cross-region replication in v1 — your data stays where you put it.
AWS S3 API surface
Use the standard AWS SDKs (s3cmd, awscli, boto3, aws-sdk-js, mc) by pointing them at the region endpoint. No proprietary client.
Honest billing
We meter via an HMAC-signed daemon that tails Garage's access log — not Garage's own metrics — so per-bucket usage is byte-accurate.
Three meters, no fine print.
Storage, egress, and operations — billed per gigabyte and per 1,000 ops. Ingress is free; intra-region API calls are not billed.
Standard
IndiaS3-compatible object storage in India. Ingress free, monthly free tier rolls into the next bill cycle.
- Storage
- ₹1.50 / GB / mo
- Egress
- ₹0.80 / GB
- Reads & lists
- ₹0.30 / 1k ops
- Writes & deletes
- ₹0.50 / 1k ops
- Ingress
- Free
- Free tier
- 5 GB + 10 GB egress / mo
All prices exclude 18% GST. Free tier rolls into the next monthly bill cycle.
Estimate my billIf your code already talks to S3, this is the only line you change.
aws configure set aws_access_key_id $RC_ACCESS_KEY
aws configure set aws_secret_access_key $RC_SECRET_KEY
aws --endpoint-url https://s3.blr.rudracloud.in \
s3 cp ./build.tar.gz s3://my-bucket/releases/import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
const s3 = new S3Client({
endpoint: "https://s3.blr.rudracloud.in",
region: "blr",
credentials: {
accessKeyId: process.env.RC_ACCESS_KEY!,
secretAccessKey: process.env.RC_SECRET_KEY!,
},
forcePathStyle: true,
});
await s3.send(new PutObjectCommand({
Bucket: "my-bucket",
Key: "uploads/avatar.png",
Body: file,
}));