From 8b6c42e1c57cf0144cf6f4e1d629f9848d608897 Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Fri, 7 Apr 2023 17:42:54 +0200 Subject: [PATCH] format and partition data disk support only one data disk for now --- files/cloud_init.cfg.tftpl | 16 ++++++++++++++++ main.tf | 7 ++++--- variables.tf | 6 +++--- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/files/cloud_init.cfg.tftpl b/files/cloud_init.cfg.tftpl index 4da01fb..58bff06 100644 --- a/files/cloud_init.cfg.tftpl +++ b/files/cloud_init.cfg.tftpl @@ -33,3 +33,19 @@ runcmd: - dhclient -r - dhclient - locale-gen +%{ if data_disk } +device_aliases: + data: /dev/vdb +disk_setup: + data: + table_type: 'gpt' + layout: true + overwrite: false +fs_setup: + - label: 'data' + filesystem: 'ext4' + device: data.1 + overwrite: false +mounts: +- ["data.1", "/mnt/data"] +%{ endif } diff --git a/main.tf b/main.tf index 5a36a9c..a21f3d4 100644 --- a/main.tf +++ b/main.tf @@ -13,7 +13,8 @@ locals { insecure_password = var.insecure_password, use_host_cert = var.use_host_cert, host_cert = trimspace(null_resource.cert.triggers["cert"]), - private_key = tls_private_key.debian.private_key_openssh + private_key = tls_private_key.debian.private_key_openssh, + data_disk = var.data_disk != null }) } @@ -79,9 +80,9 @@ resource "libvirt_domain" "debian" { } dynamic "disk" { - for_each = var.data_disks + for_each = var.data_disk != null ? [1] : [] content { - volume_id = disk.value + volume_id = var.data_disk } } diff --git a/variables.tf b/variables.tf index ad900ed..4353bd3 100644 --- a/variables.tf +++ b/variables.tf @@ -55,7 +55,7 @@ variable "ca_host" { type = string } -variable "data_disks" { - type = list(string) - default = [] +variable "data_disk" { + type = string + default = null }