Refactor of some modules.

This commit is contained in:
Andrea Dell'Amico 2026-08-11 18:36:21 +02:00
parent e22d4e61a8
commit 6ea6fa5478
Signed by: adellam
GPG Key ID: 147ABE6CEB9E20FF
10 changed files with 115 additions and 77 deletions

View File

@ -1,6 +1,6 @@
# Define required providers # Define required providers
terraform { terraform {
required_version = ">= 0.14.0" required_version = ">= 0.14.0"
required_providers { required_providers {
openstack = { openstack = {
source = "terraform-provider-openstack/openstack" source = "terraform-provider-openstack/openstack"

View File

@ -1,6 +1,6 @@
# Define required providers # Define required providers
terraform { terraform {
required_version = ">= 0.14.0" required_version = ">= 0.14.0"
required_providers { required_providers {
openstack = { openstack = {
source = "terraform-provider-openstack/openstack" source = "terraform-provider-openstack/openstack"

View File

@ -37,3 +37,12 @@ output "haproxy_l7_data" {
output "prometheus_server_data" { output "prometheus_server_data" {
value = var.prometheus_server_data value = var.prometheus_server_data
} }
# Derived from the address plan, so that the addresses are declared once
output "keycloak_ip" {
value = [var.basic_services_ip.keycloak_1, var.basic_services_ip.keycloak_2]
}
output "git_ssh_data" {
value = var.git_ssh_data
}

View File

@ -32,6 +32,24 @@ variable "shared_postgresql_server_data" {
} }
} }
# Git over SSH, published by the load balancers instead of a floating IP on the
# forgejo VM:
#
# client -> Octavia TCP 22 -> HAPROXY L7 tcp 2222 -> forgejo 2222
#
# The public port stays 22, so the clone URLs need no port. The HAPROXY L7 hosts
# cannot listen on 22 either, sshd is there
variable "git_ssh_data" {
type = object({
public_port = number
haproxy_bind_port = number
})
default = {
public_port = 22
haproxy_bind_port = 2222
}
}
variable "basic_services_ip" { variable "basic_services_ip" {
type = map(string) type = map(string)
default = { default = {
@ -47,6 +65,17 @@ variable "basic_services_ip" {
haproxy_l7_2_cidr = "10.10.0.12/32" haproxy_l7_2_cidr = "10.10.0.12/32"
octavia_main = "10.10.0.20" octavia_main = "10.10.0.20"
octavia_main_cidr = "10.10.0.20/32" octavia_main_cidr = "10.10.0.20/32"
# Services deployed by their own workspaces. The sizing of each one is a
# default of its module, under ../../modules; the addresses live here so
# that the whole plan is visible in one place
postgresql = "10.10.0.162"
postgresql_cidr = "10.10.0.162/32"
keycloak_1 = "10.10.0.163"
keycloak_1_cidr = "10.10.0.163/32"
keycloak_2 = "10.10.0.164"
keycloak_2_cidr = "10.10.0.164/32"
forgejo = "10.10.0.165"
forgejo_cidr = "10.10.0.165/32"
} }
} }