diff options
| author | jerome <jerome@xlinfo.fr> | 2025-01-29 18:51:37 +0100 |
|---|---|---|
| committer | jerome <jerome@xlinfo.fr> | 2025-01-29 18:51:37 +0100 |
| commit | 51f8d2c817097492cd762f2a1b151b0efeba0315 (patch) | |
| tree | cbcc1fce7efc9d78d23d05a8a428b9505cfc1e29 | |
| parent | 81b6cff609c1f70a62fda6e437756875244e2c55 (diff) | |
| download | kvm-51f8d2c817097492cd762f2a1b151b0efeba0315.tar.gz kvm-51f8d2c817097492cd762f2a1b151b0efeba0315.zip | |
ajout de variables
| -rw-r--r-- | cloud_init.cfg | 17 | ||||
| -rw-r--r-- | debian_plan | bin | 0 -> 6560 bytes | |||
| -rw-r--r-- | libvirt.tf | 28 | ||||
| -rw-r--r-- | rocky_plan | bin | 0 -> 9837 bytes | |||
| -rw-r--r-- | terraform.tfvars | 14 | ||||
| -rw-r--r-- | variables.tf | 16 |
6 files changed, 56 insertions, 19 deletions
diff --git a/cloud_init.cfg b/cloud_init.cfg index 8fc5b6e..1bd0db6 100644 --- a/cloud_init.cfg +++ b/cloud_init.cfg @@ -1,18 +1,22 @@ #cloud-config +hostname: ${nom} +manage_etc_hosts: true +fqdn: ${nom} users: - name: jerome + lock_passwd: false + passwd: $6$HiJy.FDst/oZW34k$yY/T.VDsZJgI7o7kvbpRbLe7JLfyxAso6KPTb6TbqdHKCNE5fVq2.eJWxCP9QfsI/7rpluw9HKy7LHVSfLPdC0 ssh_authorized_keys: - - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDobbYBfvqhgsBEsW3hp98g/XYzqAZd3Zft+se52RJ5MOvNoHNTHmjBBFXqFWCK3ugKjK38Esr+ncQKuOMRZQpQkdJ6RhcSqc8UZsKnmw+5RtZ8sJ/rDAOW5c37G7e459KozNNQAJ0TAWzonDkVEDRA+OOz/zyvOYDTZF1MRAunFTdxxHuP08Et0hAj7irjlTuXhh7hwX+o4ejN2dI+zkH0qc401INYFXPg9E3EdeX8maWfJpJvVi0aRDvP32iOnFKTjNPvpQaF6hL53QNnDqUCCxpEUP2ebVKvI/bt40RvwxuqTu8qlxnsyIqpX/UjPMtCTAINPzNCTJ8Gg2j3zyirlP9jO+6kPYNP/+uQ6RXDFBQJm6ew1okBkk2gCB1fDhERrKo7GIHYhcu6rT1mWv2v+8+FG1y6DL7qN4Q9XQSxfqNPXh+rCU5wZsGXgLHhqoKSer3eB7eAKoP9tqiddyRU+YImHGgj4v8c07U/KziSmhScrzxNh7s1pQ9V5149UnM= jerome@jerome-laptop + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZJG/XcIIvW0JOJb6ftEpopS4szOo8dRehASGIOAswPRko6JFMT9QuAvl9YkmzgSorn0KpyQrqAxNTklADocMGPW2BJzKb/1fQyZYKY9bLXxyKaYZKbDZNaUJmW92ThDmUrIWPgjh5BhUxOTwRbDhTsRu/pvulnGw+8yOp7Tz8nUgAoJEZ/7fGkm7AaJPLmF/szQEhL/WSNqTtNdCHNYpQqgRIUZh5zqcb2jXa0pZ7GMnPmoSUMlz1OfAxMOIuziaP3i1J/KHVhXdxj4nrOtUjrUULfqk9vyfKkf7BLYKO3fO3BLR9H5HgeTlaB2aXNuDgRAQposNZ0FEK/VkWj+DQuqjuj9nYo57GbfMfhWr/dTKxTVj3xsbFdThDWtlp7sVI2jguqntwwlmhhexJp1fAYZn92KYkaxGHWLbR0bxLEWVjHXciVW2D12IUZfGWXh5wInoQN1gs1i6NUqgf1uDZhAax5H9G07YySR2fnM9TB5c5apyf7PFCg1kZAnqVHrE= jerome@parrot sudo: ['ALL=(ALL) NOPASSWD:ALL'] shell: /bin/bash - groups: wheel -runcmd: - - cp /etc/skel/.bash* /home/jerome/ - - chown jerome:jerome /home/jerome/.bash* - - hostnamectl set-hostname rocky +runcmd: + - cp /etc/skel/.* /home/jerome/ + - chown jerome:jerome /home/jerome/.* + - ${package} write_files: - path: /home/jerome/helloworld @@ -21,4 +25,3 @@ write_files: echo "Hello World !" permissions: 0755 - diff --git a/debian_plan b/debian_plan Binary files differnew file mode 100644 index 0000000..c8c0095 --- /dev/null +++ b/debian_plan @@ -1,15 +1,18 @@ # Defining VM Volume -resource "libvirt_volume" "rocky-qcow2" { - name = "rocky.qcow2" +resource "libvirt_volume" "qcow2_vol" { + name = "${var.nom}.qcow2" pool = "default" - #source = "https://download.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud-Base.latest.x86_64.qcow2" - source = "/home/jerome/Téléchargements/isos/Rocky-9-GenericCloud-Base.latest.x86_64.qcow2" + source = var.image format = "qcow2" } # get user data info data "template_file" "user_data" { template = file("${path.module}/cloud_init.cfg") + vars = { + nom = var.nom + package = var.package + } } # Use CloudInit to add the instance @@ -20,25 +23,25 @@ resource "libvirt_cloudinit_disk" "commoninit" { } # Define KVM domain to create -resource "libvirt_domain" "rocky" { - name = "rocky" - memory = "2048" - vcpu = 2 +resource "libvirt_domain" "vm_domain" { + name = var.nom + memory = "2048" + vcpu = 2 qemu_agent = true - cpu { + cpu { mode = "host-passthrough" } network_interface { #network_name = "default" - bridge = "nm-bridge" + bridge = "bridge0" wait_for_lease = true } disk { - volume_id = libvirt_volume.rocky-qcow2.id + volume_id = libvirt_volume.qcow2_vol.id } cloudinit = libvirt_cloudinit_disk.commoninit.id @@ -57,6 +60,7 @@ resource "libvirt_domain" "rocky" { } # Output Server IP +# Nécessite qemu-guest-agent sinon bloque la fin de l'installation !!! output "ip" { - value = libvirt_domain.rocky.network_interface.0.addresses + value = libvirt_domain.vm_domain.network_interface.0.addresses } diff --git a/rocky_plan b/rocky_plan Binary files differnew file mode 100644 index 0000000..03bfdc2 --- /dev/null +++ b/rocky_plan diff --git a/terraform.tfvars b/terraform.tfvars new file mode 100644 index 0000000..f8d043f --- /dev/null +++ b/terraform.tfvars @@ -0,0 +1,14 @@ +# Assignation des variables + +########## machine rocky ########## +nom = "rocky" +image = "/home/jerome/Téléchargements/isos/Rocky-9-GenericCloud-Base.latest.x86_64.qcow2" +#image = "https://download.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud-Base.latest.x86_64.qcow2" +package = "# rien à faire : qemu-guest-agent pré-installé" + +########## machine debian ########## +#nom = "debian" +#image = "/home/jerome/Téléchargements/isos/debian-12-generic-amd64.qcow2" +#image = "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2" +#package = "apt update && apt install -y qemu-guest-agent && systemctl start qemu-guest-agent" + diff --git a/variables.tf b/variables.tf new file mode 100644 index 0000000..0dbb12f --- /dev/null +++ b/variables.tf @@ -0,0 +1,16 @@ +# définition des variables + +variable "nom" { + description = "nom distribution" + type = string +} + +variable "image" { + description = "source de l'image disque" + type = string +} + +variable "package" { + description = "nom du package manager (dnf/apt) pour installer qemu-guest-agent le cas échéant)" + type = string +} |
