add consul node

This commit is contained in:
Vivian 2021-11-03 22:47:44 +01:00
parent 4c574117b4
commit 3e16d61a85
No known key found for this signature in database
GPG key ID: A3923C699D1A3BDA

119
main.tf
View file

@ -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"
} }
} }