Configuring S3 Bucket Services with flightcontrol.json

S3 Service Attributes

The type for all S3 bucket services is s3, and should be specified like the following:

type: 's3'

Common Service Configuration

Before configuring the service-specific options below, you should review the Common Service Configuration that applies to all service types. This includes important settings for:

  • Name
  • Id

S3-Specific Options

The following attributes are specific to S3 bucket services:

Bucket Name Base

bucketNameBase: string

  • Example: "bucketNameBase": "my-app-assets"
  • Required
  • A random slug will be appended to this base name to create the final bucket name
  • Must be between 3 and 56 characters
  • Must follow AWS bucket naming rules:
    • Can only contain lowercase letters, numbers, and hyphens
    • Must start with a letter or number
    • Cannot have consecutive hyphens
    • Cannot start with ā€œxnā€”ā€œ

Bucket Versioning

bucketVersioning?: boolean

  • Example: "bucketVersioning": false
  • Optional with default: false
  • When enabled, maintains a complete version history of every object in the bucket

Block All Public Access

blockAllPublicAccess?: boolean

  • Example: "blockAllPublicAccess": true
  • Optional with default: true
  • When enabled, blocks all public access to the bucket regardless of bucket policies

Bucket Policy

bucketPolicy?: object

  • Optional
  • For advanced use like if you need public or cross account access. By default, the bucket is accessible by your other Flightcontrol services.
  • Must be a valid AWS S3 bucket IAM policy document
  • See AWS bucket policy documentation for examples and more information.