Sketching out more infra

main
Nick Dumas 4 weeks ago
parent 0dd174d756
commit ed8f56fec1

@ -0,0 +1,4 @@
resource "aws_athena_database" "transponder-metrics" {
name = "transponder_metrics"
bucket = aws_s3_bucket.transponder-data.id
}

@ -0,0 +1,33 @@
data "aws_iam_policy_document" "lambda-load-role" {
statement {
effect = "Allow"
principals {
type = "Service"
identifiers = ["lambda.amazonaws.com"]
}
actions = ["sts:AssumeRole"]
}
}
resource "aws_iam_role" "lambda-load-role" {
name = "lambda-load-role"
assume_role_policy = data.aws_iam_policy_document.lambda-load-role.json
}
data "archive_file" "lambda-load-role" {
type = "zip"
source_file = "src/load.py"
output_path = "src/load.zip"
}
resource "aws_lambda_function" "load" {
function_name = "transponder-tracker-load"
runtime = "python3.11"
role = aws_iam_role.lambda-load-role.arn
handler = "load"
filename = "src/load.zip"
source_code_hash = data.archive_file.lambda-load-role.output_base64sha256
}

@ -0,0 +1,33 @@
data "aws_iam_policy_document" "lambda-metrics-role" {
statement {
effect = "Allow"
principals {
type = "Service"
identifiers = ["lambda.amazonaws.com"]
}
actions = ["sts:AssumeRole"]
}
}
resource "aws_iam_role" "lambda-metrics-role" {
name = "lambda-metrics-role"
assume_role_policy = data.aws_iam_policy_document.lambda-metrics-role.json
}
data "archive_file" "lambda-metrics-role" {
type = "zip"
source_file = "src/metrics.py"
output_path = "src/metrics.zip"
}
resource "aws_lambda_function" "metrics" {
function_name = "transponder-tracker-metrics"
runtime = "python3.11"
role = aws_iam_role.lambda-metrics-role.arn
handler = "metrics"
filename = "src/metrics.zip"
source_code_hash = data.archive_file.lambda-metrics-role.output_base64sha256
}

@ -4,6 +4,10 @@ terraform {
source = "hashicorp/aws"
version = "~> 5.99"
}
archive = {
source = "hashicorp/archive"
version = "~> 2.7"
}
}
}

@ -2,4 +2,10 @@ resource "aws_s3_bucket" "transponder-data" {
bucket_prefix = "transponder-data"
}
resource "aws_s3_bucket_versioning" "transponder-data-versioning" {
bucket = aws_s3_bucket.transponder-data.id
versioning_configuration {
status = "Enabled"
}
}

Loading…
Cancel
Save