Skip to content
GitLabGitHub

Architektura rozwiązania

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.

Repozytorium iac-gitlab-com zawierające infrastrukturę jako kod (IaC) do zarządzania środowiskiem GitLab przy użyciu OpenTofu. Umożliwia automatyzację tworzenia, konfiguracji i utrzymania zasobów GitLab.


---
config:
  theme: dark
  layout: elk
  look: classic
---
flowchart LR
 subgraph Opentofu["Opentofu"]
        iac_gitlab_com["iac-gitlab-com"]
        iac_gitlab_rachuna_net["iac-gitlab-rachuna-net"]
  end
    iac_gitlab_com -- tofu apply --> n16["gitlab.com"]
    n16 --> n15["Groupy"] & n14["Repozytoria"]
    iac_gitlab_rachuna_net -- tofu apply --> n17["gitlab.rachuna-net.pl"]
    n17 --> n18["Groupy"] & n19["Repozytoria"]
    n20["gitlab-group"] --> iac_gitlab_com & iac_gitlab_rachuna_net
    n21["gitlab-project"] --> iac_gitlab_rachuna_net & iac_gitlab_com

    iac_gitlab_com@{ shape: rounded}
    n16@{ shape: rect}
    n17@{ shape: rect}
    n18@{ shape: rect}
    n19@{ shape: rect}
    n20@{ shape: rect}
    n21@{ shape: rect}
     iac_gitlab_com:::Pine
     iac_gitlab_rachuna_net:::Pine
     n15:::Pine
     n14:::Pine
     n18:::Pine
     n19:::Pine
     n20:::Peach
     n21:::Peach
     Opentofu:::Peach
    classDef Sky stroke-width:1px, stroke-dasharray:none, stroke:#374D7C, fill:#E2EBFF, color:#374D7C
    classDef Aqua stroke-width:1px, stroke-dasharray:none, stroke:#46EDC8, fill:#DEFFF8, color:#378E7A
    classDef Rose stroke-width:1px, stroke-dasharray:none, stroke:#FF5978, fill:#FFDFE5, color:#8E2236
    classDef Ash stroke-width:1px, stroke-dasharray:none, stroke:#999999, fill:#EEEEEE, color:#000000
    classDef Peach stroke-width:1px, stroke-dasharray:none, stroke:#FBB35A, fill:#FFEFDB, color:#8F632D
    classDef Pine stroke-width:1px, stroke-dasharray:none, stroke:#254336, fill:#27654A, color:#FFFFFF
    style n18 color:none
    style Opentofu fill:transparent,color:none
    click iac_gitlab_com "https://gitlab.com/pl.rachuna-net/infrastructure/gitlab-com/iac-gitlab"
    click n20 "https://gitlab.com/pl.rachuna-net/artifacts/opentofu/gitlab-group"
    click n21 "https://gitlab.com/pl.rachuna-net/artifacts/opentofu/gitlab-project"

Poniżej znajduje się lista projektów wchodzących w skład Infrastructure as a Code.

projectversiondescription
iac-gitlab-comIAC do zarządzania środowiskiem GitLab.
gitlab-groupModuł do zarządzania grupą w GitLab
gitlab-projectModuł do zarządzania projektem w GitLab

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

Section titled “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.
  • 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 OpenTofu, należy przyjąć szereg kluczowych założeń projektowych, które zapewniają bezpieczeństwo, skalowalność oraz powtarzalność środowisk infrastrukturalnych.