application-research / ehi-proxmaas

Integrates Proxmox, MAAS and Technitium to provide one-touch deployment of many machines
MIT License
1 stars 1 forks source link

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

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.