add consul node
This commit is contained in:
parent
4c574117b4
commit
3e16d61a85
1 changed files with 71 additions and 48 deletions
119
main.tf
119
main.tf
|
@ -1,20 +1,20 @@
|
||||||
provider "proxmox" {
|
provider "proxmox" {
|
||||||
pm_api_url = "https://10.42.42.42:8006/api2/json"
|
pm_api_url = "https://10.42.42.42:8006/api2/json"
|
||||||
pm_user = data.vault_generic_secret.proxmox_auth.data["user"]
|
pm_user = data.vault_generic_secret.proxmox_auth.data["user"]
|
||||||
pm_password = data.vault_generic_secret.proxmox_auth.data["pass"]
|
pm_password = data.vault_generic_secret.proxmox_auth.data["pass"]
|
||||||
pm_tls_insecure = true
|
pm_tls_insecure = true
|
||||||
}
|
}
|
||||||
|
|
||||||
# For full info see: https://blog.xirion.net/posts/nixos-proxmox-lxc/
|
# For full info see: https://blog.xirion.net/posts/nixos-proxmox-lxc/
|
||||||
resource "proxmox_lxc" "nixos-template" {
|
resource "proxmox_lxc" "nixos-template" {
|
||||||
target_node = "nuc"
|
target_node = "nuc"
|
||||||
description = "NixOS LXC Template"
|
description = "NixOS LXC Template"
|
||||||
hostname = "nixos-template"
|
hostname = "nixos-template"
|
||||||
ostemplate = "local:vztmpl/nixos-unstable-default_156198829_amd64.tar.xz"
|
ostemplate = "local:vztmpl/nixos-unstable-default_156198829_amd64.tar.xz"
|
||||||
ostype = "unmanaged"
|
ostype = "unmanaged"
|
||||||
unprivileged = true
|
unprivileged = true
|
||||||
vmid = "101"
|
vmid = "101"
|
||||||
template = true
|
template = true
|
||||||
|
|
||||||
memory = 1024
|
memory = 1024
|
||||||
|
|
||||||
|
@ -24,109 +24,132 @@ resource "proxmox_lxc" "nixos-template" {
|
||||||
|
|
||||||
rootfs {
|
rootfs {
|
||||||
storage = "local-zfs"
|
storage = "local-zfs"
|
||||||
size = "8G"
|
size = "8G"
|
||||||
}
|
}
|
||||||
|
|
||||||
network {
|
network {
|
||||||
name = "eth0"
|
name = "eth0"
|
||||||
bridge = "vmbr0"
|
bridge = "vmbr0"
|
||||||
ip = "dhcp"
|
ip = "dhcp"
|
||||||
hwaddr = "22:D7:C1:FF:9D:5F"
|
hwaddr = "22:D7:C1:FF:9D:5F"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "proxmox_lxc" "vault" {
|
resource "proxmox_lxc" "vault" {
|
||||||
target_node = "nuc"
|
target_node = "nuc"
|
||||||
description = "Vault Secrets Management"
|
description = "Vault Secrets Management"
|
||||||
hostname = "vault"
|
hostname = "vault"
|
||||||
unprivileged = false # needed for mlock
|
unprivileged = false # needed for mlock
|
||||||
vmid = "102"
|
vmid = "102"
|
||||||
clone = "101"
|
clone = "101"
|
||||||
|
|
||||||
memory = 1024
|
memory = 1024
|
||||||
|
|
||||||
rootfs {
|
rootfs {
|
||||||
storage = "local-zfs"
|
storage = "local-zfs"
|
||||||
size = "8G"
|
size = "8G"
|
||||||
}
|
}
|
||||||
|
|
||||||
network {
|
network {
|
||||||
name = "eth0"
|
name = "eth0"
|
||||||
bridge = "vmbr0"
|
bridge = "vmbr0"
|
||||||
ip = "dhcp"
|
ip = "dhcp"
|
||||||
hwaddr = "16:2B:87:55:0C:0C"
|
hwaddr = "16:2B:87:55:0C:0C"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "proxmox_lxc" "mosquitto" {
|
resource "proxmox_lxc" "mosquitto" {
|
||||||
target_node = "nuc"
|
target_node = "nuc"
|
||||||
description = "mosquitto mqtt broker"
|
description = "mosquitto mqtt broker"
|
||||||
hostname = "mosquitto"
|
hostname = "mosquitto"
|
||||||
vmid = 104
|
vmid = 104
|
||||||
clone = 101
|
clone = 101
|
||||||
unprivileged = true
|
unprivileged = true
|
||||||
|
|
||||||
memory = 1024
|
memory = 1024
|
||||||
|
|
||||||
rootfs {
|
rootfs {
|
||||||
storage = "local-zfs"
|
storage = "local-zfs"
|
||||||
size = "8G"
|
size = "8G"
|
||||||
}
|
}
|
||||||
|
|
||||||
network {
|
network {
|
||||||
name = "eth0"
|
name = "eth0"
|
||||||
bridge = "vmbr0"
|
bridge = "vmbr0"
|
||||||
ip = "dhcp"
|
ip = "dhcp"
|
||||||
hwaddr = "C6:F9:8B:3D:9E:37"
|
hwaddr = "C6:F9:8B:3D:9E:37"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "proxmox_lxc" "nginx" {
|
resource "proxmox_lxc" "nginx" {
|
||||||
target_node = "nuc"
|
target_node = "nuc"
|
||||||
description = "nginx reverse proxy"
|
description = "nginx reverse proxy"
|
||||||
hostname = "nginx"
|
hostname = "nginx"
|
||||||
vmid = 106
|
vmid = 106
|
||||||
clone = 101
|
clone = 101
|
||||||
unprivileged = true
|
unprivileged = true
|
||||||
|
|
||||||
memory = 512
|
memory = 512
|
||||||
|
|
||||||
rootfs {
|
rootfs {
|
||||||
storage = "local-zfs"
|
storage = "local-zfs"
|
||||||
size = "8G"
|
size = "8G"
|
||||||
}
|
}
|
||||||
|
|
||||||
network {
|
network {
|
||||||
name = "eth0"
|
name = "eth0"
|
||||||
bridge = "vmbr0"
|
bridge = "vmbr0"
|
||||||
ip = "dhcp"
|
ip = "dhcp"
|
||||||
hwaddr = "6A:C2:89:85:CF:A6"
|
hwaddr = "6A:C2:89:85:CF:A6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "proxmox_vm_qemu" "k3s-node1" {
|
resource "proxmox_vm_qemu" "k3s-node1" {
|
||||||
name = "k3s-node1"
|
name = "k3s-node1"
|
||||||
target_node = "nuc"
|
target_node = "nuc"
|
||||||
vmid = 103
|
vmid = 103
|
||||||
clone = "bastion"
|
clone = "bastion"
|
||||||
tablet = false
|
tablet = false
|
||||||
|
|
||||||
memory = 8192
|
memory = 8192
|
||||||
cores = 4
|
cores = 4
|
||||||
|
|
||||||
agent = 1
|
agent = 1
|
||||||
boot = "order=scsi0;ide2;net0"
|
boot = "order=scsi0;ide2;net0"
|
||||||
|
|
||||||
network {
|
network {
|
||||||
model = "virtio"
|
model = "virtio"
|
||||||
macaddr = "2E:F8:55:23:D9:9B"
|
macaddr = "2E:F8:55:23:D9:9B"
|
||||||
bridge = "vmbr0"
|
bridge = "vmbr0"
|
||||||
}
|
}
|
||||||
|
|
||||||
disk {
|
disk {
|
||||||
type = "scsi"
|
type = "scsi"
|
||||||
storage = "local-zfs"
|
storage = "local-zfs"
|
||||||
size = "64G"
|
size = "64G"
|
||||||
ssd = 1
|
ssd = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "proxmox_lxc" "consul" {
|
||||||
|
target_node = "nuc"
|
||||||
|
description = "consul service mesh"
|
||||||
|
hostname = "consul"
|
||||||
|
vmid = 107
|
||||||
|
clone = 101
|
||||||
|
unprivileged = true
|
||||||
|
|
||||||
|
memory = 512
|
||||||
|
|
||||||
|
rootfs {
|
||||||
|
storage = "local-zfs"
|
||||||
|
size = "8G"
|
||||||
|
}
|
||||||
|
|
||||||
|
network {
|
||||||
|
name = "eth0"
|
||||||
|
bridge = "vmbr0"
|
||||||
|
ip = "dhcp"
|
||||||
|
hwaddr = "D6:DE:07:41:73:81"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue