Skip to content

Commit 0e1d341

Browse files
committed
Added ansible inventory generation
1 parent 1ecafd3 commit 0e1d341

File tree

4 files changed

+44
-0
lines changed

4 files changed

+44
-0
lines changed

terraform/inventory.template

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[k3s-cluster:children]
2+
servers
3+
workers
4+
5+
[servers]%{for host in servers}
6+
${host.server.name} ansible_ssh_host=${host.server.ipv4_address}
7+
%{endfor}
8+
[workers]%{for host in workers}
9+
${host.server.name} ansible_ssh_host=${host.server.ipv4_address}
10+
%{endfor}
11+
[k3s-cluster:vars]
12+
ansible_connection=ssh
13+
ansible_user=root
14+
ansible_python_interpreter="/usr/bin/env python3"
15+
user_username=${user}
16+
user_ssh_key_url=https://github.com/${user}.keys

terraform/main.tf

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
terraform {
2+
required_providers {
3+
local = {
4+
source = "hashicorp/local"
5+
version = "~> 2.1"
6+
}
7+
}
8+
}
9+
110
module "project_init" {
211
source = "./project_init"
312

@@ -31,4 +40,17 @@ module "worker_nodes" {
3140
ssh_key_name = module.project_init.ssh_key_name
3241
kubernetes_private_network_id = module.networking.kubernetes_private_network_id
3342
placement_group_id = module.project_init.placement_group_id
43+
}
44+
45+
resource "local_file" "ansible_inventory_generation" {
46+
filename = abspath("${path.module}/../inventory")
47+
content = templatefile("${path.module}/inventory.template", {
48+
servers: [for i in range(var.server_node_count) : {
49+
server: module.server_nodes.server_nodes[i]
50+
}],
51+
workers: [for i in range(var.worker_node_count) : {
52+
server: module.worker_nodes.worker_nodes[i]
53+
}],
54+
user: var.github_user
55+
})
3456
}

terraform/server_nodes/outputs.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
output "server_nodes" {
2+
value = hcloud_server.server_node
3+
}

terraform/worker_nodes/outputs.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
output "worker_nodes" {
2+
value = hcloud_server.worker_node
3+
}

0 commit comments

Comments
 (0)