diff --git a/terraform/.tfvars.example b/terraform/.tfvars.example index b3a24a2..f49bd8a 100644 --- a/terraform/.tfvars.example +++ b/terraform/.tfvars.example @@ -8,4 +8,5 @@ docker_username = "" docker_password = "" cf_app_name = "" cf_org_name = "" -cf_space_name = "" \ No newline at end of file +cf_space_name = "" +app_domain = "" \ No newline at end of file diff --git a/terraform/dns.tf b/terraform/dns.tf new file mode 100644 index 0000000..e4c6d5c --- /dev/null +++ b/terraform/dns.tf @@ -0,0 +1,14 @@ +resource "stackit_dns_zone" "cloudfoundry-tf" { + dns_name = "cloudfoundry-tf.stackit.gg" + name = "cloudfoundry-tf" + project_id = var.project_id +} + +resource "stackit_dns_record_set" "versatiles" { + name = var.app_domain + type = "ALIAS" + project_id = var.project_id + zone_id = stackit_dns_zone.cloudfoundry-tf.zone_id + # the alias record must point to cf api url + records = ["console.apps.01.cf.eu01.stackit.cloud."] +} diff --git a/terraform/main.tf b/terraform/main.tf index b7a8957..722f26b 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -7,6 +7,11 @@ data "cloudfoundry_space" "space" { org = data.cloudfoundry_org.org.id } +resource "cloudfoundry_domain" "versatiles" { + name = var.app_domain + org = data.cloudfoundry_org.org.id +} + resource "cloudfoundry_app" "versatiles" { name = var.cf_app_name space_name = data.cloudfoundry_space.space.name @@ -18,8 +23,10 @@ resource "cloudfoundry_app" "versatiles" { health_check_type = "http" health_check_http_endpoint = "/" docker_image = var.docker_image - random_route = true - strategy = "rolling" + routes = [{ + route = cloudfoundry_domain.versatiles.name + }] + strategy = "rolling" docker_credentials = { username = var.docker_username password = var.docker_password diff --git a/terraform/variables.tf b/terraform/variables.tf index 43c1ec5..00e904f 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -37,6 +37,11 @@ variable "cf_app_name" { default = "versatiles" } +variable "app_domain" { + type = string + description = "FQDN for the versatiles app." +} + variable "tiles_url" { type = string description = "The url of the tiles file."