Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

HOW TO WORK WITH THIS REPO

pre-commit terraform-docs

Requirements

Name Version
local ~> 2.5.2
openstack ~> 3.0.0

Providers

Name Version
local ~> 2.5.2
openstack ~> 3.0.0

Modules

No modules.

Resources

Name Type
local_file.k8s_inventory resource
local_file.k8s_variable resource
openstack_blockstorage_volume_v3.additional_volumes resource
openstack_compute_instance_v2.bastion resource
openstack_compute_instance_v2.control_nodes resource
openstack_compute_instance_v2.worker_nodes resource
openstack_compute_keypair_v2.pubkey resource
openstack_compute_servergroup_v2.anti_affinity_group resource
openstack_compute_volume_attach_v2.additional_volumes_attachment resource
openstack_lb_listener_v2.lb_kube_api_listener resource
openstack_lb_loadbalancer_v2.lb_kube_api resource
openstack_lb_member_v2.lb_kube_api_member resource
openstack_lb_monitor_v2.lb_kube_api_monitor resource
openstack_lb_pool_v2.lb_kube_api_pool resource
openstack_networking_floatingip_associate_v2.bastion_fip_associate resource
openstack_networking_floatingip_associate_v2.lb_kube_api_fip_associate resource
openstack_networking_floatingip_associate_v2.res_vip_fip_associate resource
openstack_networking_floatingip_v2.bastion_fip resource
openstack_networking_floatingip_v2.lb_kube_api_fip resource
openstack_networking_floatingip_v2.vip_fip resource
openstack_networking_network_v2.network_default resource
openstack_networking_port_v2.bastion_port resource
openstack_networking_port_v2.control_ports resource
openstack_networking_port_v2.vip_port resource
openstack_networking_port_v2.worker_ports resource
openstack_networking_router_interface_v2.router_interface resource
openstack_networking_router_v2.router_default resource
openstack_networking_secgroup_rule_v2.secgroup_rules resource
openstack_networking_secgroup_v2.secgroup_default resource
openstack_networking_subnet_v2.subnet_default resource
openstack_images_image_v2.nodes_image data source
openstack_networking_network_v2.external_network data source
openstack_networking_router_v2.router_available data source

Inputs

Name Description Type Default Required
bastion_flavor n/a string "e1.small" no
bastion_image Bastion OS: Image name string "ubuntu-noble-x86_64" no
bastion_name Name of the bastion VM. Must match [a-zA-Z0-9-]+ regexp. string "bastion-server" no
bastion_ssh_user_name n/a string "ubuntu" no
control_nodes_count ######################## control nodes settings # ######################## number 3 no
control_nodes_flavor n/a string "hpc.8core-32ram-ssd-ephem" no
control_nodes_name Name of the nodes. Must match [a-zA-Z0-9-]+ regexp. string "control" no
control_nodes_volume_size The size of the volume to create (in gigabytes) for root filesystem. string "30" no
create_lb_kube_api Create Load Balancer for kube-api bool false no
custom_security_group_rules Custom security group rules to override the defaults
map(object({
description = string
direction = string
ethertype = string
protocol = string
port_range_min = number
port_range_max = number
remote_ip_prefix = string
}))
{} no
infra_name Infrastructure (profile) name. Used as a name prefix. Must match [a-zA-Z0-9-]+ regexp. string "general-tf-demo" no
internal_network_cidr Internal network address, use CIDR notation string "10.0.0.0/24" no
internal_network_creation_enable Create dedicated internal network. true/false ~ create new / reuse existing personal network bool true no
internal_network_name Internal network name. Either dedicated new network or existing personal network name string "<var.infra_name>_network" no
internal_subnet_creation_enable Create dedicated subnet instance. true/false ~ create new / reuse existing personal subnet bool true no
internal_subnet_name Internal network subnet name. Either dedicated new subnet or existing personal subnet name string "<var.infra_name>_subnet" no
kube_fip Allocate floating IP for kubespray bool false no
kube_fip_create_port True if you want floating IP address for kube-vip to access kube-api bool false no
kube_vip Internal IP for kube-vip to access kube-api string "10.0.0.5" no
lb_kube_api_listener_port Listener port for kube-aip load balancer number 6443 no
lb_kube_api_member_port Port number where kube-api listens. number 6443 no
nodes_image Image used for both control and worker servers string "ubuntu-noble-x86_64" no
public_external_network Cloud public external network pool string "external-ipv4-general-public" no
remove_rules List of default rule keys to be removed list(string) [] no
router_creation_enable Create dedicated router instance. true/false ~ create new / reuse existing personal router bool true no
ssh_public_key n/a string "~/.ssh/id_rsa.pub" no
ssh_user_name n/a string "ubuntu" no
worker_nodes ######################## worker nodes settings # ########################
list(object({
name = string
flavor = string
count = number
volume_size = number
additional_volumes = list(object({
size = number
}))
}))
n/a yes

Outputs

Name Description
bastion_external_ip n/a
control_instance_ip n/a
lb_external_ip n/a
vip_fip n/a
vip_ip n/a
worker_instance_ip n/a