Skip to content

Commit c850652

Browse files
committed
test: TTL-929 test permissions for tf
1 parent bd0d48a commit c850652

File tree

4 files changed

+124
-0
lines changed

4 files changed

+124
-0
lines changed

.github/workflows/test-ci.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: time-tracker-ui-ci
2+
3+
on:
4+
push:
5+
branches:
6+
- "*"
7+
8+
pull_request:
9+
branches:
10+
- "master"
11+
12+
jobs:
13+
terraform:
14+
runs-on: ubuntu-latest
15+
env:
16+
WORKING_DIR: infrastructure/aws/
17+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
18+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
19+
AWS_REGION: us-east-1
20+
steps:
21+
- name: Checkout to my branch
22+
uses: actions/checkout@v3
23+
24+
- name: Authenticate with the TF modules repository
25+
uses: webfactory/[email protected]
26+
with:
27+
ssh-private-key: ${{ secrets.INFRA_TERRAFORM_MODULES_SSH_PRIV_KEY }}
28+
29+
- name: Terraform init
30+
run: |
31+
echo "** Running Terraform Init**"
32+
terraform init
33+
working-directory: ./${{ env.WORKING_DIR }}
34+
35+
- name: Terraform validate, plan
36+
run: |
37+
echo "** Running Terraform Validate**"
38+
terraform validate
39+
echo "** Running Terraform Plan**"
40+
terraform plan
41+
42+
working-directory: ./${{ env.WORKING_DIR }}

infrastructure/aws/buckets/main.tf

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
terraform {
2+
required_providers {
3+
aws = {
4+
source = "hashicorp/aws"
5+
version = "~> 4.9.0"
6+
}
7+
}
8+
9+
# backend "s3" {
10+
# bucket = "timetracker-stage-frontend-bucket-state"
11+
# key = "timetracker-bucket/terraform.tfstate"
12+
# region = "us-east-1"
13+
# }
14+
15+
}
16+
17+
provider "aws" {
18+
region = "us-east-1"
19+
}
20+
21+
resource "aws_s3_bucket" "timetracker-stage-frontend-bucket-state" {
22+
bucket = var.timetracker-stage-frontend-bucket-state
23+
acl = "private"
24+
}
25+
26+
resource "aws_s3_bucket_versioning" "bucket-timetracker-state-versioning" {
27+
bucket = aws_s3_bucket.timetracker-stage-frontend-bucket-state.id
28+
versioning_configuration {
29+
status = "Enabled"
30+
}
31+
}

infrastructure/aws/main.tf

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
provider "aws" {
2+
region = "us-east-1"
3+
}
4+
5+
module "timetracker-files-s3" {
6+
source = "[email protected]:ioet/infra-terraform-modules.git//aws-static-website"
7+
create_route53_domain = false
8+
bucket_name = var.bucket_name
9+
zone_name = var.zone_name
10+
website_domain = var.domain_name
11+
}
12+
13+
# Enable when launch to PROD files are ready
14+
# module "static-website-people-prod" {
15+
# source = var.repo_source
16+
# create_route53_domain = true
17+
# bucket_name = var.bucket_name
18+
# zone_name = var.zone_name
19+
# website_domain = var.domain_name
20+
# }
21+
22+
resource "null_resource" "upload-files" {
23+
provisioner "local-exec" {
24+
command = "aws s3 sync ../build/ s3://${var.bucket_name} --delete"
25+
interpreter = ["/bin/bash", "-c"]
26+
}
27+
}

infrastructure/aws/variables.tf

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
variable "environment" {
2+
default = "stage"
3+
}
4+
5+
variable "repo_source" {
6+
default = "[email protected]:ioet/infra-terraform-modules.git//aws-static-website"
7+
}
8+
9+
variable "zone_name" {
10+
default = "timetracker.ioet.com"
11+
}
12+
13+
variable "bucket_name" {
14+
default = "timetracker-stage-frontend-bucket-state"
15+
}
16+
17+
variable "domain_name" {
18+
default = "stg2.timetracker.ioet.com"
19+
}
20+
21+
variable "timetracker-stage-frontend-bucket-state" {
22+
type = string
23+
default = "timetarcker-stage-frontend-bucket-state"
24+
}

0 commit comments

Comments
 (0)