This commit is contained in:
Pim Kunis 2023-06-10 13:10:39 +02:00
commit 3ab58714d6
10 changed files with 160 additions and 0 deletions

36
terraform/.gitignore vendored Normal file
View file

@ -0,0 +1,36 @@
# Local .terraform directories
**/.terraform/*
# .tfstate files
*.tfstate
*.tfstate.*
# Crash log files
crash.log
crash.*.log
# Exclude all .tfvars files, which are likely to contain sensitive data, such as
# password, private keys, and other secrets. These should not be part of version
# control as they are data points which are potentially sensitive and subject
# to change depending on the environment.
*.tfvars
*.tfvars.json
# Ignore override files as they are usually used to override resources locally and so
# are not checked in
override.tf
override.tf.json
*_override.tf
*_override.tf.json
# Include override files you do wish to add to version control using negated pattern
# !example_override.tf
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
# example: *tfplan*
# Ignore CLI configuration files
.terraformrc
terraform.rc
.terraform.lock.hcl
*.tfbackend

30
terraform/data/main.tf Normal file
View file

@ -0,0 +1,30 @@
terraform {
backend "pg" {
schema_name = "nfs-data"
conn_str = "postgres://terraform@10.42.0.1/terraform_state"
}
required_providers {
libvirt = {
source = "dmacvicar/libvirt"
}
}
}
provider "libvirt" {
uri = "qemu+ssh://root@lewis.hyp/system"
}
resource "libvirt_volume" "data" {
name = "nfs-data"
pool = "data"
size = 1024 * 1024 * 1024 * 75
lifecycle {
prevent_destroy = true
}
}
output "data_disk_id" {
value = libvirt_volume.data.id
}

26
terraform/main.tf Normal file
View file

@ -0,0 +1,26 @@
terraform {
backend "pg" {
schema_name = "thecloud"
conn_str = "postgres://terraform@10.42.0.1/terraform_state"
}
required_providers {
libvirt = {
source = "dmacvicar/libvirt"
}
}
}
provider "libvirt" {
uri = "qemu+ssh://root@lewis.hyp/system"
}
module "thecloud" {
source = "git::https://git.pim.kunis.nl/home/tf-modules.git//debian"
name = "thecloud"
domain_name = "tf-thecloud"
hypervisor_host = "lewis.hyp"
mac = "CA:FE:C0:FF:EE:0A"
data_share = ""
data_disk = "/kvm/data/nfs-data"
}