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
´´´bash
```bash
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 {
required_providers {
podman = {
source = "project0/podman"
docker = {
source = "kreuzwerker/docker"
version = "3.6.2"
}
}
}
provider "podman" {
uri = "unix:///run/podman/podman.sock"
provider "docker" {
host = "unix:///run/podman/podman.sock"
}
module "syslog" {

View File

@@ -1,37 +1,42 @@
terraform {
required_providers {
podman = {
source = "project0/podman"
docker = {
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"
image = "lscr.io/linuxserver/syslog-ng:latest"
image = docker_image.syslog_ng.image_id
restart = "unless-stopped"
env = {
PUID = "1000"
PGID = "1000"
TZ = "Etc/UTC"
}
ports {
host_port = 514
container_port = 5514
internal = 5514
external = 514
protocol = "udp"
}
ports {
host_port = 601
container_port = 6601
internal = 6601
external = 601
protocol = "tcp"
}
ports {
host_port = 6514
container_port = 6514
internal = 6514
external = 6514
protocol = "tcp"
}