Category Archives: terraform

Create subjects / content with for_each


title: “Create subjects / content with for_each”
date: 2023-02-15T09:55:28
slug: create-subjects-content-with-for_each


dynamic "subject" {
for\_each = ["r5s:test1:admin", "r5s:test2:admin"]
content{
kind = "Group"
name = subject.value
api\_group = "rbac.authorization.k8s.io"
}
}

Use Variable in user_data


title: “Use Variable in user_data”
date: 2022-02-04T09:57:30
slug: use-variable-in-user_data


resource "aws\_instance" "web" {
ami = "ami-xxxxxxxxxxxxxxxxx"
instance\_type = "t2.micro"
user\_data = templatefile("${path.module}/init.ps1", {
environment = var.env
hostnames = {"dev":"devhost","test":"testhost","prod":"prodhost"}
})
tags = {
Name = "HelloWorld"
}
}
cat init.sh
#!/bin/bash
echo ${ip} > /tmp/ip
apt update
apt -y upgrade
curl -sfL https://get.k3s.io | INSTALL\_K3S\_EXEC="--tls-san ${ip}" sh -s -

Oder eine Variable definieren um diese öfter zu verwenden:

locals {
web\_user\_data = templatefile("${path.module}/init.ps1", {
environment = var.env
hostnames = {"dev":"devhost","test":"testhost","prod":"prodhost"}
})
}
resource "aws\_instance" "web" {
ami = "ami-xxxxxxxxxxxxxxxxx"
instance\_type = "t2.micro"
user\_data = local.web\_user\_data
tags = {
Name = "HelloWorld"
}
}