50 lines
1.8 KiB
HCL
50 lines
1.8 KiB
HCL
provider "aws" {
|
|
default_tags {
|
|
tags = {
|
|
Id = local.identifier
|
|
}
|
|
}
|
|
}
|
|
|
|
locals {
|
|
identifier = var.identifier # this is a random unique string that can be used to identify resources in the cloud provider
|
|
category = "securitygroups"
|
|
example = "internal"
|
|
email = "terraform-ci@suse.com"
|
|
name = "tf-aws-server-${local.category}-${local.example}-${local.identifier}"
|
|
username = "tf-ci-${local.identifier}"
|
|
image = "sles-15"
|
|
public_ssh_key = var.key # I don't normally recommend this, but it allows tests to supply their own key
|
|
key_name = var.key_name # A lot of troubleshooting during critical times can be saved by hard coding variables in root modules
|
|
# root modules should be secured properly (including the state), and should represent your running infrastructure
|
|
}
|
|
|
|
# selecting the vpc, subnet, and ssh key pair, generating a security group specific to the runner
|
|
module "aws_access" {
|
|
source = "rancher/access/aws"
|
|
version = "v1.1.1"
|
|
owner = local.email
|
|
vpc_name = "default"
|
|
subnet_name = "default"
|
|
security_group_name = local.name
|
|
security_group_type = "internal"
|
|
ssh_key_name = local.key_name
|
|
}
|
|
|
|
module "TestInternal" {
|
|
depends_on = [
|
|
module.aws_access,
|
|
]
|
|
source = "../../../" # change this to "rancher/server/aws" per https://registry.terraform.io/modules/rancher/server/aws/latest
|
|
# version = "v0.0.15" # when using this example you will need to set the version
|
|
image = local.image
|
|
owner = local.email
|
|
name = local.name
|
|
type = "small"
|
|
user = local.username
|
|
ssh_key = local.public_ssh_key
|
|
ssh_key_name = local.key_name
|
|
subnet_name = "default"
|
|
security_group_name = local.name
|
|
}
|