This project is essentially me geeking around at home
I use a Gigabyte BrixS GB-BKi7HA-7500. 2x16GB of RAM and a Pci-e 256GB

Create a user with privileges to create vms Create some Port groups: LAB2 [vlan2], LAB3 [vlan3]
Mount a CentOS7 minimal ISO file
Create a CentOS VM manually with 3 network interfaces:
- VM Network
- LAB2
- LAB3
Post-install:
- Create an ansible user, grant passwordless sudo
Register the IP address of the bootstrap box or set it manually to something.
Edit ansible/hosts
[dhcp]
<BOOTSTRAP_IP> ansible_become=true kickstart_ip=10.0.0.1Create a ~/.ansible_vault_password with some secret content
Edit some password files with ansible-vault:
ansible-vault edit ansible/roles/pxe-stack/vars/secrets.yml --vault-password-file=~/.ansible_vault_passwordroot_password_hash: <ROOT_PASSWORD_HASH>
ansible_password_hash: <ANSIBLE_PASSWORD_HASH>
ansible_pub_key: <ANSIBLE_SSH_PUBKEY>Run ansible playbook against bootstrap node
ansible-playbook -i ${HOSTS_FILE} --vault-password-file=~/.ansible_vault_password ansible/pxe-stack.yml $@Create a ~/secret.tfvars with the following content, chmod it 0600
vsphere_user="<YOUR_ESXI_USERNAME>"
vsphere_password="<YOUR_ESXI_PASSWORD>"
- PXE_SERVER. Use this right now as a way of storing downloadable components
- CONSUL_VIP. Useful to access the ui from a workstation. Otherwise access to consul is done via a local consul agent
- CONSUL_SERVER. Currently 3 and regisered here. To change this, re-run the consul-experiments terraform stuff