Opentofu

IaC za pomocą Opentofu

Opentofu to narzędzie typu Infrastructure as Code (IaC), które umożliwia definiowanie, provisionowanie i zarządzanie infrastrukturą za pomocą plików konfiguracyjnych. Dzięki temu narzędziu możesz w sposób deklaratywny opisywać zasoby, takie jak serwery, sieci czy usługi w chmurze, a następnie automatycznie je tworzyć, modyfikować i usuwać, zapewniając spójność środowisk.

Wdrażając podejście IaC z użyciem OpenTofu, należy przyjąć szereg kluczowych założeń projektowych, które zapewniają bezpieczeństwo, skalowalność oraz powtarzalność środowisk infrastrukturalnych.


Założenia projektów Infrastructure as a Code

Infrastructure as Code (IaC) to podejście do zarządzania infrastrukturą IT, w którym zasoby są definiowane i utrzymywane za pomocą kodu, a nie manualnych operacji. Jednym z najczęściej wykorzystywanych narzędzi do implementacji IaC jest Terraform / OpenTofu. Bliźniacze rozwiązania umożliwiają automatyczne tworzenie, aktualizowanie oraz usuwanie zasobów w chmurze i środowiskach lokalnych, na podstawie deklaratywnych plików konfiguracyjnych.

Wdrażając podejście IaC z użyciem Terraform, należy przyjąć szereg kluczowych założeń projektowych, które zapewniają bezpieczeństwo, skalowalność oraz powtarzalność środowisk infrastrukturalnych.

Poniżej znajduje się lista projektów Infrastructure as a Code.

project version description
iac-gitlab IAC do zarządzania środowiskiem GitLab.
iac-mikrotik IAC do zarządzania routerami Mikrotik.
iac-proxmox IAC do zarządzania środowiskiem Proxmox.
iac-vault IAC do zarządzania środowiskiem Vault.

Architektura projektu OpenTofu w pl.rachuna-net

# Przykładowy opis struktury projektu
pl.rachuna-net/infrastructure/opentofu
├── gitlab-profile                      # Documentation
├── iac-gitlab
├── iac-mikrotik                          
├── iac-proxmox
├── iac-vault                          
├── modules                             # Opentofu modules
│   ├── gitlab-group
│   ├── gitlab-project
│   ├── proxmox-container
│   ├── proxmox-vm
│   ├── routeros-bonding
│   ├── routeros-bridge
│   ├── routeros-dhcp-server
│   ├── routeros-dns
│   ├── routeros-ethernet
│   ├── routeros-system
│   ├── routeros-vlan
│   └── vault-pki
├── proxmox
└── router.rachuna-net.pl

iac-gitlab

IAC do zarządzania środowiskiem GitLab.

iac-vault

IAC do zarządzania HashiCorp Vault przy użyciu OpenTofu.

iac-proxmox

IAC do zarządzania clustrem Proxmox przy użyciu OpenTofu.

iac-mikrotik

IAC do zarządzania routerami MikroTik przy użyciu OpenTofu.

Integracja z projektem gitlab

Integracja z projektem gitlab

Importowanie obiektów

Importowanie istniejących obiektów

Nadpisanie teraform states

Wysłanie opentofu state do gitlab

OpenTofu Modules

Moduły OpenTofu

Last modified December 19, 2025: docs: Update (72bba37)