Blog Article:

GitOps-Based Automated Deployment of OpenNebula Control Instances

Deploying an OpenNebula Frontend—your control plane—traditionally requires familiarity with infrastructure provisioning, configuration management, and the OpenNebula platform. But what if the entire process could be fully automated, repeatable, secure, and usable even by someone with no prior installation experience?

This workflow is the backend we use to automatically deploy OpenNebula-based demo environments. It automates the rollout of the OpenNebula control plane itself—not tenant workloads—using industry-standard tools like Terraform and Ansible, fully integrated with GitHub. With a single issue submission, we can provision a complete OpenNebula Frontend environment in a consistent, traceable, and fully reproducible way.

A Git-driven workflow ensures reliability, transparency, and simplicity. Everything is orchestrated through two GitHub repositories—an automation repository (e.g., OneHosted) and the OneDeploy automation toolchain—enabling a frictionless, declarative provisioning system for OpenNebula Frontend instances.

Key Capabilities

  • No installation experience required: Fully automated and user-friendly, with no need for manual setup or prior expertise.
  • Native GitOps workflow: Deployments begin by submitting a GitHub issue. Inputs are validated automatically, configuration files are generated, and Terraform state and other artifacts are stored in the repository.
  • Built with trusted tools: Terraform and Ansible provide extensibility, reliability, and compatibility with standard automation practices.
  • Infrastructure-agnostic: Frontend nodes can be provisioned on your preferred cloud provider using predefined instance sizes.
  • Transparent lifecycle management: Validation, deployment, and completion are logged through GitHub comments and sent via email, giving users clear visibility.

Whether you’re deploying a temporary test environment or a production-ready control plane, this workflow ensures consistency, repeatability, and operational peace of mind.

Watch the Full Demo: From GitHub Issue to Running an OpenNebula Cloud

Our screencast walks through the entire lifecycle of a GitOps-based deployment—from opening a GitHub issue to receiving your Frontend IPs, FQDNs, and credentials, and ending with the destruction of the environment. 

In the demo, you’ll see how to:

  • Submit a deployment request through a structured GitHub Issue form
  • Specify key variables such as environment name, edition (Community or Enterprise), number of hypervisor nodes, expiration date, and more
  • Trigger automatic validation and receive error notifications or approval
  • Launch the deployment using labels like action-deploy
  • Track progress via GitHub comments and automated email updates
  • Access the generated Terraform state and config files stored under the issue-specific directory
  • Connect to your newly deployed OpenNebula control plane and begin provisioning clusters
  • Tear down the environment simply by adding the action-destroy label

GitOps Deployment

This GitOps workflow provides a clean, auditable automation pipeline for OpenNebula Frontend nodes. Users can deploy, monitor, and destroy environments reliably—all through GitHub, without manually configuring servers or tracking state files.


ONEnextgen-logo

Funded by the Spanish Ministry for Digital Transformation and Civil Service through the ONEnextgen Project  (UNICO IPCEI-2023-003), and co-funded by the European Union’s NextGenerationEU through the RRF.


Aleksejs Petrovs

Technical Trainer at OpenNebula Systems

Nov 27, 2025

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *