mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 04:19:19 -08:00
fix(meiling): netmask
This commit is contained in:
parent
b70430a4a6
commit
ceea71c77a
10 changed files with 137 additions and 21 deletions
112
tf/proxmox_meiling.tf
Normal file
112
tf/proxmox_meiling.tf
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
locals {
|
||||
meiling_int_prefix4 = "10.9.2.0/24"
|
||||
meiling_int_prefix6 = "fd0c:0:0:2::/64"
|
||||
meiling_int_offset = 32
|
||||
meiling_int_addr4 = local.systems.meiling.network.networks.int.address4
|
||||
#meiling_int_bridge = proxmox_virtual_environment_network_linux_bridge.meiling_internal.name
|
||||
meiling_int_bridge = "vmbr9"
|
||||
|
||||
proxmox_meiling_connection = {
|
||||
type = "ssh"
|
||||
user = var.proxmox_meiling_ssh_username
|
||||
password = var.proxmox_meiling_password
|
||||
host = var.proxmox_meiling_ssh_host
|
||||
port = var.proxmox_meiling_ssh_port
|
||||
}
|
||||
|
||||
proxmox_meiling_users = jsondecode(file("${path.root}/../systems/meiling/users.json"))
|
||||
proxmox_meiling_systems = jsondecode(file("${path.root}/../systems/meiling/systems.json"))
|
||||
proxmox_meiling_extern = jsondecode(file("${path.root}/../systems/meiling/extern.json"))
|
||||
|
||||
proxmox_meiling_files = [
|
||||
for dest, file in local.proxmox_meiling_extern.files : merge(
|
||||
file,
|
||||
{
|
||||
dest = dest
|
||||
path = "${path.root}/../${file.source}"
|
||||
}
|
||||
)
|
||||
]
|
||||
}
|
||||
|
||||
variable "proxmox_meiling_endpoint" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "proxmox_meiling_username" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "proxmox_meiling_password" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "proxmox_meiling_ssh_username" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "proxmox_meiling_ssh_host" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "proxmox_meiling_ssh_port" {
|
||||
type = number
|
||||
}
|
||||
|
||||
provider "proxmox" {
|
||||
alias = "meiling"
|
||||
endpoint = var.proxmox_meiling_endpoint
|
||||
username = var.proxmox_meiling_username
|
||||
password = var.proxmox_meiling_password
|
||||
|
||||
ssh {
|
||||
username = var.proxmox_meiling_ssh_username
|
||||
node {
|
||||
name = "meiling"
|
||||
address = var.proxmox_meiling_ssh_host
|
||||
port = var.proxmox_meiling_ssh_port
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "terraform_data" "proxmox_meiling_etc" {
|
||||
triggers_replace = [for file in local.proxmox_meiling_files : {
|
||||
dest = file.dest
|
||||
sh256 = filesha256(file.path)
|
||||
}]
|
||||
|
||||
connection {
|
||||
type = local.proxmox_meiling_connection.type
|
||||
user = local.proxmox_meiling_connection.user
|
||||
password = local.proxmox_meiling_connection.password
|
||||
host = local.proxmox_meiling_connection.host
|
||||
port = local.proxmox_meiling_connection.port
|
||||
}
|
||||
|
||||
provisioner "remote-exec" {
|
||||
inline = [for file in local.proxmox_meiling_files : "putfile64 ${file.dest} ${filebase64(file.path)}"]
|
||||
}
|
||||
}
|
||||
|
||||
resource "terraform_data" "proxmox_meiling_users" {
|
||||
triggers_replace = {
|
||||
users = local.proxmox_meiling_users
|
||||
}
|
||||
|
||||
connection {
|
||||
type = local.proxmox_meiling_connection.type
|
||||
user = local.proxmox_meiling_connection.user
|
||||
password = local.proxmox_meiling_connection.password
|
||||
host = local.proxmox_meiling_connection.host
|
||||
port = local.proxmox_meiling_connection.port
|
||||
}
|
||||
|
||||
provisioner "remote-exec" {
|
||||
inline = [for user in local.proxmox_meiling_users :
|
||||
"mkpam '${user.name}' '${user.uid}'"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# datasource "proxmox_virtual_environment_network_linux_bridge" "meiling_internal" ?
|
||||
Loading…
Add table
Add a link
Reference in a new issue