First commit
This commit is contained in:
2
tofu/.gitignore
vendored
Normal file
2
tofu/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/.terraform/
|
||||
/.terraform.lock.hcl
|
||||
4
tofu/cloud-init.yml
Normal file
4
tofu/cloud-init.yml
Normal 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
12
tofu/infra.auto.tfvars
Normal file
@@ -0,0 +1,12 @@
|
||||
vms = {
|
||||
waf1 = {},
|
||||
waf2 = {},
|
||||
waf3 = {},
|
||||
www1 = {},
|
||||
www2 = {},
|
||||
www3 = {},
|
||||
proxy1 = {
|
||||
memory = "8g"
|
||||
disk = "20g"
|
||||
},
|
||||
}
|
||||
11
tofu/main.tf
Normal file
11
tofu/main.tf
Normal 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
8
tofu/terraform.tf
Normal file
@@ -0,0 +1,8 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
multipass = {
|
||||
source = "larstobi/multipass"
|
||||
version = "~> 1.4.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
1
tofu/terraform.tfstate
Normal file
1
tofu/terraform.tfstate
Normal 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}
|
||||
1
tofu/terraform.tfstate.backup
Normal file
1
tofu/terraform.tfstate.backup
Normal 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
9
tofu/variables.tf
Normal 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"),
|
||||
}))
|
||||
}
|
||||
Reference in New Issue
Block a user