ackee
Docs/Ackee Script

bucket

Object storage that blocks public access.

Object storage that blocks public access. Its name is made globally unique for you.

ackee.ack
ackee 1
​
project "shop" {
cloud = "aws"
region = "us-east-1"
}
​
service "web" {
image = "public.ecr.aws/nginx/nginx:latest"
port = 80
}
​
bucket "uploads" {
versioning = true
}
​
connect env "web" -> "uploads"
connect iam "web" -> "uploads"

Fields

FieldTakesMeaning
versioningtrue | false
default true
Keep earlier versions of objects when they are overwritten or deleted.

Any other field is refused (AK204), and the error names the exact type to declare with node for the setting you wanted.

What it becomes

CloudBecomes
AWSAn S3 bucket.
Google CloudA Cloud Storage bucket with uniform access.
AzureA storage account with one blob container.

Joins the shared network net: Azure only — every Azure resource lives in the network's resource group.

What a connection hands over

An env connection to a bucket gives the consumer these variables, each prefixed by the bucket's name in upper case — bucket "orders" gives ORDERS_…:

CloudVariables
AWS_BUCKET, _REGION
Google Cloud_BUCKET, _REGION
Azure_ACCOUNT, _CONTAINER, _URL

Notes

  • Reading and writing objects also needs connect iam from the consumer to the bucket; env only says where it is.
  • Removing a bucket from the file destroys it, and approving that plan asks you to type its name.