S3 (Simple Storage Service)

S3 (Simple Storage Service)

Overview

S3 (Simple Storage Service) provides scalable object storage for your application. Tapitalee automatically provisions Amazon S3 buckets in your AWS account, offering secure, durable, and highly available storage for files, images, documents, backups, and static assets.

Purpose and Benefits

  • Scalable Storage: Virtually unlimited storage capacity that scales automatically
  • Durability: 99.999999999% (11 9’s) data durability with automatic redundancy
  • Availability: High availability with 99.99% uptime SLA
  • Security: Encryption at rest and in transit, fine-grained access controls
  • Cost-Effective: Pay only for storage used, with multiple storage classes
  • Integration: Easy integration with applications via AWS SDKs and REST APIs

AWS Service Details

Under the hood, Tapitalee creates:

  • S3 Bucket: Secure storage container with unique global name
  • Bucket Policies: Access control policies for security

CLI Usage

Create S3 Bucket

tapit  create s3 name=bucket_name [description='My bucket'] [public_access=true|false]

Required Parameters

  • name: Bucket name (must be globally unique, lowercase, alphanumeric with hyphens)

Optional Parameters

  • description: Human-readable description of the bucket’s purpose (default: empty)
  • public_access: Whether to allow public read access to objects (default: false)

Examples

# Basic private S3 bucket
tapit create s3 name=myapp-documents

# Public bucket for static assets
tapit create s3 name=myapp-static-assets description='Public static files' public_access=true

# Bucket for user uploads
tapit create s3 name=myapp-user-uploads description='User uploaded files'

Modify S3 Bucket

tapit  set s3 name=bucket_name [description='New description'] [public_access=true|false]

Modifiable Parameters

  • description: Update bucket description
  • public_access: Change public access settings

List and Show S3 Buckets

# List all addons (including S3 buckets)
tapit list addons

# Show specific S3 bucket details
tapit show addon name=bucket_name

Delete S3 Bucket

tapit delete addon name=bucket_name

Warning: This permanently deletes the S3 bucket. The bucket must be empty before deletion.

Environment Variables

When you create an S3 bucket, Tapitalee automatically injects connection details as environment variables:

  • S3_BUCKET: Bucket name

Security and Access Control

Private Buckets (public_access=false)

  • Default Setting: Objects are private by default
  • Application Access: Only your Tapitalee application can read/write objects
  • IAM Permissions: Controlled via IAM roles and policies

Public Buckets (public_access=true)

  • Public Read: Anyone can read objects via direct URL
  • Write Protection: Only your application can write objects

Common Use Cases

File Uploads and Storage

# Create bucket for user file uploads
tapit create s3 name=myapp-uploads description='User uploaded files'

Static Asset Hosting

# Create public bucket for static assets
tapit create s3 name=myapp-static public_access=true description='CSS, JS, images'

Document Archive

# Create bucket for document storage
tapit create s3 name=myapp-documents description='Document archive and backup'

Application Backups

# Create bucket for application backups
tapit create s3 name=myapp-backups description='Database and application backups'