This commit is contained in:
Alex
2025-08-26 05:50:37 +00:00
parent bf5c5a998e
commit a63dfeebaa
6 changed files with 69 additions and 36 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
terraform/.terraform.lock.hcl
terraform/.terraform/
terraform/terraform.tfstate

View File

@@ -6,10 +6,41 @@
Make sure Podman API socket is running and enabled Make sure Podman API socket is running and enabled
´´´bash ```bash
sudo systemctl enable --now podman.socket sudo systemctl enable --now podman.socket
´´´ ```
### Build terraform-podman ### Running terraform
podman build -t terraform-podman infrastructure/terraform/ First init
```bash
sudo podman run --rm -it \
-v /run/podman/podman.sock:/run/podman/podman.sock \
-v $(pwd)/terraform:/workspace \
-w /workspace \
-e PODMAN_SOCK=unix:///run/podman/podman.sock \
hashicorp/terraform:1.13 init
```
Then plan
```bash
sudo podman run --rm -it \
-v /run/podman/podman.sock:/run/podman/podman.sock \
-v $(pwd)/terraform:/workspace \
-w /workspace \
-e PODMAN_SOCK=unix:///run/podman/podman.sock \
hashicorp/terraform:1.13 plan
```
Then apply
```bash
sudo podman run --rm -it \
-v /run/podman/podman.sock:/run/podman/podman.sock \
-v $(pwd)/terraform:/workspace \
-w /workspace \
-e PODMAN_SOCK=unix:///run/podman/podman.sock \
hashicorp/terraform:1.13 apply
```

View File

@@ -1 +0,0 @@
FROM docker.io/hashicorp/terraform:1.13:1.13

View File

@@ -1,6 +0,0 @@
sudo podman run --rm -it \
-v /run/podman/podman.sock:/run/podman/podman.sock \
-v $(pwd)/terraform:/workspace \
-w /workspace \
-e PODMAN_SOCK=unix:///run/podman/podman.sock \
terraform-podman plan

View File

@@ -1,13 +1,14 @@
terraform { terraform {
required_providers { required_providers {
podman = { docker = {
source = "project0/podman" source = "kreuzwerker/docker"
version = "3.6.2"
} }
} }
} }
provider "podman" { provider "docker" {
uri = "unix:///run/podman/podman.sock" host = "unix:///run/podman/podman.sock"
} }
module "syslog" { module "syslog" {

View File

@@ -1,37 +1,42 @@
terraform { terraform {
required_providers { required_providers {
podman = { docker = {
source = "project0/podman" source = "kreuzwerker/docker"
version = "3.6.2"
} }
} }
} }
resource "podman" "syslog_ng" { provider "docker" {
host = "unix:///run/podman/podman.sock"
}
resource "docker_image" "syslog_ng" {
name = "lscr.io/linuxserver/syslog-ng:latest"
keep_locally = false
}
resource "docker_container" "syslog_ng" {
name = "syslog-ng" name = "syslog-ng"
image = "lscr.io/linuxserver/syslog-ng:latest" image = docker_image.syslog_ng.image_id
restart = "unless-stopped" restart = "unless-stopped"
env = {
PUID = "1000"
PGID = "1000"
TZ = "Etc/UTC"
}
ports { ports {
host_port = 514 internal = 5514
container_port = 5514 external = 514
protocol = "udp" protocol = "udp"
} }
ports { ports {
host_port = 601 internal = 6601
container_port = 6601 external = 601
protocol = "tcp" protocol = "tcp"
} }
ports { ports {
host_port = 6514 internal = 6514
container_port = 6514 external = 6514
protocol = "tcp" protocol = "tcp"
} }