{"id":28391454,"url":"https://github.com/startcloud/hcl_voltmx_go_provisioner","last_synced_at":"2026-02-14T14:06:27.551Z","repository":{"id":292811418,"uuid":"981874666","full_name":"STARTcloud/hcl_voltmx_go_provisioner","owner":"STARTcloud","description":"This spins up VoltMX Go, aka VoltMX for Domino","archived":false,"fork":false,"pushed_at":"2025-05-20T19:42:05.000Z","size":2892,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-25T21:38:41.756Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":false,"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/STARTcloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-12T03:16:14.000Z","updated_at":"2025-05-20T19:39:45.000Z","dependencies_parsed_at":"2025-05-12T09:59:09.625Z","dependency_job_id":"bef602d0-6015-447b-85cf-ff007c8de2d7","html_url":"https://github.com/STARTcloud/hcl_voltmx_go_provisioner","commit_stats":null,"previous_names":["startcloud/hcl_voltmx_go_provisioner"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/STARTcloud/hcl_voltmx_go_provisioner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARTcloud%2Fhcl_voltmx_go_provisioner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARTcloud%2Fhcl_voltmx_go_provisioner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARTcloud%2Fhcl_voltmx_go_provisioner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARTcloud%2Fhcl_voltmx_go_provisioner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/STARTcloud","download_url":"https://codeload.github.com/STARTcloud/hcl_voltmx_go_provisioner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARTcloud%2Fhcl_voltmx_go_provisioner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273594986,"owners_count":25134256,"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-09-04T02:00:08.968Z","response_time":61,"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-05-31T09:39:02.714Z","updated_at":"2026-02-14T14:06:22.531Z","avatar_url":"https://github.com/STARTcloud.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/STARTcloud/hcl_voltmx_go_provisioner\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/STARTcloud/hcl_roles/refs/heads/main/roles/voltmx/files/voltmx.png\" alt=\"HCL Volt MX Logo\" width=\"468\" height=\"131\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/STARTcloud/hcl_voltmx_go_provisioner/\"\u003e\n    \u003cimg src=\"https://startcloud.com/assets/images/logos/startCloud-logo-big.svg\" alt=\"Startcloud Logo\" width=\"468\" height=\"131\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n  \u003ch3 align=\"center\"\u003eHCL VoltMX Go Provisioner\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A custom provisioner for Super.Human.Installer (SHI) to deploy HCL VoltMX Go for Domino using Ansible.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/STARTcloud/hcl_voltmx_go_provisioner/\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/STARTcloud/hcl_voltmx_go_provisioner/\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/STARTcloud/hcl_voltmx_go_provisioner/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/STARTcloud/hcl_voltmx_go_provisioner/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n## Table of Contents\n\n* [About HCL VoltMX Go Provisioner](#about-hcl-voltmx-go-provisioner)\n* [Key Features](#key-features)\n* [Available Roles](#available-roles)\n* [Galaxy Role File Structure](#galaxy-role-file-structure)\n* [Integration with Super.Human.Installer (SHI)](#integration-with-superhumaninstaller-shi)\n* [Interacting with SHI-generated `Hosts.yml`](#interacting-with-shi-generated-hostsyml)\n* [Directory Structure Overview](#directory-structure-overview)\n* [Roadmap](#roadmap)\n* [Provider Support](#provider-support)\n* [Built With](#built-with)\n* [Contributing](#contributing)\n* [License](#license)\n* [Authors](#authors)\n* [Acknowledgements](#acknowledgments)\n\n\n## About HCL VoltMX Go Provisioner\nThe HCL VoltMX Go Provisioner is a custom provisioner designed for the Super.Human.Installer (SHI) application. It automates the deployment and configuration of HCL VoltMX Go for Domino, leveraging a Vagrant environment managed by SHI, and an underlying Ansible collection (`startcloud.hcl_roles`) to perform the detailed configuration tasks. This provisioner is related to the hcl_domino_standalone_provisioner and hcl_domino_additional_provisioner, utilizing similar structural capabilities for VoltMX Go deployment.\n\n## Key Features\n\n- **Super.Human.Installer Integration**: Seamlessly integrates as a custom provisioner within SHI, providing a user-friendly UI for configuration.\n- **Comprehensive VoltMX Go Deployment**: Installs and configures all necessary components of the VoltMX Go platform.\n- **Ansible-Powered Configuration**: Utilizes the `startcloud.hcl_roles` Ansible collection for robust and modular server configuration.\n- **Automated Provisioning**: Simplifies the setup of all VoltMX Go components via SHI.\n- **Domino Integration**: Sets up and configures HCL Domino for backend services.\n- **VoltMX Go Configuration**: Manages the setup required by VoltMX Go.\n- **Dependency Management**: Handles installation of necessary dependencies for each component.\n\n## Available Ansible Roles (from `startcloud.hcl_roles` collection)\n\nThis provisioner utilizes the following Ansible roles from the `startcloud.hcl_roles` collection (located in `provisioners/ansible_collections/startcloud/hcl_roles/roles/`):\n\n1.  **`voltmx`**:\n    *   Description: Install and configure VoltMX for Domino.\n    *   Dependencies:\n        *   `startcloud.startcloud_roles.setup`\n        *   `startcloud.startcloud_roles.dependencies`\n        *   `startcloud.startcloud_roles.service_user`\n    *   License: Apache\n\n2.  **`domino_voltmx_go`**:\n    *   Description: Manages the VoltMX Go for Domino setup.\n    *   Dependencies:\n        *   `startcloud.hcl_roles.domino_install`\n        *   `startcloud.hcl_roles.voltmx`\n    *   License: Apache\n\n### Dependent Roles from `startcloud.hcl_roles`\n\nThe VoltMX Go roles depend on the following roles from the `startcloud.hcl_roles` collection:\n\n1.  **`domino_install`**:\n    *   Description: Installs and configures HCL Domino server.\n    *   Dependencies:\n        *   `startcloud.startcloud_roles.setup`\n        *   `startcloud.startcloud_roles.dependencies`\n        *   `startcloud.startcloud_roles.service_user`\n    *   License: Apache\n\n(Other `startcloud.hcl_roles` and `startcloud.startcloud_roles` are also dependencies but not detailed here as the focus is on the primary VoltMX Go components and their direct, significant dependencies.)\n\n### Ansible Collection Structure (`startcloud.hcl_roles`)\nThe `startcloud.hcl_roles` Ansible collection, located at `provisioners/ansible_collections/startcloud/hcl_roles/`, follows the standard Ansible collection and role structure. Each role (e.g., `voltmx`) typically contains:\n```\nrolename/\n├── defaults/         # Default variables for the role\n│   └── main.yml\n├── files/            # Static files to be copied to the remote host\n├── handlers/         # Handlers, which are tasks triggered by notify directives\n│   └── main.yml\n├── meta/             # Role metadata (dependencies, galaxy info)\n│   └── main.yml\n├── tasks/            # Main list of tasks to be executed by the role\n│   └── main.yml\n├── templates/        # Template files (usually Jinja2)\n└── vars/             # Variables for the role\n    └── main.yml\n```\nFor more details on the Ansible collection itself, see its README.md in the repository.\n\n## Integration with Super.Human.Installer (SHI)\n\nThis `hcl_voltmx_go_provisioner` project is designed to function as a custom provisioner for the [Super.Human.Installer (SHI)](https://docs.superhumaninstaller.com/) application. For more details on how SHI handles custom provisioners, refer to the official SHI documentation, including how to [create custom provisioners](https://docs.superhumaninstaller.com/creating-custom-provisioners.html) and [import provisioners](https://docs.superhumaninstaller.com/provisioner-import.html).\n\nHere's how the integration works:\n\n1.  **SHI Custom Provisioner Structure**:\n    *   This repository (`STARTcloud/hcl_voltmx_go_provisioner`) is structured as an SHI custom provisioner. For detailed information on the required structure and metadata files like `provisioner.yml` and `provisioner-collection.yml`, please see the [SHI documentation on Creating Custom Provisioners](https://docs.superhumaninstaller.com/creating-custom-provisioners.html).\n    *   `./provisioner.yml` (at the root of this repository): This file defines the metadata for the \"HCL VoltMX Go Provisioner\" as it appears in SHI. It includes:\n        *   User-configurable fields (e.g., hostname, domain, CPU, memory, various VoltMX and Domino specific parameters). These are presented in the SHI UI.\n        *   A list of \"roles\" that can be toggled in the SHI UI (e.g., \"VoltMX\", \"Domino VoltMX Go\"). These toggles determine which parts of the Ansible automation are run.\n    *   `./templates/Hosts.template.yml` (at the root of this repository): This is a crucial template used by SHI. When a user configures a new VoltMX Go server instance in SHI:\n        *   SHI takes the user's input from the UI (defined by `./provisioner.yml`).\n        *   It processes `./templates/Hosts.template.yml`, replacing placeholders with the actual configured values.\n        *   The output is a `Hosts.yml` file, which is placed into the Vagrant environment for the new server instance.\n\n2.  **Ansible Execution**:\n    *   The generated `Hosts.yml` file serves as the primary source of variables for the Ansible playbooks run by Vagrant.\n    *   The `provisioning.ansible.playbooks.local` section within `./templates/Hosts.template.yml` (and thus the generated `Hosts.yml`) defines which Ansible playbooks are run.\n    *   These playbooks, in turn, execute the roles defined within the `startcloud.hcl_roles` Ansible collection (located at `./provisioners/ansible_collections/startcloud/hcl_roles/`).\n    *   The Ansible roles (like `voltmx`, `domino_voltmx_go`, etc.) consume the variables that were originally set in the SHI UI and passed down through `./provisioner.yml` -\u003e `./templates/Hosts.template.yml` -\u003e generated `Hosts.yml`.\n\nIn essence, SHI provides the user interface and initial parameterization, `./provisioner.yml` defines what those parameters are, `./templates/Hosts.template.yml` bridges SHI's parameters to Ansible's variable system, and the `startcloud.hcl_roles` Ansible collection performs the actual configuration work on the target machine.\n\n### Key Files for SHI Integration (within this `hcl_voltmx_go_provisioner` repository):\n\n*   `./provisioner.yml`: Defines the SHI UI and available configuration options/roles.\n*   `./templates/Hosts.template.yml`: SHI template to generate Ansible inventory/variables.\n*   `./provisioners/ansible_collections/startcloud/hcl_roles/`: Contains the Ansible roles collection that performs the configuration.\n\n## Interacting with SHI-generated `Hosts.yml`\n\nThe Ansible roles within the `startcloud.hcl_roles` collection are designed to be driven by variables defined in a `Hosts.yml` file that is generated by Super.Human.Installer based on user input and the `./templates/Hosts.template.yml` of this `hcl_voltmx_go_provisioner`.\n\nWhen developing or modifying roles in the collection:\n*   Refer to `./templates/Hosts.template.yml` to understand the structure of the variables that will be available to Ansible.\n*   The `vars` section in `./templates/Hosts.template.yml` shows how SHI placeholders are mapped to Ansible variables.\n*   The `roles` list in the Ansible provisioning section of `./templates/Hosts.template.yml` shows how SHI role toggles are used to conditionally run Ansible roles.\n\n## Directory Structure Overview\n\n```\nhcl_voltmx_go_provisioner/\n├── provisioner.yml                         # SHI Provisioner definition\n├── templates/\n│   └── Hosts.template.yml                  # SHI Template for Ansible variables\n├── provisioners/\n│   ├── ansible/                            # Ansible playbook configurations for Vagrant\n│   │   ├── ansible.cfg\n│   │   ├── generate-playbook.yml\n│   │   ├── playbook.yml.j2\n│   │   └── ...\n│   └── ansible_collections/\n│       └── startcloud/\n│           └── hcl_roles/                  # The Ansible Collection\n│               ├── README.md               # Collection-specific README\n│               ├── galaxy.yml\n│               ├── roles/                  # Individual Ansible roles\n│               │   ├── voltmx/\n│               │   ├── domino_voltmx_go/\n│               │   └── ...\n│               ├── CONTRIBUTING.md\n│               ├── CODE_OF_CONDUCT.md\n│               └── ...                     # Other collection-level files\n├── .github/\n│   └── PULL_REQUEST_TEMPLATE.md\n├── CONTRIBUTING.md\n├── CODE_OF_CONDUCT.md\n├── LICENSE.md\n├── README.md                               # This file\n├── RELEASE.md\n└── SECURITY.md\n```\n\n## Roadmap\nSee the [open issues](https://github.com/STARTcloud/hcl_voltmx_go_provisioner/issues) for a list of proposed features (and known issues).\n\n## Provider Support\n\n| Provider       | Supported by HCL VoltMX Go Provisioner |\n|----------------|--------------------------------|\n| VirtualBox     | Yes                            |\n| Bhyve/Zones    | Yes                            |\n| VMware Fusion  | No                             |\n| Hyper-V        | No                             |\n| Parallels      | No                             |\n| AWS EC2        | Yes                            |\n| Google Cloud   | No                             |\n| Azure          | No                             |\n| DigitalOcean   | No                             |\n| Linode         | No                             |\n| Vultr          | No                             |\n| Oracle Cloud   | No                             |\n| OpenStack      | No                             |\n| Rackspace      | No                             |\n| Alibaba Cloud  | No                             |\n| Aiven          | No                             |\n| Packet         | No                             |\n| Scaleway       | No                             |\n| OVH            | No                             |\n| Exoscale       | No                             |\n| Hetzner Cloud  | No                             |\n| KVM            | Yes                            |\n| QEMU           | Yes                            |\n| Docker Desktop | No                             |\n| HyperKit       | No                             |\n| WSL2           | No                             |\n\n## Built With\n* [Vagrant](https://www.vagrantup.com/) - Portable Development Environment Suite.\n* [VirtualBox](https://www.virtualbox.org/wiki/Downloads) - Hypervisor.\n* [Ansible](https://www.ansible.com/) - Virtual Machine Automation Management.\n* [Core Provisioner](https://github.com/STARTcloud/core_provisioner) - Core Provisioner.\n* [HCL Domino Standalone Provisioner](https://github.com/STARTcloud/hcl_domino_standalone_provisioner) - HCL Domino Standalone Provisioner.\n* [HCL Domino Additional Provisioner](https://github.com/STARTcloud/hcl_domino_additional_provisioner) - HCL Domino Additional Provisioner.\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](./CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## License\n\nThis project is licensed under the SSLP v3 License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Authors\n* **Joel Anderson** - *Initial work* - [JoelProminic](https://github.com/JoelProminic)\n* **Justin Hill** - *Initial work* - [JustinProminic](https://github.com/JustinProminic)\n* **Mark Gilbert** - *Refactor* - [MarkProminic](https://github.com/MarkProminic)\n\nSee also the list of [contributors](https://github.com/STARTcloud/hcl_voltmx_go_provisioner/graphs/contributors) who participated in this project.\n\n## Acknowledgments\n\n* Hat tip to anyone whose code was used\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstartcloud%2Fhcl_voltmx_go_provisioner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstartcloud%2Fhcl_voltmx_go_provisioner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstartcloud%2Fhcl_voltmx_go_provisioner/lists"}