Zero touch provisioning for oVirt VMs with Google Cloud DNS integration
Since this is an early develpoment version, there can be breaking changes before reaching version 1.0.
go get github.com/mauvesoftware/provisionize/cmd/provisionizer
go get github.com/mauvesoftware/provisionize/cmd/deprovisionizer
./provisionizer --id=foo --cluster=cluster1 --fqdn=demo.mauve.cloud --cores=2 --memory=2048 --template=ubuntu-18-04 --ipv4=10.2.3.4 --ipv6=2001:678:1e0:f00::1 test-vm
./deprovisionizer --id=foo --cluster=cluster1 --fqdn=demo.mauve.cloud test-vm
To build and install provisionize on your local system (without usind docker)
go get github.com/mauvesoftware/provisionize/cmd/provisionize
this is an example config file for the ovirt server
listen_address: "[::]:1337"
ovirt:
url: https://my-ovirt.instance
username: provisionize
password: allTheThings
template_path: /etc/provisionize/template
gcloud:
project_id: "123456"
credentials_file: "/path/to/service-account/file"
ansible_tower:
url: https://tower
username: provisionize
password: allthethings
templates:
- name: web
ovirt: ubuntu-18-04
ansible_tower:
- 1
- 2
An example how /etc/provisionize/template can look like can be found in examples/template.xml
Assuming that your config file is located under /etc/provisionize/config.yml and we want to expose the gRPC port 1337:
docker run -d --restart=always -v /etc/provisionize/config.yml:/config/config.yml -p 1337:1337 mauvesoftware/provisionize
provisionize -c /etc/provisionize/config.yml
Daniel Czerwonk (Mauve Mailorder Software)
(c) Mauve Mailorder Software, 2019. Licensed under MIT license.