From a63dfeebaa0e795b5f740a8a0143a6329aa4ed08 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 26 Aug 2025 05:50:37 +0000 Subject: [PATCH] working --- .gitignore | 3 ++ README.md | 39 +++++++++++++++++++++++--- terraform-podman/Dockerfile | 1 - terraform-podman/deploy | 6 ---- terraform/main.tf | 9 +++--- terraform/modules/syslog/main.tf | 47 ++++++++++++++++++-------------- 6 files changed, 69 insertions(+), 36 deletions(-) create mode 100644 .gitignore delete mode 100644 terraform-podman/Dockerfile delete mode 100644 terraform-podman/deploy diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..746c4c0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +terraform/.terraform.lock.hcl +terraform/.terraform/ +terraform/terraform.tfstate diff --git a/README.md b/README.md index f28fa07..12643e2 100644 --- a/README.md +++ b/README.md @@ -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 +``` \ No newline at end of file diff --git a/terraform-podman/Dockerfile b/terraform-podman/Dockerfile deleted file mode 100644 index 7d90d8f..0000000 --- a/terraform-podman/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM docker.io/hashicorp/terraform:1.13:1.13 \ No newline at end of file diff --git a/terraform-podman/deploy b/terraform-podman/deploy deleted file mode 100644 index d8ec409..0000000 --- a/terraform-podman/deploy +++ /dev/null @@ -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 diff --git a/terraform/main.tf b/terraform/main.tf index 5eadcd5..af82ba4 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -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" { diff --git a/terraform/modules/syslog/main.tf b/terraform/modules/syslog/main.tf index 7f3c9c3..c4dd278 100644 --- a/terraform/modules/syslog/main.tf +++ b/terraform/modules/syslog/main.tf @@ -1,38 +1,43 @@ terraform { required_providers { - podman = { - source = "project0/podman" + docker = { + source = "kreuzwerker/docker" + version = "3.6.2" } } } -resource "podman" "syslog_ng" { - name = "syslog-ng" - image = "lscr.io/linuxserver/syslog-ng:latest" +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 = docker_image.syslog_ng.image_id + restart = "unless-stopped" - env = { - PUID = "1000" - PGID = "1000" - TZ = "Etc/UTC" + ports { + internal = 5514 + external = 514 + protocol = "udp" } ports { - host_port = 514 - container_port = 5514 - protocol = "udp" + internal = 6601 + external = 601 + protocol = "tcp" } ports { - host_port = 601 - container_port = 6601 - protocol = "tcp" - } - - ports { - host_port = 6514 - container_port = 6514 - protocol = "tcp" + internal = 6514 + external = 6514 + protocol = "tcp" } volumes {