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>
This commit is contained in:
28
infrastructure/variables.tf
Normal file
28
infrastructure/variables.tf
Normal file
@@ -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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user