Documentation for STARTcloud Generic Provisioner
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
- About the Project
- Key Features
- Galaxy Role File Structure
- Roadmap
- Contributing
- License
- Contact
- Acknowledgements
STARTcloud Generic Provisioner is a collection of Generic STARTcloud Roles.
- Role Management: Offers a comprehensive set of Ansible roles for various aspects of VM preparation and configuration.
- Technology Installation: Automates the installation of proprietary technologies like Verse, Domino, Traveler, and Nomad, simplifying the deployment process.
- Service Configuration: Simplifies the setup of necessary services on VMs, streamlining the deployment process.
- Dependency Installation: Handles the installation of required dependencies, reducing manual setup efforts.
Add STARTcloud Generic Provisioner as a Git Submodule:First, ensure that STARTcloud Generic Provisioner is added as a submodule to your project. This can be done using the following command:
git submodule add -b submodule https://github.com/STARTcloud/startcloud_generic_provisioner startcloud_generic_provisioner
Replace path/to/submodule with the desired path within your project where you want to include STARTcloud Generic Provisioner.
Update the Submodule:After cloning your project, navigate to the submodule directory and pull the latest changes:
bash cd path/to/submodule git pull origin main
To integrate STARTcloud Generic Provisioner with the Core Provisioner, specifically with the Hosts.yml and Hosts.rb files, follow these steps:
STARTcloud Generic Provisioner enhances the provisioning process by automating the configuration of VMs. To utilize these roles effectively, they need to be referenced within the Hosts.yml for the Core Provisioner Hosts.rb.
- Reference Roles in
Hosts.yml: Within theHosts.ymlfile, you can specify which roles from STARTcloud Generic Provisioner should be applied to a particular host. This is done by including the role names under theroleskey for each host configuration. For example:
hosts: all
roles:
- startcloud.roles.ssl_setup
- startcloud.roles.service_configuration
This configuration indicates that the ssl_setup and service_configuration roles from STARTcloud Generic Provisioner should be applied to all hosts via all.
- Execution in
Hosts.rb: TheHosts.rbscript is responsible for interpreting theHosts.ymlfile and generating the necessary Vagrant configurations. When theHosts.rbscript encounters a host configuration that includes roles, it automatically applies these roles during the provisioning process. There's no need for additional modifications inHosts.rbfor this purpose, as the script is designed to handle role application based on theHosts.ymlconfigurations.
By following these steps, you can seamlessly integrate STARTcloud Generic Provisioner with the Core Provisioner, leveraging the power of Ansible roles to automate the configuration and security of your VMs. This approach enhances the flexibility and extensibility of your provisioning process, allowing for a more declarative and manageable setup.
See the open issues for a list of proposed features (and known issues).
| Provider | Supported by STARTcloud Generic Provisioner |
|---|---|
| VirtualBox | Yes |
| Bhyve/Zones | Yes |
| VMware Fusion | No |
| Hyper-V | No |
| Parallels | No |
| AWS EC2 | Yes |
| Google Cloud | No |
| Azure | No |
| DigitalOcean | No |
| Linode | No |
| Vultr | No |
| Oracle Cloud | No |
| OpenStack | No |
| Rackspace | No |
| Alibaba Cloud | No |
| Aiven | No |
| Packet | No |
| Scaleway | No |
| OVH | No |
| Exoscale | No |
| Hetzner Cloud | No |
| KVM | Yes |
| QEMU | Yes |
| Docker Desktop | No |
| HyperKit | No |
| WSL2 | No |
- Vagrant - Portable Development Environment Suite.
- VirtualBox - Hypervisor.
- Ansible - Virtual Machine Automation Management.
- Core Provisioner - Core Provisioner.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Joel Anderson - Initial work - JoelProminic
- Justin Hill - Initial work - JustinProminic
- Mark Gilbert - Refactor - MarkProminic
See also the list of contributors who participated in this project.
This project is licensed under the SSLP v3 License - see the LICENSE.md file for details
- Hat tip to anyone whose code was used