gitlab-group
Repozytorium modułu opentofu - gitlab-project
🔗 GitLab: pl.rachuna-net/artifacts/opentofu/gitlab-project
Repozytorium GitLab zawierające definicję grup
🔗 GitLab: pl.rachuna-net/infrastructure/gitlab-com/iac-gitlab
gitlab-group
Repozytorium modułu opentofu - gitlab-project
🔗 GitLab: pl.rachuna-net/artifacts/opentofu/gitlab-project
Repozytorium GitLab zawierające definicję grup
🔗 GitLab: pl.rachuna-net/infrastructure/gitlab-com/iac-gitlab
Aby utworzyć repozytorium w GitLab, należy dodać odpowiednią definicję do pliku konfiguracyjnego OpenTofu.
module "vagrant" {
source = "git@gitlab.com:pl.rachuna-net/artifacts/opentofu/gitlab-project.git?ref=v1.0.0"
name = "vagrant"
description = "Konfiguracja środowiska deweloperskiego z użyciem Vagrant i VirtualBox."
visibility = "public"
tags = ["vagrant"]
avatar = "vagrant"
parent_group = local.parent_name
}module "docs" {
source = "git@gitlab.com:pl.rachuna-net/artifacts/opentofu/gitlab-project.git?ref=v1.0.0"
name = "docs"
description = "Dokumentacja projektu pl.rachuna-net"
visibility = "public"
avatar = "nodejs"
tags = ["documentation", "nodejs", "astro"]
parent_group = local.parent_name
project_type = "nodejs"
+ environments = {
+ Production = {
+ external_url = "https://docs-e248b0.gitlab.io"
+ }
+ }
}
module "iac-gitlab-com" {
source = "git@gitlab.com:pl.rachuna-net/artifacts/opentofu/gitlab-project.git?ref=v1.0.0"
name = "iac-gitlab-com"
description = "IAC do zarządzania obiektami GitLab (gitlab.rachuna-net.pl)."
visibility = "public"
avatar = "opentofu"
parent_group = local.parent_name
project_type = "opentofu"
+ ci_schedules = [
+ {
+ name = "Nightly"
+ description = "Nightly patch management"
+ ref = "main"
+ cron = "0 1 * * *"
+ cron_timezone = "Europe/Warsaw"
+ variables = {}
+ }
+ ]
}+ data "vault_kv_secret_v2" "auth_proxmox" {
+ mount = "kv-gitlab"
+ name = "pl.rachuna-net/auth/proxmox"
+ }
module "iac-proxmox" {
source = "git@gitlab.com:pl.rachuna-net/artifacts/opentofu/gitlab-project.git?ref=v1.0.0"
name = "iac-proxmox"
description = "IAC do zarządzania środowiskiem Proxmox."
visibility = "public"
avatar = "proxmox"
parent_group = local.parent_name
project_type = local.project_type
+ variables = {
+ PROXMOX_VE_ENDPOINT = {
+ description = "Endpoint do łączenia się z clustrem Proxmox"
+ masked = true
+ value = "https://pve-s3.rachuna-net.pl:8006"
+ }
+ PROXMOX_VE_USERNAME = {
+ description = "Nazwa użytkownika technicznego"
+ masked = false
+ value = data.vault_kv_secret_v2.auth_proxmox.data["USERNAME"]
+ }
+ PROXMOX_VE_PASSWORD = {
+ description = "Hasło użytkownika technicznego dla Proxmox"
+ masked = false
+ value = data.vault_kv_secret_v2.auth_proxmox.data["PASSWORD"]
+ }
+ PROXMOX_VE_INSECURE = {
+ description = "Ignoruj certyfikat SSL"
+ masked = false
+ value = "true"
+ }
+ }
}module "alma" {
source = "git@gitlab.com:pl.rachuna-net/artifacts/opentofu/gitlab-project.git?ref=v1.0.0"
name = "alma"
archived = false
description = "Template Alma dla Proxmox generowany przez Packer"
visibility = "public"
tags = ["packer", "terraform"]
avatar = "linux"
parent_group = local.parent_name
project_type = "packer"
+ gitlab_ci_path = "infrastructure/packer.yml@pl.rachuna-net/cicd/gitlab-ci"
}