77 lines
2 KiB
HCL
77 lines
2 KiB
HCL
terraform {
|
|
backend "pg" {
|
|
schema_name = "dmz_dns"
|
|
conn_str = "postgres://terraform@10.42.0.1/terraform_state"
|
|
}
|
|
|
|
required_providers {
|
|
libvirt = {
|
|
source = "dmacvicar/libvirt"
|
|
}
|
|
template = {
|
|
source = "hashicorp/template"
|
|
}
|
|
}
|
|
}
|
|
|
|
provider "libvirt" {
|
|
uri = "qemu+ssh://root@atlas.lan/system"
|
|
}
|
|
|
|
module "vm" {
|
|
source = "git::https://git.pim.kunis.nl/home/tf-modules.git//debian"
|
|
name = "hermes"
|
|
use_host_cert = false
|
|
fixed_address = "192.168.30.7/24"
|
|
ansible_command = "ANSIBLE_ROLES_PATH=roles ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -u root -i '192.168.30.7,' hermes.yml"
|
|
mac = "CA:FE:C0:FF:EE:07"
|
|
}
|
|
|
|
# resource "libvirt_volume" "main_disk" {
|
|
# name = "${var.name}.iso"
|
|
# pool = "disk"
|
|
# size = 1024 * 1024 * 1024 * 15
|
|
# base_volume_name = "debian-bookworm.qcow2"
|
|
# base_volume_pool = "iso"
|
|
# }
|
|
#
|
|
# resource "libvirt_cloudinit_disk" "cloudinit" {
|
|
# name = "${var.name}.iso"
|
|
# pool = "init"
|
|
# user_data = templatefile("cloud_init.cfg.tftpl", { name = var.name, admin_authorized_keys = var.admin_authorized_keys })
|
|
# network_config = templatefile("network_config.cfg.tftpl", { internal_ip = var.internal_ip })
|
|
# }
|
|
#
|
|
# resource "libvirt_domain" "ubuntu" {
|
|
# name = var.name
|
|
# memory = 1024
|
|
# vcpu = 4
|
|
# autostart = true
|
|
#
|
|
# disk {
|
|
# volume_id = libvirt_volume.main_disk.id
|
|
# }
|
|
#
|
|
# network_interface {
|
|
# bridge = "dmzbr"
|
|
# hostname = var.name
|
|
# mac = "CA:FE:C0:FF:EE:07"
|
|
# }
|
|
#
|
|
# cloudinit = libvirt_cloudinit_disk.cloudinit.id
|
|
#
|
|
# provisioner "local-exec" {
|
|
# command = "ansible-playbook -e internal_ip=${var.internal_ip} -T 60 -u root -i ${var.ansible_inventory} ${var.ansible_playbook}"
|
|
#
|
|
# environment = {
|
|
# ANSIBLE_HOST_KEY_CHECKING = "False"
|
|
# ANSIBLE_CONFIG = "${var.ansible_cfg}"
|
|
# }
|
|
# }
|
|
#
|
|
# lifecycle {
|
|
# replace_triggered_by = [
|
|
# libvirt_cloudinit_disk.cloudinit.id
|
|
# ]
|
|
# }
|
|
# }
|