terraform

docker swarm initialization
This commit is contained in:
Pim Kunis 2023-05-02 11:51:22 +02:00
commit b8afb2ac64
10 changed files with 172 additions and 0 deletions

38
terraform/.gitignore vendored Normal file
View file

@ -0,0 +1,38 @@
# 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
.vault_password

33
terraform/main.tf Normal file
View file

@ -0,0 +1,33 @@
terraform {
backend "pg" {
schema_name = "shoarma"
conn_str = "postgres://terraform@10.42.0.1/terraform_state"
}
required_providers {
libvirt = {
source = "dmacvicar/libvirt"
}
}
}
provider "libvirt" {
uri = "qemu+ssh://root@atlas.hyp/system"
}
module "manager" {
source = "git::https://git.pim.kunis.nl/home/tf-modules.git//debian"
name = "maestro"
domain_name = "tf-maestro"
memory = 1024
}
module "workers" {
for_each = {
worker1 = "tf-worker1"
}
source = "git::https://git.pim.kunis.nl/home/tf-modules.git//debian"
name = each.key
domain_name = each.value
memory = 1024 * 3
}