Private
Public Access
2
0

First commit

This commit is contained in:
2026-01-07 14:27:55 +03:00
commit 0ffc9385c3
47 changed files with 11658 additions and 0 deletions

2
tofu/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/.terraform/
/.terraform.lock.hcl

4
tofu/cloud-init.yml Normal file
View File

@@ -0,0 +1,4 @@
users:
- name: "root"
ssh_authorized_keys:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOHAAcWecBuLe9gt/NLC5b3DCl68knbwCFcHrH9wPPTk seb@itik.fr"

12
tofu/infra.auto.tfvars Normal file
View File

@@ -0,0 +1,12 @@
vms = {
waf1 = {},
waf2 = {},
waf3 = {},
www1 = {},
www2 = {},
www3 = {},
proxy1 = {
memory = "8g"
disk = "20g"
},
}

11
tofu/main.tf Normal file
View File

@@ -0,0 +1,11 @@
provider "multipass" {}
resource "multipass_instance" "this" {
for_each = var.vms
name = each.key
cpus = each.value.cpus
memory = each.value.memory
disk = each.value.disk
image = each.value.image
cloudinit_file = "cloud-init.yml"
}

8
tofu/terraform.tf Normal file
View File

@@ -0,0 +1,8 @@
terraform {
required_providers {
multipass = {
source = "larstobi/multipass"
version = "~> 1.4.2"
}
}
}

1
tofu/terraform.tfstate Normal file
View File

@@ -0,0 +1 @@
{"version":4,"terraform_version":"1.11.2","serial":31,"lineage":"5ba1e29d-946a-a982-e845-5fae39bcee6e","outputs":{},"resources":[{"mode":"managed","type":"multipass_instance","name":"this","provider":"provider[\"registry.opentofu.org/larstobi/multipass\"]","instances":[{"index_key":"proxy1","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"20g","image":"24.04","memory":"8g","name":"proxy1"},"sensitive_attributes":[]},{"index_key":"waf1","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"waf1"},"sensitive_attributes":[]},{"index_key":"waf2","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"waf2"},"sensitive_attributes":[]},{"index_key":"waf3","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"waf3"},"sensitive_attributes":[]},{"index_key":"www1","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"www1"},"sensitive_attributes":[]},{"index_key":"www2","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"www2"},"sensitive_attributes":[]},{"index_key":"www3","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"www3"},"sensitive_attributes":[]}]}],"check_results":null}

View File

@@ -0,0 +1 @@
{"version":4,"terraform_version":"1.11.2","serial":30,"lineage":"5ba1e29d-946a-a982-e845-5fae39bcee6e","outputs":{},"resources":[{"mode":"managed","type":"multipass_instance","name":"this","provider":"provider[\"registry.opentofu.org/larstobi/multipass\"]","instances":[{"index_key":"proxy1","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"20g","image":"24.04","memory":"8g","name":"proxy1"},"sensitive_attributes":[]},{"index_key":"waf2","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"waf2"},"sensitive_attributes":[]},{"index_key":"waf3","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"waf3"},"sensitive_attributes":[]},{"index_key":"www1","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"www1"},"sensitive_attributes":[]},{"index_key":"www2","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"www2"},"sensitive_attributes":[]},{"index_key":"www3","schema_version":0,"attributes":{"cloudinit_file":"cloud-init.yml","cpus":2,"disk":"12g","image":"24.04","memory":"2g","name":"www3"},"sensitive_attributes":[]}]}],"check_results":null}

9
tofu/variables.tf Normal file
View File

@@ -0,0 +1,9 @@
variable "vms" {
description = "Liste des machines virtuelles"
type = map(object({
cpus = optional(number, 2),
memory = optional(string, "2g"),
disk = optional(string, "12g"),
image = optional(string, "24.04"),
}))
}