|
1 | 1 | import boto3 |
2 | 2 | import yaml |
3 | | -from aws_cdk import Stack, aws_certificatemanager, aws_ec2, aws_iam, aws_rds |
| 3 | +from aws_cdk import ( |
| 4 | + RemovalPolicy, |
| 5 | + Stack, |
| 6 | + aws_certificatemanager, |
| 7 | + aws_ec2, |
| 8 | + aws_iam, |
| 9 | + aws_rds, |
| 10 | + aws_s3, |
| 11 | +) |
4 | 12 | from aws_cdk.aws_apigateway import DomainNameOptions |
5 | 13 | from aws_cdk.aws_apigatewayv2_alpha import DomainName |
6 | 14 | from constructs import Construct |
@@ -194,12 +202,29 @@ def __init__( |
194 | 202 | ) |
195 | 203 |
|
196 | 204 | if app_config.stac_browser_version: |
| 205 | + stac_browser_bucket = aws_s3.Bucket( |
| 206 | + self, |
| 207 | + "stac-browser-bucket", |
| 208 | + bucket_name=app_config.build_service_name("stac-browser"), |
| 209 | + removal_policy=RemovalPolicy.DESTROY, |
| 210 | + auto_delete_objects=True, |
| 211 | + website_index_document="index.html", |
| 212 | + public_read_access=True, |
| 213 | + block_public_access=aws_s3.BlockPublicAccess( |
| 214 | + block_public_acls=False, |
| 215 | + block_public_policy=False, |
| 216 | + ignore_public_acls=False, |
| 217 | + restrict_public_buckets=False, |
| 218 | + ), |
| 219 | + object_ownership=aws_s3.ObjectOwnership.OBJECT_WRITER, |
| 220 | + ) |
197 | 221 | StacBrowser( |
198 | 222 | self, |
199 | 223 | "stac-browser", |
200 | 224 | github_repo_tag=app_config.stac_browser_version, |
201 | 225 | stac_catalog_url=f"https://{app_config.stac_api_custom_domain}", |
202 | 226 | website_index_document="index.html", |
| 227 | + bucket_arn=stac_browser_bucket.bucket_arn, |
203 | 228 | ) |
204 | 229 |
|
205 | 230 | # we can only do that if the role is created here. |
|
0 commit comments