From 86450b3dd8bec3b76e2b2a03b8cdc8a708c5f3bc Mon Sep 17 00:00:00 2001 From: Joe Carstairs <65492573+joeacarstairs@users.noreply.github.com> Date: Sun, 5 May 2024 21:00:40 +0100 Subject: Infrastructure as code (#3) * Moves website to website/ * Adds terraform gitignores * Terraform with AWS provider * Initialises Terraform * Locals and variables for provider * Fetches SSL certificate from ACM * S3 static website bucket * CloudFront distribution * Route53 records * Deployment workflow uses secret S3 bucket suffix * Adds README --------- Co-authored-by: Joe Carstairs <65492573+Sycamost@users.noreply.github.com> --- infrastructure/variables.tf | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 infrastructure/variables.tf (limited to 'infrastructure/variables.tf') diff --git a/infrastructure/variables.tf b/infrastructure/variables.tf new file mode 100644 index 0000000..224ada4 --- /dev/null +++ b/infrastructure/variables.tf @@ -0,0 +1,28 @@ +variable "aws_access_key" { + type = string + sensitive = true + description = "An AWS access key with permission to provision all relevant resources" +} + +variable "aws_secret_key" { + type = string + sensitive = true + description = "The secret corresponding to the provided AWS access key" +} + +variable "secret_s3_bucket_suffix" { + type = string + sensitive = true + description = "This string should be a long string of up to 54 random characters. It will be appended to the S3 bucket name to mitigate the risk of DDoS attacks." + nullable = false + + validation { + condition = length(var.secret_s3_bucket_suffix) > 12 + error_message = "This string should be at least 12 characters" + } + + validation { + condition = length(var.secret_s3_bucket_suffix) <= 54 + error_message = "This string should be no more than 54 characters long" + } +} -- cgit v1.2.3