A Static Site Whose Policy Version Is Not the One Every S3 Example Uses
A Scaleway Object Storage bucket serving a static website. A bucket policy here is version 2023-04-17, not the AWS 2012-10-17 that every S3 example carries and Scaleway has deprecated, and the module checks which one you passed. Without a policy the public-read ACL also publishes the file list, which file_list_is_public reports.
Verification
Static-verifiedPassed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).
Conformance
- Static validation (fmt · validate · tflint)
- No applicable security policies for this provider
- Plan tests (mocked: validation rules · outputs)
Provenance
- SHA-256 checksum
- Signature (pending)
Functional
- Live test pending (no cloud run yet)
Last verified 2026-09-15 · how we verify
Use it from the registry
terraform · opentofumodule "static_site" {
source = "www.iac-bazaar.com/iac-bazaar/scaleway-static-site/scaleway"
version = "1.0.0"
}Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.
Inputs & outputs
Create a free account to read this module's contract
The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.
A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.
Documentation
scaleway-static-site
A static website served from object storage on Scaleway Object Storage. Works with Terraform and OpenTofu
(>= 1.6), scaleway provider >= 2.0, < 3.0.
The website endpoint is plain HTTP on a Scaleway domain and no certificate can be put on it. Your own domain over HTTPS means a CDN in front; cdn_origin is the host to point it at.
The short route to a public site also publishes the file list. The public-read ACL that makes the objects readable also lets anyone list the bucket, and file_list_is_public reports it. Pass bucket_policy to publish the objects alone.
A Scaleway bucket policy is version 2023-04-17, not the AWS 2012-10-17 that every S3 example on the internet carries. Scaleway still parses the old date and has deprecated it, so the module checks the version of the policy you pass and names the one it wanted.
scaleway_object_bucket.acl is deprecated, so the ACL is its own resource here - which is also what lets it flip to private the moment a policy arrives.
Everything in the bucket is public, so accept_public_content has to be set before the module will build it.
Verification
Static validation runs tofu fmt, init, validate, tflint and checkov.
This module has not yet had a live test, so it is published as statically
validated with its live test pending and does not carry the live-tested mark.
Usage code & full reference need an account
The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.
- Usage
Related modules
scaleway-function
A Scaleway Serverless Function in its own namespace, private so an IAM token is needed to invoke it (public by name), plain HTTP redirected to HTTPS, secrets in the encrypted secret variables rather than the plain ones, idling at zero instances with a ceiling you chose, and the zip archive uploaded at apply with its hash so a changed archive redeploys.
scaleway-serverless-container
Container namespace, deployed container, custom domain, and registry wiring.
cloudflare-pages-project
Every branch pushed gets a public preview URL by default, the half-finished pricing page included; an environment variable is readable in the dashboard unless stored as a secret; and the production branch is whatever the repository's default was. Previews limited to the branches you list (every branch by name), each variable marked secret or plain, bindings per environment, and custom domains.
tencent-static-site
A COS bucket serving a static website. The public-read ACL that makes the objects readable also lets anyone list the bucket, and file_list_is_public says so; pass a bucket policy to publish the objects alone. redirect_all_requests_to on COS is a protocol rather than a hostname, which is why it is not exposed here.
huawei-static-site
An OBS bucket serving a static website, published by an OBS-format bucket policy rather than a public-read ACL, so the file list stays private. Encryption is off on purpose: every byte is published deliberately, and an anonymous reader holds no permission on your key, so a key of your own hides nothing and stops the site working.
alicloud-static-site
An OSS bucket serving a static website. The ACL stays private and a bucket policy publishes the objects, because a public-read ACL also lets anyone list every file you ever put there. The website endpoint is plain HTTP on an Alibaba domain and no certificate can go on it, so serves_https is an output and it says false.