Skip to content

Commit c8eebbf

Browse files
committed
chore: cloudformation
1 parent 84e02e4 commit c8eebbf

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: 'Deploy Cloudformation'
2+
3+
on:
4+
workflow_dispatch:
5+
6+
push:
7+
paths:
8+
- 'deploy/cloudformation/**'
9+
10+
jobs:
11+
get_values:
12+
uses: apify/workflows/.github/workflows/get_values.yaml@v0.27.0
13+
14+
deploy_cloudformation:
15+
needs:
16+
- get_values
17+
uses: apify/workflows/.github/workflows/deploy_cloudformation.yaml@v0.27.0
18+
secrets:
19+
awsAccessKeyId: ${{ secrets.AWS_ACCESS_KEY_ID }}
20+
awsSecretAccessKey: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
21+
slackToken: ${{ secrets.SLACK_BOT_USER_OAUTH_ACCESS_TOKEN }}
22+
with:
23+
stackName: apify-docs-preview
24+
templateFile: deploy/cloudformation/s3.yaml
25+
cloudformationRoleArn: arn:aws:iam::031263542130:role/ApifyCloudFormationServiceRole
26+
s3Bucket: apify-cf-templates-store-organization
27+
capabilities: CAPABILITY_NAMED_IAM
28+
revision: ${{ needs.get_values.outputs.short_commit_sha }}

deploy/cloudformation/s3.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
AWSTemplateFormatVersion: "2010-09-09"
2+
Description: This template creates an S3 bucket and access control policy for apify-docs-preview
3+
Metadata:
4+
License: Apache-2.0
5+
6+
Resources:
7+
S3Bucket:
8+
Type: AWS::S3::Bucket
9+
DeletionPolicy: Retain
10+
UpdateReplacePolicy: Retain
11+
Properties:
12+
BucketName: apify-docs-preview
13+
# Maintaining your public access settings
14+
PublicAccessBlockConfiguration:
15+
BlockPublicAcls: false
16+
BlockPublicPolicy: false
17+
IgnorePublicAcls: false
18+
RestrictPublicBuckets: false
19+
# Enable encryption for data at rest
20+
BucketEncryption:
21+
ServerSideEncryptionConfiguration:
22+
- ServerSideEncryptionByDefault:
23+
SSEAlgorithm: AES256
24+
Tags:
25+
- Key: component
26+
Value: apify-docs
27+
- Key: owner
28+
Value: apify-docs
29+
30+
# Adding a bucket policy to grant public read access
31+
BucketPolicy:
32+
Type: AWS::S3::BucketPolicy
33+
Properties:
34+
Bucket: !Ref S3Bucket
35+
PolicyDocument:
36+
Version: "2012-10-17"
37+
Statement:
38+
- Sid: PublicReadForGetBucketObjects
39+
Effect: Allow
40+
Principal: '*'
41+
Action: 's3:GetObject'
42+
Resource: !Sub 'arn:aws:s3:::${S3Bucket}/*'

0 commit comments

Comments
 (0)