diff --git a/.gitignore b/.gitignore index 581a241..1836aa9 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ Temporary Items *.icloud # Terraform +terraform/ .terraform/ *.tfstate *.tfstate.backup diff --git a/10-sno-hub-cluster/README.md b/10-sno-hub-cluster/README.md deleted file mode 100644 index 4067368..0000000 --- a/10-sno-hub-cluster/README.md +++ /dev/null @@ -1 +0,0 @@ -# Moved to other documentation diff --git a/README.md b/README.md index 79741cb..7454af8 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,12 @@ This repository is the configuration of my homelab. In addition to providing ser This implementation is built on easily accessible consumer based hardware and will focus heavily on GitOps practices and automation will be used wherever possible. +This repo is a mono-repo that is broken up into three sections: + +- infra-config +- apps +- cluster-config + ## Hardware - Dell 7050 SFF (7) diff --git a/cluster-config b/cluster-config new file mode 160000 index 0000000..27252c8 --- /dev/null +++ b/cluster-config @@ -0,0 +1 @@ +Subproject commit 27252c8796803d13d307167e353d6148f19e8d65 diff --git a/00-network/README.md b/infra-config/00-network/README.md similarity index 100% rename from 00-network/README.md rename to infra-config/00-network/README.md diff --git a/01-storage/README.md b/infra-config/01-storage/README.md similarity index 100% rename from 01-storage/README.md rename to infra-config/01-storage/README.md diff --git a/02-proxmox/README.md b/infra-config/02-proxmox/README.md similarity index 100% rename from 02-proxmox/README.md rename to infra-config/02-proxmox/README.md diff --git a/03-infra01-server/03-unbound-dns/README.md b/infra-config/03-infra01-server/03-unbound-dns/README.md similarity index 100% rename from 03-infra01-server/03-unbound-dns/README.md rename to infra-config/03-infra01-server/03-unbound-dns/README.md diff --git a/03-infra01-server/04-free-ipa/README.md b/infra-config/03-infra01-server/04-free-ipa/README.md similarity index 100% rename from 03-infra01-server/04-free-ipa/README.md rename to infra-config/03-infra01-server/04-free-ipa/README.md diff --git a/03-infra01-server/05-templates/README.md b/infra-config/03-infra01-server/05-templates/README.md similarity index 100% rename from 03-infra01-server/05-templates/README.md rename to infra-config/03-infra01-server/05-templates/README.md diff --git a/03-infra01-server/06-matchbox/README.md b/infra-config/03-infra01-server/06-matchbox/README.md similarity index 100% rename from 03-infra01-server/06-matchbox/README.md rename to infra-config/03-infra01-server/06-matchbox/README.md diff --git a/03-infra01-server/install.yml b/infra-config/03-infra01-server/install.yml similarity index 100% rename from 03-infra01-server/install.yml rename to infra-config/03-infra01-server/install.yml diff --git a/10-sno-hub-cluster/01-dhcp/host-reservations.yml b/infra-config/10-sno-hub-cluster/01-dhcp/host-reservations.yml similarity index 100% rename from 10-sno-hub-cluster/01-dhcp/host-reservations.yml rename to infra-config/10-sno-hub-cluster/01-dhcp/host-reservations.yml diff --git a/10-sno-hub-cluster/01-dns/.terraform.lock.hcl b/infra-config/10-sno-hub-cluster/01-dns/.terraform.lock.hcl similarity index 100% rename from 10-sno-hub-cluster/01-dns/.terraform.lock.hcl rename to infra-config/10-sno-hub-cluster/01-dns/.terraform.lock.hcl diff --git a/10-sno-hub-cluster/01-dns/README.md b/infra-config/10-sno-hub-cluster/01-dns/README.md similarity index 100% rename from 10-sno-hub-cluster/01-dns/README.md rename to infra-config/10-sno-hub-cluster/01-dns/README.md diff --git a/10-sno-hub-cluster/01-dns/dns.tf b/infra-config/10-sno-hub-cluster/01-dns/dns.tf similarity index 100% rename from 10-sno-hub-cluster/01-dns/dns.tf rename to infra-config/10-sno-hub-cluster/01-dns/dns.tf diff --git a/10-sno-hub-cluster/01-dns/provider.tf b/infra-config/10-sno-hub-cluster/01-dns/provider.tf similarity index 100% rename from 10-sno-hub-cluster/01-dns/provider.tf rename to infra-config/10-sno-hub-cluster/01-dns/provider.tf diff --git a/10-sno-hub-cluster/02-dhcp/README.md b/infra-config/10-sno-hub-cluster/02-dhcp/README.md similarity index 100% rename from 10-sno-hub-cluster/02-dhcp/README.md rename to infra-config/10-sno-hub-cluster/02-dhcp/README.md diff --git a/10-sno-hub-cluster/02-dhcp/ip-reservations.yml b/infra-config/10-sno-hub-cluster/02-dhcp/ip-reservations.yml similarity index 100% rename from 10-sno-hub-cluster/02-dhcp/ip-reservations.yml rename to infra-config/10-sno-hub-cluster/02-dhcp/ip-reservations.yml diff --git a/10-sno-hub-cluster/03-openshift-image/README.md b/infra-config/10-sno-hub-cluster/03-openshift-image/README.md similarity index 100% rename from 10-sno-hub-cluster/03-openshift-image/README.md rename to infra-config/10-sno-hub-cluster/03-openshift-image/README.md diff --git a/10-sno-hub-cluster/03-openshift-image/create-openshift-image.yml b/infra-config/10-sno-hub-cluster/03-openshift-image/create-openshift-image.yml similarity index 100% rename from 10-sno-hub-cluster/03-openshift-image/create-openshift-image.yml rename to infra-config/10-sno-hub-cluster/03-openshift-image/create-openshift-image.yml diff --git a/10-sno-hub-cluster/03-openshift-image/move-pxe-assets.yml b/infra-config/10-sno-hub-cluster/03-openshift-image/move-pxe-assets.yml similarity index 100% rename from 10-sno-hub-cluster/03-openshift-image/move-pxe-assets.yml rename to infra-config/10-sno-hub-cluster/03-openshift-image/move-pxe-assets.yml diff --git a/10-sno-hub-cluster/03-openshift-image/templates/agent-config.yaml.j2 b/infra-config/10-sno-hub-cluster/03-openshift-image/templates/agent-config.yaml.j2 similarity index 100% rename from 10-sno-hub-cluster/03-openshift-image/templates/agent-config.yaml.j2 rename to infra-config/10-sno-hub-cluster/03-openshift-image/templates/agent-config.yaml.j2 diff --git a/10-sno-hub-cluster/03-openshift-image/templates/install-config.yaml.j2 b/infra-config/10-sno-hub-cluster/03-openshift-image/templates/install-config.yaml.j2 similarity index 100% rename from 10-sno-hub-cluster/03-openshift-image/templates/install-config.yaml.j2 rename to infra-config/10-sno-hub-cluster/03-openshift-image/templates/install-config.yaml.j2 diff --git a/10-sno-hub-cluster/04-matchbox/templates/groups.tf.j2 b/infra-config/10-sno-hub-cluster/04-matchbox/templates/groups.tf.j2 similarity index 100% rename from 10-sno-hub-cluster/04-matchbox/templates/groups.tf.j2 rename to infra-config/10-sno-hub-cluster/04-matchbox/templates/groups.tf.j2 diff --git a/10-sno-hub-cluster/04-matchbox/templates/profiles.tf.j2 b/infra-config/10-sno-hub-cluster/04-matchbox/templates/profiles.tf.j2 similarity index 100% rename from 10-sno-hub-cluster/04-matchbox/templates/profiles.tf.j2 rename to infra-config/10-sno-hub-cluster/04-matchbox/templates/profiles.tf.j2 diff --git a/10-sno-hub-cluster/04-matchbox/templates/provider.tf.j2 b/infra-config/10-sno-hub-cluster/04-matchbox/templates/provider.tf.j2 similarity index 100% rename from 10-sno-hub-cluster/04-matchbox/templates/provider.tf.j2 rename to infra-config/10-sno-hub-cluster/04-matchbox/templates/provider.tf.j2 diff --git a/10-sno-hub-cluster/05-bootstrap-acm/README.md b/infra-config/10-sno-hub-cluster/05-bootstrap-acm/README.md similarity index 100% rename from 10-sno-hub-cluster/05-bootstrap-acm/README.md rename to infra-config/10-sno-hub-cluster/05-bootstrap-acm/README.md diff --git a/10-sno-hub-cluster/05-bootstrap-acm/install2.yml b/infra-config/10-sno-hub-cluster/05-bootstrap-acm/install2.yml similarity index 100% rename from 10-sno-hub-cluster/05-bootstrap-acm/install2.yml rename to infra-config/10-sno-hub-cluster/05-bootstrap-acm/install2.yml diff --git a/10-sno-hub-cluster/install.yml b/infra-config/10-sno-hub-cluster/install.yml similarity index 100% rename from 10-sno-hub-cluster/install.yml rename to infra-config/10-sno-hub-cluster/install.yml diff --git a/infra-config/README.md b/infra-config/README.md new file mode 100644 index 0000000..920217c --- /dev/null +++ b/infra-config/README.md @@ -0,0 +1,3 @@ +# infra-config + + diff --git a/00-core-infra/ansible/README.md b/infra-config/ansible/README.md similarity index 100% rename from 00-core-infra/ansible/README.md rename to infra-config/ansible/README.md diff --git a/00-core-infra/ansible/ansible-ssh-key.yml b/infra-config/ansible/ansible-ssh-key.yml similarity index 100% rename from 00-core-infra/ansible/ansible-ssh-key.yml rename to infra-config/ansible/ansible-ssh-key.yml diff --git a/00-core-infra/ansible/ansible-vault.yml b/infra-config/ansible/ansible-vault.yml similarity index 100% rename from 00-core-infra/ansible/ansible-vault.yml rename to infra-config/ansible/ansible-vault.yml diff --git a/00-core-infra/ansible/ansible.cfg b/infra-config/ansible/ansible.cfg similarity index 100% rename from 00-core-infra/ansible/ansible.cfg rename to infra-config/ansible/ansible.cfg diff --git a/00-core-infra/ansible/collections/requirements.yml b/infra-config/ansible/collections/requirements.yml similarity index 100% rename from 00-core-infra/ansible/collections/requirements.yml rename to infra-config/ansible/collections/requirements.yml diff --git a/00-core-infra/ansible/debub.yml b/infra-config/ansible/debub.yml similarity index 100% rename from 00-core-infra/ansible/debub.yml rename to infra-config/ansible/debub.yml diff --git a/00-core-infra/ansible/group_vars/ipaserver/main.yml b/infra-config/ansible/group_vars/ipaserver/main.yml similarity index 100% rename from 00-core-infra/ansible/group_vars/ipaserver/main.yml rename to infra-config/ansible/group_vars/ipaserver/main.yml diff --git a/00-core-infra/ansible/group_vars/unbound_servers/main.yml b/infra-config/ansible/group_vars/unbound_servers/main.yml similarity index 100% rename from 00-core-infra/ansible/group_vars/unbound_servers/main.yml rename to infra-config/ansible/group_vars/unbound_servers/main.yml diff --git a/00-core-infra/ansible/host_vars/infra01/vars/main.yml b/infra-config/ansible/host_vars/infra01/vars/main.yml similarity index 100% rename from 00-core-infra/ansible/host_vars/infra01/vars/main.yml rename to infra-config/ansible/host_vars/infra01/vars/main.yml diff --git a/00-core-infra/ansible/host_vars/infra01/vault/main.yml b/infra-config/ansible/host_vars/infra01/vault/main.yml similarity index 100% rename from 00-core-infra/ansible/host_vars/infra01/vault/main.yml rename to infra-config/ansible/host_vars/infra01/vault/main.yml diff --git a/00-core-infra/ansible/host_vars/infra01/vault/vault.yml b/infra-config/ansible/host_vars/infra01/vault/vault.yml similarity index 100% rename from 00-core-infra/ansible/host_vars/infra01/vault/vault.yml rename to infra-config/ansible/host_vars/infra01/vault/vault.yml diff --git a/00-core-infra/ansible/host_vars/unbound/vars/main.yml b/infra-config/ansible/host_vars/unbound/vars/main.yml similarity index 100% rename from 00-core-infra/ansible/host_vars/unbound/vars/main.yml rename to infra-config/ansible/host_vars/unbound/vars/main.yml diff --git a/00-core-infra/ansible/host_vars/unbound01.yml b/infra-config/ansible/host_vars/unbound01.yml similarity index 100% rename from 00-core-infra/ansible/host_vars/unbound01.yml rename to infra-config/ansible/host_vars/unbound01.yml diff --git a/00-core-infra/ansible/host_vars/unbound02.yml b/infra-config/ansible/host_vars/unbound02.yml similarity index 100% rename from 00-core-infra/ansible/host_vars/unbound02.yml rename to infra-config/ansible/host_vars/unbound02.yml diff --git a/00-core-infra/ansible/idm-servers.yml b/infra-config/ansible/idm-servers.yml similarity index 100% rename from 00-core-infra/ansible/idm-servers.yml rename to infra-config/ansible/idm-servers.yml diff --git a/00-core-infra/ansible/idm-vault.yml b/infra-config/ansible/idm-vault.yml similarity index 100% rename from 00-core-infra/ansible/idm-vault.yml rename to infra-config/ansible/idm-vault.yml diff --git a/00-core-infra/ansible/inventory b/infra-config/ansible/inventory similarity index 100% rename from 00-core-infra/ansible/inventory rename to infra-config/ansible/inventory diff --git a/00-core-infra/ansible/lightspeed.yml b/infra-config/ansible/lightspeed.yml similarity index 100% rename from 00-core-infra/ansible/lightspeed.yml rename to infra-config/ansible/lightspeed.yml diff --git a/00-core-infra/ansible/roles/common/files/ansible.pub b/infra-config/ansible/roles/common/files/ansible.pub similarity index 100% rename from 00-core-infra/ansible/roles/common/files/ansible.pub rename to infra-config/ansible/roles/common/files/ansible.pub diff --git a/00-core-infra/ansible/roles/unbound/files/resolved_unbound.conf b/infra-config/ansible/roles/unbound/files/resolved_unbound.conf similarity index 100% rename from 00-core-infra/ansible/roles/unbound/files/resolved_unbound.conf rename to infra-config/ansible/roles/unbound/files/resolved_unbound.conf diff --git a/00-core-infra/ansible/roles/unbound/files/unbound.conf b/infra-config/ansible/roles/unbound/files/unbound.conf similarity index 100% rename from 00-core-infra/ansible/roles/unbound/files/unbound.conf rename to infra-config/ansible/roles/unbound/files/unbound.conf diff --git a/00-core-infra/ansible/set_hostname.yml b/infra-config/ansible/set_hostname.yml similarity index 100% rename from 00-core-infra/ansible/set_hostname.yml rename to infra-config/ansible/set_hostname.yml diff --git a/00-core-infra/ansible/set_sudoers.yml b/infra-config/ansible/set_sudoers.yml similarity index 100% rename from 00-core-infra/ansible/set_sudoers.yml rename to infra-config/ansible/set_sudoers.yml diff --git a/00-core-infra/ansible/site.yml b/infra-config/ansible/site.yml similarity index 100% rename from 00-core-infra/ansible/site.yml rename to infra-config/ansible/site.yml diff --git a/00-core-infra/ansible/uninstall-ipa.yml b/infra-config/ansible/uninstall-ipa.yml similarity index 100% rename from 00-core-infra/ansible/uninstall-ipa.yml rename to infra-config/ansible/uninstall-ipa.yml diff --git a/00-core-infra/ansible/vault/mk-labs.vault b/infra-config/ansible/vault/mk-labs.vault similarity index 100% rename from 00-core-infra/ansible/vault/mk-labs.vault rename to infra-config/ansible/vault/mk-labs.vault diff --git a/dns-entry.yml b/infra-config/dns-entry.yml similarity index 100% rename from dns-entry.yml rename to infra-config/dns-entry.yml diff --git a/frr-openshift.conf b/infra-config/frr-openshift.conf similarity index 100% rename from frr-openshift.conf rename to infra-config/frr-openshift.conf diff --git a/group_vars/all/vars b/infra-config/group_vars/all/vars similarity index 100% rename from group_vars/all/vars rename to infra-config/group_vars/all/vars diff --git a/group_vars/all/vault b/infra-config/group_vars/all/vault similarity index 100% rename from group_vars/all/vault rename to infra-config/group_vars/all/vault diff --git a/group_vars/freeipa/vars b/infra-config/group_vars/freeipa/vars similarity index 100% rename from group_vars/freeipa/vars rename to infra-config/group_vars/freeipa/vars diff --git a/group_vars/hub_cluster/vars b/infra-config/group_vars/hub_cluster/vars similarity index 100% rename from group_vars/hub_cluster/vars rename to infra-config/group_vars/hub_cluster/vars diff --git a/group_vars/matchbox/vars b/infra-config/group_vars/matchbox/vars similarity index 100% rename from group_vars/matchbox/vars rename to infra-config/group_vars/matchbox/vars diff --git a/host_vars/infra01/vars b/infra-config/host_vars/infra01/vars similarity index 100% rename from host_vars/infra01/vars rename to infra-config/host_vars/infra01/vars diff --git a/host_vars/ocp-hub/vars b/infra-config/host_vars/ocp-hub/vars similarity index 100% rename from host_vars/ocp-hub/vars rename to infra-config/host_vars/ocp-hub/vars diff --git a/host_vars/pve01/vars b/infra-config/host_vars/pve01/vars similarity index 100% rename from host_vars/pve01/vars rename to infra-config/host_vars/pve01/vars diff --git a/inventory.yml b/infra-config/inventory.yml similarity index 100% rename from inventory.yml rename to infra-config/inventory.yml diff --git a/playbooks/update-linux-os.yml b/infra-config/playbooks/update-linux-os.yml similarity index 100% rename from playbooks/update-linux-os.yml rename to infra-config/playbooks/update-linux-os.yml diff --git a/print_ips.yml b/infra-config/print_ips.yml similarity index 100% rename from print_ips.yml rename to infra-config/print_ips.yml diff --git a/proxmox.yml b/infra-config/proxmox.yml similarity index 100% rename from proxmox.yml rename to infra-config/proxmox.yml diff --git a/requirements.yml b/infra-config/requirements.yml similarity index 100% rename from requirements.yml rename to infra-config/requirements.yml diff --git a/site.yml b/infra-config/site.yml similarity index 100% rename from site.yml rename to infra-config/site.yml diff --git a/templates/dns.tf.j2 b/infra-config/templates/dns.tf.j2 similarity index 100% rename from templates/dns.tf.j2 rename to infra-config/templates/dns.tf.j2 diff --git a/templates/dns_provider.tf.j2 b/infra-config/templates/dns_provider.tf.j2 similarity index 100% rename from templates/dns_provider.tf.j2 rename to infra-config/templates/dns_provider.tf.j2 diff --git a/test.yml b/infra-config/test.yml similarity index 100% rename from test.yml rename to infra-config/test.yml diff --git a/step-by-step.md b/step-by-step.md index b9a2ae4..382bc03 100644 --- a/step-by-step.md +++ b/step-by-step.md @@ -2,7 +2,18 @@ This ~~is~~ *will be* the complete walkthrough of the deployment of my homelab. +This repo is a mono-repo that is broken up into three sections: + +- infra-config +- apps +- cluster-config + +## Getting Started + - On a PC/laptop, clone this git repo + + *(Ansibilze this process (below) )* + - Create your vault file for secrets (and store somewhere safe) ```bash