Compare commits
2 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e2aebe77af | |||
| 812d3e69f5 |
5 changed files with 35 additions and 4 deletions
|
|
@ -57,7 +57,11 @@ Please refer to official STACKIT [documentation](https://docs.stackit.cloud/stac
|
|||
### Prerequisites
|
||||
|
||||
As for now, the Cloud Foundry organization and the Stage you deploy into have to be created beforehand.
|
||||
In order to create Cloud Foundry resources automatically, you will need a service account and service key. Please refer to the [docs](https://docs.stackit.cloud/stackit/en/how-to-create-cloud-foundry-service-accounts-67772133.html#HowtoCreateCloudFoundryServiceAccounts-StepBySteptotheServiceAccount).
|
||||
You will also need to create an organization manager in order to use STACKIT or custom domains.
|
||||
This can be done via STACKIT [API](https://docs.api.stackit.cloud/documentation/scf/version/v1).
|
||||
If you want to use the org manager inside a Cloud Foundry space, you will need to assign the `SpaceDeveloper` role. This can also be done via [API](https://docs.api.stackit.cloud/documentation/scf/version/v1#tag/Space-Roles/operation/createSpaceRole).
|
||||
|
||||
In order to create Cloud Foundry resources automatically, you will need a service account and service key. Please refer to the [docs](https://docs.stackit.cloud/stackit/en/how-to-create-cloud-foundry-service-accounts-67772133.html#HowtoCreateCloudFoundryServiceAccounts-StepBySteptotheServiceAccount).
|
||||
|
||||
### Deployment
|
||||
|
||||
|
|
|
|||
|
|
@ -8,4 +8,5 @@ docker_username = "<DOCKER-USERNAME>"
|
|||
docker_password = "<DOCKER-PASSWORD>"
|
||||
cf_app_name = "<NAME-OFF-YOUR-APP>"
|
||||
cf_org_name = "<NAME-OF-YOUR-CLOUD-FOUNDRY-ORGANIZATION>"
|
||||
cf_space_name = "<NAME-OF-YOUR-CLOUD-FOUNDRY-SPACE>"
|
||||
cf_space_name = "<NAME-OF-YOUR-CLOUD-FOUNDRY-SPACE>"
|
||||
app_domain = "<YOUR-APP-DOMAIN>"
|
||||
14
terraform/dns.tf
Normal file
14
terraform/dns.tf
Normal file
|
|
@ -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."]
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
|
|
|
|||
Loading…
Reference in a new issue