{"id":29223630,"url":"https://github.com/opennebula/hosted-cloud-template","last_synced_at":"2026-02-13T01:04:31.858Z","repository":{"id":299649767,"uuid":"1003691057","full_name":"OpenNebula/hosted-cloud-template","owner":"OpenNebula","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-10T13:28:06.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-10T20:35:16.813Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenNebula.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-17T14:19:01.000Z","updated_at":"2025-07-10T13:28:09.000Z","dependencies_parsed_at":"2025-06-25T10:38:42.312Z","dependency_job_id":null,"html_url":"https://github.com/OpenNebula/hosted-cloud-template","commit_stats":null,"previous_names":["opennebula/cloud-provider-integration-template","opennebula/hosted-cloud-template"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OpenNebula/hosted-cloud-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fhosted-cloud-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fhosted-cloud-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fhosted-cloud-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fhosted-cloud-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenNebula","download_url":"https://codeload.github.com/OpenNebula/hosted-cloud-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNebula%2Fhosted-cloud-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271747022,"owners_count":24813604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-03T05:05:38.196Z","updated_at":"2026-02-13T01:04:26.819Z","avatar_url":"https://github.com/OpenNebula.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!IMPORTANT]\n\u003e  \n\u003e ## First time template repo setup -- TO BE REMOVED FROM THE TEMPLATE\n\u003e \n\u003e 1. Rename all occurances of \"cloud-provider\" to the new Cloud Provider \"new-cp\":\n\u003e \n\u003e    ```shell\n\u003e    new_cp_name=new-cp\n\u003e    find . -type f ! -name 'README.md' -not -path \"./.git/*\" -not -path \"./submodule-one-deploy-validation/*\" -exec sed -i 's/cloud-provider/'$new_cp_name'/g' {} +\n\u003e    mv inventory/cloud-provider.yml inventory/$new_cp_name.yml\n\u003e    mv playbooks/cloud-provider.yml playbooks/$new_cp_name.yml\n\u003e    ```\n\u003e \n\u003e 1. The repository is ready to start working on the deployment values of OpenNebula, specific to the new Cloud Provider. Replace all `\u003c\u003cTBA\u003e\u003e` occurances:\n\u003e \n\u003e    ```shell\n\u003e    grep -nR \"\u003c\u003cTBA\u003e\u003e\" .\n\u003e    ```\n\u003e\n\u003e 1. Update the README.md with link to the infrastructure provisions guide, that provides the starting point for this repo's steps. Update the table of required parameters in the README.md to match the provisioned infrastructure and facilitate easy extraction of the parameters by following the same variable names. Upload the logo of the cloud provider and make any necessary adjustments.\n\u003e \n\u003e 1. Implement the specific automations required on the cloud providers infrastructure to make OpenNebula fully functional (public IP routing, platform-specific configurations, etc.), as tested by the validation steps.\n\u003e \n\u003e  1. Remove this note from the README.md\n\u003e\n\n**TBA-cloud-provider**: logos of OpenNebula and the Cloud Provider\n\n# Deploying OpenNebula as a Hosted Cloud on TBA-cloud-provider\n\nThis repository contains the needed code and documentation to perform an OpenNebula deployment and configuration as \na Hosted Cloud on **TBA-cloud-provider** resources. It extends the [one-deploy-validation](https://github.com/OpenNebula/one-deploy-validation) repository, which is added as a git submodule.\n\n- [Requirements](#requirements)\n- [Infrastructure Provisioning](#infrastructure-provisioning)\n- [Required Parameters](#required-parameters)\n- [Deployment and Validation](#deployment-and-validation)\n\n## Requirements\n\n1. Install `hatch`\n\n   ```shell\n   pip install hatch\n   ```\n\n1. Initialize the dependent `one-deploy-validation` and `one-deploy` submodules\n\n   ```shell\n   git submodule update --init --remote --merge\n   ```\n\n1. Install the `opennebula.deploy` collection with dependencies using the submodule's tooling:\n\n   ```shell\n   make submodule-requirements\n   ```\n\n## Infrastructure Provisioning\n\nA detailed guide to provision the required reference infrastructure is published in **[{ADD LINK TO THE GUIDE HERE}]()**.\nFollow the provisioning steps and extract the requiremed parameters needed to proceed with the OpenNebula deployment.\n\n## Required Parameters\n\nUpdate the [inventory](./inventory/) values to match the provisioned infrastructure.\n\n| Description                                 | Variable Names                      | Files/Location                                      |\n|---------------------------------------------|-------------------------------------|-----------------------------------------------------|\n| Frontend Host IP                            | `ansible_host`                      | [inventory/*.yml](./inventory/)    | \n| KVM Host IPs                            | `ansible_host`                      | [inventory/*.yml](./inventory/)     | \n| VXLAN PHYDEV                                 | `vn.vxlan.template.PHYDEV`          | [inventory/*.yml](./inventory/)                               | \n| pubridge PHYDEV                              | `vn.pubridge.template.PHYDEV`       | [inventory/*.yml](./inventory/)                               | \n| VMs Public IP Range                        | `vn.pubridge.template.AR.IP`, `vn.pubridge.template.AR.SIZE` | [inventory/*.yml](./inventory/)           | \n| GUI password of `oneadmin`       | `one_pass` | [inventory/*.yml](./inventory/)           | \n|  **{Cloud Provider's params}** |  **{Name of variable}** |  **{Affected files}** |.\n\n## Deployment and Validation\n\nUse the provided Makefile commands to automate deployment and testing:\n\n1. Review the [inventory](./inventory/), [playbooks](./playbooks/) and [roles](./roles/) directories, following Ansible design guidelines.\n\n1. Deploy OpenNebula:\n\n   ```shell\n   make deployment\n   ```\n\n1. Configure the deployment for the specifics of the Cloud Provider:\n\n   ```shell\n   make specifics\n   ```\n\n1. Test the deployment:\n\n   ```shell\n   make validation\n   ```\n\nFor more information about the submodule's tooling, refer to its [README.md](https://github.com/OpenNebula/one-deploy-validation/blob/master/README.md) and for detailed documentation on the deployment automation refer to the [one-deploy repo](https://github.com/OpenNebula/one-deploy).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennebula%2Fhosted-cloud-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopennebula%2Fhosted-cloud-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennebula%2Fhosted-cloud-template/lists"}