https://github.com/application-research/ehi-proxmaas
Integrates Proxmox, MAAS and Technitium to provide one-touch deployment of many machines
https://github.com/application-research/ehi-proxmaas
Last synced: 24 days ago
JSON representation
Integrates Proxmox, MAAS and Technitium to provide one-touch deployment of many machines
- Host: GitHub
- URL: https://github.com/application-research/ehi-proxmaas
- Owner: application-research
- License: mit
- Created: 2023-04-11T07:28:23.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-18T13:26:21.000Z (almost 3 years ago)
- Last Synced: 2025-01-25T04:11:13.670Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 104 KB
- Stars: 1
- Watchers: 7
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ProxMAAS for EHI
This is an experimental repo intended to enable the spawning of arbitrary machines in EHI using Proxmox and MAAS. Put them together, and you have ProxMAAS.
## Prerequisites
* A working EHI environment including Proxmox and MAAS
* Credentials for the Proxmox and MAAS APIs
* A "client" machine with the following Python3 modules installed
* `proxmoxer`
* `requests`
* `python-libmaas`
## Getting started
1. Clone this repo
2. Copy vars/secrets.yml.dist to vars/secrets.yml
3. Edit vars/secrets.yml to include your Proxmox and MAAS credentials
4. Run `ansible-playbook spawn.yml`
## Notes for later
scp wings@prod-tls-gen:/home/wings/.lego/certificates/_.estuary.tech.issuer.crt .
wings@chase:~/projects/wildcard-tls-playbook$ scp _.estuary.tech.issuer.crt wings@prod-ebi-maas01:/home/wings/
root@prod-ebi-maas01:/var/snap/maas/common/keys# cp ~wings/_.estuary.tech.issuer.crt cacert.pem
root@prod-ebi-maas01:/var/snap/maas/common/keys# maas config-tls enable --cacert cacert.pem /var/snap/maas/common/keys/maas.key /var/snap/maas/common/keys/maas.crt --port 443^C
## Future features
### Additional ranges
We have left open the possibility of defining multiple ranges of IP addresses. A future version of the playbook will allow you to deploy machine groups across multiple IP ranges.
For example, instead of
```
ip_range:
- start: 10.24.10.101
end: 10.24.10.103
```
You might instead define
```
ip_range:
- start: 10.24.10.101
end: 10.24.10.103
- start: 10.24.100.101
end: 10.24.100.103
```
Actual implementation of these additional loops is not complete. PRs welcome.
### Automatically triggering playbooks upon a change
We will (eventually) implement a feature which chainloads playbooks specific to each inventory upon machines being created for that inventory folder.
This will allow you to define and deploy your whole infrastructure continuously.