DEV Community

Steven Koch
Steven Koch

Posted on

Proxmox-GitOps: Self-configuring GitOps Environment for Container Automation in Proxmox VE.

Overview

Proxmox-GitOps implements a self-sufficient, extensible CI/CD environment for provisioning, configuring, and orchestrating Linux Containers (LXC) within Proxmox VE. Leveraging an Infrastructure-as-Code approach, it manages the complete container lifecycle—bootstrapping, deployment, configuration, and validation—via version-controlled automation.

Architecture

The system architecture is based on a multi-stage pipeline capable of recursively deploying and configuring itself. Initial bootstrapping is performed via a local Docker environment, with subsequent deployments targeting Proxmox VE.

Core Concepts

  • Ephemeral State: Git repository represents current desired state; state purity across deployments. Deployment consistency and stateless infrastructure over version history.
  • Recursive Self-Containment: Embedded control plane recursively provisions itself within target containers. Prevents configuration drift; enables consistent and reproducible behavior.
  • Mono-Repository: Central code artifact; submodules modularize development at runtime. Consistency and modularity; dynamically resolved in recursive context.

Trade-offs

  • Complexity vs. Autonomy: Recursive self-replication increases system complexity to achieve deterministic bootstrap and reproducible behavior.
  • Git Convention vs. Infrastructure State: Uses Git as a state engine in stateless contexts; the mono-repo encapsulates infrastructure as a self-contained, version-controlled asset.

Feedback

Architectural feedback, edge cases, and use-case experiences are welcome.
The project is under active development; suggestions and critical review are appreciated.

GitHub: stevius10/Proxmox-GitOps

Top comments (0)