Some checks failed
Deploy / Update Proxmox Dev VMs / Detect changed Proxmox tfvars (push) Successful in 26s
Test / Static Analysis (push) Failing after 25s
Test / Unit Tests — Docker Stack (push) Has been skipped
Test / Unit Tests — K8s Stack (push) Has been skipped
Deploy / Update Proxmox Dev VMs / Provision ${{ matrix.tfvars }} (push) Failing after 32s
Deploy / Update Proxmox Dev VMs / Destroy ${{ matrix.tfvars }} (push) Has been skipped
Test / Integration Test — K8s (k3d) (push) Has been skipped
45 lines
2.3 KiB
YAML
45 lines
2.3 KiB
YAML
# ─────────────────────────────────────────────────────────────────────────────
|
|
# GitLab CI/CD — OpenTofu Playground
|
|
#
|
|
# Four included pipelines:
|
|
# test.gitlab-ci.yml Static analysis + unit tests + K8s integration
|
|
# deploy.gitlab-ci.yml Docker stack deploy/destroy via apps/*.tfvars
|
|
# deploy-k8s.gitlab-ci.yml K8s stack deploy/destroy via k8s/apps/*.tfvars
|
|
# deploy-proxmox.gitlab-ci.yml Proxmox dev VM provision/destroy via proxmox/apps/*.tfvars
|
|
#
|
|
# Required GitLab CI/CD variables (Settings > CI/CD > Variables):
|
|
# TOFU_VERSION OpenTofu version to install (default: 1.9.0)
|
|
# GOPASS_GPG_KEY GPG private key (armored) for the gopass store
|
|
# GOPASS_STORE_REPO Git URL of the gopass password store
|
|
# SEAWEED_S3_ENDPOINT SeaweedFS S3 endpoint, e.g. http://seaweedfs.home:8333
|
|
# SEAWEED_ACCESS_KEY SeaweedFS access key (mark as Masked)
|
|
# SEAWEED_SECRET_KEY SeaweedFS secret key (mark as Masked)
|
|
# PROXMOX_ENDPOINT Proxmox API URL, e.g. https://proxmox.home:8006/
|
|
# PROXMOX_API_TOKEN Proxmox API token: user@pam!tokenid=secret (Masked)
|
|
# PROXMOX_TLS_INSECURE "true" when using a self-signed cert (optional)
|
|
#
|
|
# gopass store layout expected by the deploy pipelines:
|
|
# infra/ssh-keys/<name> — SSH private key (Docker host or dev VM)
|
|
# infra/kubeconfigs/<name> — kubeconfig for K8s cluster or k3s VM
|
|
# apps/<name>/db_password — PostgreSQL password
|
|
# apps/<name>/git_token — optional git token for git_clone mode
|
|
# apps/<name>/rabbitmq_password — RabbitMQ password (K8s stack)
|
|
# apps/<name>/loki_token — optional Loki auth token (K8s stack)
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
stages:
|
|
- static
|
|
- unit
|
|
- integration
|
|
- deploy
|
|
- destroy
|
|
|
|
variables:
|
|
TOFU_VERSION: "1.9.0"
|
|
|
|
include:
|
|
- local: .gitlab/workflows/test.gitlab-ci.yml
|
|
- local: .gitlab/workflows/deploy.gitlab-ci.yml
|
|
- local: .gitlab/workflows/deploy-k8s.gitlab-ci.yml
|
|
- local: .gitlab/workflows/deploy-proxmox.gitlab-ci.yml
|