summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnricoGuccii <partyka.003@proton.me>2026-06-01 00:56:16 +0200
committerEnricoGuccii <partyka.003@proton.me>2026-06-01 00:56:16 +0200
commitfd503278ae598006fae9687f7d9a695ab6996af2 (patch)
tree49b57ce61fcbfede350c4a8c7bfab7b4f361fd46
parent1b883498b31c06447e122430f5c7d2786dd8cedf (diff)
ansible and terraform integration
-rwxr-xr-xansible/inventory.ini2
-rw-r--r--ansible/playbook.yml10
-rw-r--r--readme.md5
-rw-r--r--terraform/.terraform.lock.hcl44
-rw-r--r--terraform/main.tf31
-rw-r--r--terraform/planbin4119 -> 5202 bytes
6 files changed, 91 insertions, 1 deletions
diff --git a/ansible/inventory.ini b/ansible/inventory.ini
new file mode 100755
index 0000000..bc64677
--- /dev/null
+++ b/ansible/inventory.ini
@@ -0,0 +1,2 @@
+[lxc]
+192.168.0.150 ansible_user=root ansible_password='haslo123' ansible_ssh_common_args='-o StrictHostKeyChecking=no'
diff --git a/ansible/playbook.yml b/ansible/playbook.yml
new file mode 100644
index 0000000..8de2f15
--- /dev/null
+++ b/ansible/playbook.yml
@@ -0,0 +1,10 @@
+- name: LXC conf
+ hosts: lxc
+ gather_facts: yes
+ become: yes
+
+ tasks:
+ - name: Instalacja vima
+ ansible.builtin.apt:
+ name: vim
+ state: present
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..50f3609
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,5 @@
+- Otyły Panie, mam dobrą i złą wiadomość.
+- Zacznij od złej.
+- Nie działa.
+- Hmm, a dobra?
+- Zbudowaliśmy go!
diff --git a/terraform/.terraform.lock.hcl b/terraform/.terraform.lock.hcl
new file mode 100644
index 0000000..a878216
--- /dev/null
+++ b/terraform/.terraform.lock.hcl
@@ -0,0 +1,44 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/bpg/proxmox" {
+ version = "0.107.0"
+ constraints = "~> 0.83"
+ hashes = [
+ "h1:W/DuNEQCgP510F1LfeRCvJa4vXGNT2byH7DzbknpEO4=",
+ "zh:3c1e298f4f0d954e83d11aaf2400ec242b835ca294f8a94d67bb5ce0b30da0e9",
+ "zh:4776f7f262728f8e2252360f7d1a4adc853d87d86a7515f4780375c2932ef763",
+ "zh:53633a48f7fad5561a30b349e7b46c6a7a10a54c99225a4d30a7a24086921098",
+ "zh:62686df322f773b40c1881eb7932058cbf68101bfa5cd66bc08c9bcb6ad0bdfd",
+ "zh:62afd9992f9089311a876c7e79d35a8b7935c0c553f6de8fb6ac2b76f5c4a3ce",
+ "zh:6b379f3858ba8bd548b7d50c07f7fb7eb339d2020c07c2b69aaba1f2247aedae",
+ "zh:8a520d7df039cb060182683d823d1705423cd9e97936b8e65a27dbf54ea9643a",
+ "zh:b489993495332d3d4aedfd53a7ff80ce880a58ec575bf3340646791c1803862c",
+ "zh:db164bc934aaeb56ae1b368208c7cd33f5af5ac84dc98fa7da736a62a5ede143",
+ "zh:eeb9611c160baf65e6acede202b9d923d185395af2725425c2f8226403675155",
+ "zh:f24b8014a513483cef883caf58884a380fb51567e50ea5425a3d5ec6629f4a9b",
+ "zh:f26e0763dbe6a6b2195c94b44696f2110f7f55433dc142839be16b9697fa5597",
+ "zh:f329a8f344ec11c64686a0b29cd706f5dfedb19925a58aa61fb39f0d0a854619",
+ "zh:ff0a8a1ac74eaef2826054982d82cb42f1376dac98f3d30f995d60f4964ee7b1",
+ ]
+}
+
+provider "registry.terraform.io/hashicorp/local" {
+ version = "2.9.0"
+ hashes = [
+ "h1:9rBZCMNpxKwMlRbWH2QpwD3kqUCAejdOZQ/aiiDObXQ=",
+ "zh:0baa4566cf77f1ff52f4293d1c8536202dd23edc197c3196413a28343c3ac3a0",
+ "zh:16b5559c3c07088ddad11a9bb9e9c0799999363c2958e9a5be2bcbbf2cd9ca64",
+ "zh:197c79015a10d1cce904a8ea722cbc750c42aeae2da53f44a6a0751d9fd1aa90",
+ "zh:29d0b03e5343a80677ebfeb2e2c31cbe4b1f65e736e53417454a4277fec2544c",
+ "zh:4896bfa6cf1d2fd562b47ef2e87f47862ae92a04f8ad5d764380f0c6653473b8",
+ "zh:531f8529cbca49f681883e57761a05a8398afaef6d1ab0d205d26bf12f4428e8",
+ "zh:6aaf5011d83161c86d2bfb80c0923ec934e578288758da2f37acb7aec129004b",
+ "zh:7430275253d3d3c40aa6179e0ec0d63212874dbbc06c5a51b9d07ec590f9756c",
+ "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3",
+ "zh:be17dc611e95e26cdf6cad79dfccf1064f0e32032a2efeb939a9bbe7fb1cbfe9",
+ "zh:f0e3b0aa644202e1d79d2000dca91f6019425da71e9800fa23f27e51c034f195",
+ "zh:f62bae4519e4ead49182ddc8afe8cf61e2a4c3ba3973b0fbba967736a2696aa3",
+ "zh:fcafa360a5b0b96244f26f4e3a6d642b716a376557142c2442ff2fb12d11da18",
+ ]
+}
diff --git a/terraform/main.tf b/terraform/main.tf
index fc36c8b..9977fb4 100644
--- a/terraform/main.tf
+++ b/terraform/main.tf
@@ -27,10 +27,15 @@ resource "proxmox_virtual_environment_container" "lxc01" {
started = true
+ wait_for_ip {
+ ipv4 = true
+ }
+
operating_system {
template_file_id = "local:vztmpl/debian-12-standard_12.12-1_amd64.tar.zst"
}
+
cpu {
cores = var.lxc_cores
}
@@ -48,13 +53,37 @@ resource "proxmox_virtual_environment_container" "lxc01" {
network_interface {
name = "eth0"
bridge = "vmbr0"
+
}
initialization {
hostname = var.lxc_name
+ ip_config {
+ ipv4 {
+ address = "dhcp"
+ }
+ }
+
user_account {
- password = "Password123!"
+ keys = [
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHB4jD3PVsg1edlMwBW6Hb/NYLnzEI8dyJQRnQQap45q enrico@cachyos"
+ ]
}
}
}
+
+
+resource "local_file" "ansible_inventory" {
+ content = <<-EOT
+ [lxc]
+ ${try(proxmox_virtual_environment_container.lxc01.ipv4["eth0"], "Brak_IP")} ansible_user=root ansible_ssh_common_args='-o StrictHostKeyChecking=no'
+ EOT
+
+ filename = "${path.module}/../ansible/inventory.ini"
+}
+
+output "aktualne_ip_kontenera" {
+ description = "Adres IP pobrany przez Terraforma"
+ value = try(proxmox_virtual_environment_container.lxc01.ipv4["eth0"], "Proxmox jeszcze nie zaraportował IP!")
+}
diff --git a/terraform/plan b/terraform/plan
index 65f9b8d..68bceaa 100644
--- a/terraform/plan
+++ b/terraform/plan
Binary files differ