Checklist and terraform scaffolding

main
Nick Dumas 1 month ago
commit 762ad95ef0

2
.gitignore vendored

@ -0,0 +1,2 @@
.terraform/
*.tfstate*

@ -0,0 +1,24 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/hashicorp/aws" {
version = "5.99.1"
hashes = [
"h1:967WCGUW/vgrjUMBvC+HCie1DVgOXHwUkhm2ng3twJw=",
"zh:00b0a61c6d295300f0aa7a79a7d40e9f836164f1fff816d38324c148cd846887",
"zh:1ee9d5ccb67378704642db62113ac6c0d56d69408a9c1afb9a8e14b095fc0733",
"zh:2035977ed418dcb18290785c1eeb79b7133b39f718c470346e043ac48887ffc7",
"zh:67e3ca1bf7061900f81cf958d5c771a2fd6048c2b185bec7b27978349b173a90",
"zh:87fadbe5de7347ede72ad879ff8d8d9334103cd9aa4a321bb086bfac91654944",
"zh:901d170c457c2bff244a2282d9de595bdb3ebecc33a2034c5ce8aafbcff66db9",
"zh:92c07d6cf530679565b87934f9f98604652d787968cce6a3d24c148479b7e34b",
"zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425",
"zh:a7d4803b4c5ff17f029f8b270c91480442ece27cec7922c38548bcfea2ac2d26",
"zh:afda848da7993a07d29018ec25ab6feda652e01d4b22721da570ce4fcc005292",
"zh:baaf16c98b81bad070e0908f057a97108ecd6e8c9f754d7a79b18df4c8453279",
"zh:c3dd496c5014427599d6b6b1c14c7ebb09a15df78918ae0be935e7bfa83b894c",
"zh:e2b84c1d40b3f2c4b1d74bf170b9e932983b61bac0e6dab2e36f5057ddcc997f",
"zh:e49c92cb29c53b4573ed4d9c946486e6bcfc1b63f1aee0c79cc7626f3d9add03",
"zh:efae8e339c4b13f546e0f96c42eb95bf8347de22e941594849b12688574bf380",
]
}

@ -0,0 +1,26 @@
## Challenge Deliverables
- [ ] Architecture diagram
- [ ] saved as a PNG
- [ ] Explain decisions and trade-offs
- [ ] Document in README.md
- [ ] Terraform repo scaffolding out the service
## Air Traffic Metrics
- [ ] Ingest raw data into S3
- [ ] Bucket best practices
- [ ] Buckets aren't public
- [ ]
- [ ] Database of my choice
- [ ] Athena?
- [ ] Aurora (Postgresql)
- [ ] API to interact with the data
- [ ] `/load` endpoint
- [ ] Python lambda to upload data to bucket
- [ ] Example data: https://zenodo.org/records/5377831
- [ ] `/metrics` endpoint
- [ ] Python lambda that returns the following:
- [ ] row_count: number of rows in table for full data set
- [ ] last_transponder_seen_at: maximum value for `lastseen`
- [ ] most_popular_destination: most seen value for destination
- [ ] count_of_unique_transponders: unique count of the icao24 field
- [ ] Frontend to display the data
- [ ] Python lambda that renders an HTML page that displays above metrics

@ -0,0 +1,15 @@
terraform {
required_providers {
"aws" {
source = "hashicorp/aws"
version = "~> 5.99"
}
}
}
provider "aws" {
region = "us-east-1"
profile = "transponder-tracker"
assume_role = "terraform-transponder-tracker"
}
Loading…
Cancel
Save