diff --git a/Ansible/README.md b/Ansible/README.md new file mode 100644 index 0000000000000000000000000000000000000000..d4e29da0adb0e1c90bf02c8b6ce94f5dc1d23396 --- /dev/null +++ b/Ansible/README.md @@ -0,0 +1,3 @@ +# Ansible + +Services, machines and bootstrapping of machines managed by Ansible. diff --git a/ansible.cfg b/Ansible/ansible.cfg similarity index 100% rename from ansible.cfg rename to Ansible/ansible.cfg diff --git a/bootstrap.yaml b/Ansible/bootstrap.yaml similarity index 100% rename from bootstrap.yaml rename to Ansible/bootstrap.yaml diff --git a/debian_server.yaml b/Ansible/debian_server.yaml similarity index 100% rename from debian_server.yaml rename to Ansible/debian_server.yaml diff --git a/hosts/all.yaml b/Ansible/hosts/all.yaml similarity index 100% rename from hosts/all.yaml rename to Ansible/hosts/all.yaml diff --git a/kodi.yaml b/Ansible/kodi.yaml similarity index 100% rename from kodi.yaml rename to Ansible/kodi.yaml diff --git a/renew-certs.yaml b/Ansible/renew-certs.yaml similarity index 100% rename from renew-certs.yaml rename to Ansible/renew-certs.yaml diff --git a/roles/debian_bootstrap/tasks/main.yaml b/Ansible/roles/debian_bootstrap/tasks/main.yaml similarity index 100% rename from roles/debian_bootstrap/tasks/main.yaml rename to Ansible/roles/debian_bootstrap/tasks/main.yaml diff --git a/roles/debian_server/files/apt-download-updates b/Ansible/roles/debian_server/files/apt-download-updates similarity index 98% rename from roles/debian_server/files/apt-download-updates rename to Ansible/roles/debian_server/files/apt-download-updates index 9af11f833a8a7b4f0095deede3d38e9f4821434e..32a2b48d76ec3a016a71e508a1ee60d2817aff05 100755 --- a/roles/debian_server/files/apt-download-updates +++ b/Ansible/roles/debian_server/files/apt-download-updates @@ -4,4 +4,3 @@ set -eu apt-get update apt-get dist-upgrade --download-only --yes apt-get autoclean - diff --git a/roles/debian_server/files/btrfs-backup b/Ansible/roles/debian_server/files/btrfs-backup similarity index 100% rename from roles/debian_server/files/btrfs-backup rename to Ansible/roles/debian_server/files/btrfs-backup diff --git a/roles/debian_server/files/docker-restart b/Ansible/roles/debian_server/files/docker-restart similarity index 100% rename from roles/debian_server/files/docker-restart rename to Ansible/roles/debian_server/files/docker-restart diff --git a/roles/debian_server/files/flatpak-update b/Ansible/roles/debian_server/files/flatpak-update similarity index 100% rename from roles/debian_server/files/flatpak-update rename to Ansible/roles/debian_server/files/flatpak-update diff --git a/roles/debian_server/files/fw-update b/Ansible/roles/debian_server/files/fw-update similarity index 100% rename from roles/debian_server/files/fw-update rename to Ansible/roles/debian_server/files/fw-update diff --git a/roles/debian_server/handlers/main.yml b/Ansible/roles/debian_server/handlers/main.yml similarity index 100% rename from roles/debian_server/handlers/main.yml rename to Ansible/roles/debian_server/handlers/main.yml diff --git a/roles/debian_server/tasks/btrfs.yml b/Ansible/roles/debian_server/tasks/btrfs.yml similarity index 100% rename from roles/debian_server/tasks/btrfs.yml rename to Ansible/roles/debian_server/tasks/btrfs.yml diff --git a/roles/debian_server/tasks/docker.yml b/Ansible/roles/debian_server/tasks/docker.yml similarity index 100% rename from roles/debian_server/tasks/docker.yml rename to Ansible/roles/debian_server/tasks/docker.yml diff --git a/roles/debian_server/tasks/main.yml b/Ansible/roles/debian_server/tasks/main.yml similarity index 100% rename from roles/debian_server/tasks/main.yml rename to Ansible/roles/debian_server/tasks/main.yml diff --git a/roles/debian_server/tasks/maintenance.yml b/Ansible/roles/debian_server/tasks/maintenance.yml similarity index 100% rename from roles/debian_server/tasks/maintenance.yml rename to Ansible/roles/debian_server/tasks/maintenance.yml diff --git a/roles/debian_server/tasks/toolbox.yml b/Ansible/roles/debian_server/tasks/toolbox.yml similarity index 100% rename from roles/debian_server/tasks/toolbox.yml rename to Ansible/roles/debian_server/tasks/toolbox.yml diff --git a/roles/debian_server/tasks/web.yml b/Ansible/roles/debian_server/tasks/web.yml similarity index 100% rename from roles/debian_server/tasks/web.yml rename to Ansible/roles/debian_server/tasks/web.yml diff --git a/roles/debian_server/templates/btrfs_check.service.j2 b/Ansible/roles/debian_server/templates/btrfs_check.service.j2 similarity index 100% rename from roles/debian_server/templates/btrfs_check.service.j2 rename to Ansible/roles/debian_server/templates/btrfs_check.service.j2 diff --git a/roles/debian_server/templates/btrfs_check.timer.j2 b/Ansible/roles/debian_server/templates/btrfs_check.timer.j2 similarity index 100% rename from roles/debian_server/templates/btrfs_check.timer.j2 rename to Ansible/roles/debian_server/templates/btrfs_check.timer.j2 diff --git a/roles/debian_server/templates/btrfs_scrub.service.j2 b/Ansible/roles/debian_server/templates/btrfs_scrub.service.j2 similarity index 100% rename from roles/debian_server/templates/btrfs_scrub.service.j2 rename to Ansible/roles/debian_server/templates/btrfs_scrub.service.j2 diff --git a/roles/debian_server/templates/btrfs_scrub.timer.j2 b/Ansible/roles/debian_server/templates/btrfs_scrub.timer.j2 similarity index 100% rename from roles/debian_server/templates/btrfs_scrub.timer.j2 rename to Ansible/roles/debian_server/templates/btrfs_scrub.timer.j2 diff --git a/roles/debian_server/templates/maintenance-task.service.j2 b/Ansible/roles/debian_server/templates/maintenance-task.service.j2 similarity index 99% rename from roles/debian_server/templates/maintenance-task.service.j2 rename to Ansible/roles/debian_server/templates/maintenance-task.service.j2 index a305c3c9d31748e69886eb402e0258f81aa2791c..dc2c57cbc92b036d46dbca0f52ab4c9d50f56b26 100644 --- a/roles/debian_server/templates/maintenance-task.service.j2 +++ b/Ansible/roles/debian_server/templates/maintenance-task.service.j2 @@ -8,4 +8,3 @@ After=network-online.target [Service] Type=exec ExecStart={{ command }} - diff --git a/roles/debian_server/templates/maintenance-task.timer.j2 b/Ansible/roles/debian_server/templates/maintenance-task.timer.j2 similarity index 100% rename from roles/debian_server/templates/maintenance-task.timer.j2 rename to Ansible/roles/debian_server/templates/maintenance-task.timer.j2 diff --git a/roles/debian_server/vars/main.yml b/Ansible/roles/debian_server/vars/main.yml similarity index 100% rename from roles/debian_server/vars/main.yml rename to Ansible/roles/debian_server/vars/main.yml diff --git a/roles/kodi/files/kodi.service b/Ansible/roles/kodi/files/kodi.service similarity index 100% rename from roles/kodi/files/kodi.service rename to Ansible/roles/kodi/files/kodi.service diff --git a/roles/kodi/files/xorg.service b/Ansible/roles/kodi/files/xorg.service similarity index 100% rename from roles/kodi/files/xorg.service rename to Ansible/roles/kodi/files/xorg.service diff --git a/roles/kodi/handlers/main.yml b/Ansible/roles/kodi/handlers/main.yml similarity index 100% rename from roles/kodi/handlers/main.yml rename to Ansible/roles/kodi/handlers/main.yml diff --git a/roles/kodi/meta/main.yml b/Ansible/roles/kodi/meta/main.yml similarity index 100% rename from roles/kodi/meta/main.yml rename to Ansible/roles/kodi/meta/main.yml diff --git a/roles/kodi/tasks/main.yml b/Ansible/roles/kodi/tasks/main.yml similarity index 100% rename from roles/kodi/tasks/main.yml rename to Ansible/roles/kodi/tasks/main.yml diff --git a/roles/openbsd_bootstrap/defaults/main.yaml b/Ansible/roles/openbsd_bootstrap/defaults/main.yaml similarity index 100% rename from roles/openbsd_bootstrap/defaults/main.yaml rename to Ansible/roles/openbsd_bootstrap/defaults/main.yaml diff --git a/roles/openbsd_bootstrap/handlers/main.yaml b/Ansible/roles/openbsd_bootstrap/handlers/main.yaml similarity index 100% rename from roles/openbsd_bootstrap/handlers/main.yaml rename to Ansible/roles/openbsd_bootstrap/handlers/main.yaml diff --git a/roles/openbsd_bootstrap/tasks/main.yaml b/Ansible/roles/openbsd_bootstrap/tasks/main.yaml similarity index 100% rename from roles/openbsd_bootstrap/tasks/main.yaml rename to Ansible/roles/openbsd_bootstrap/tasks/main.yaml diff --git a/roles/openbsd_bootstrap/vars/main.yaml b/Ansible/roles/openbsd_bootstrap/vars/main.yaml similarity index 100% rename from roles/openbsd_bootstrap/vars/main.yaml rename to Ansible/roles/openbsd_bootstrap/vars/main.yaml diff --git a/roles/openwrt_bootstrap/tasks/main.yaml b/Ansible/roles/openwrt_bootstrap/tasks/main.yaml similarity index 100% rename from roles/openwrt_bootstrap/tasks/main.yaml rename to Ansible/roles/openwrt_bootstrap/tasks/main.yaml diff --git a/roles/router/defaults/main.yaml b/Ansible/roles/router/defaults/main.yaml similarity index 100% rename from roles/router/defaults/main.yaml rename to Ansible/roles/router/defaults/main.yaml diff --git a/roles/router/files/bgpd.conf b/Ansible/roles/router/files/bgpd.conf similarity index 100% rename from roles/router/files/bgpd.conf rename to Ansible/roles/router/files/bgpd.conf diff --git a/roles/router/files/dhcpd.conf b/Ansible/roles/router/files/dhcpd.conf similarity index 100% rename from roles/router/files/dhcpd.conf rename to Ansible/roles/router/files/dhcpd.conf diff --git a/roles/router/files/filebeat.yml b/Ansible/roles/router/files/filebeat.yml similarity index 100% rename from roles/router/files/filebeat.yml rename to Ansible/roles/router/files/filebeat.yml diff --git a/roles/router/files/haproxy.cfg b/Ansible/roles/router/files/haproxy.cfg similarity index 100% rename from roles/router/files/haproxy.cfg rename to Ansible/roles/router/files/haproxy.cfg diff --git a/roles/router/files/hosts b/Ansible/roles/router/files/hosts similarity index 100% rename from roles/router/files/hosts rename to Ansible/roles/router/files/hosts diff --git a/roles/router/files/mail/spamd.conf b/Ansible/roles/router/files/mail/spamd.conf similarity index 100% rename from roles/router/files/mail/spamd.conf rename to Ansible/roles/router/files/mail/spamd.conf diff --git a/roles/router/files/metricbeat.yml b/Ansible/roles/router/files/metricbeat.yml similarity index 100% rename from roles/router/files/metricbeat.yml rename to Ansible/roles/router/files/metricbeat.yml diff --git a/roles/router/files/nsd/nehe.sr b/Ansible/roles/router/files/nsd/nehe.sr similarity index 100% rename from roles/router/files/nsd/nehe.sr rename to Ansible/roles/router/files/nsd/nehe.sr diff --git a/roles/router/files/nsd/nehe.sr.conf b/Ansible/roles/router/files/nsd/nehe.sr.conf similarity index 100% rename from roles/router/files/nsd/nehe.sr.conf rename to Ansible/roles/router/files/nsd/nehe.sr.conf diff --git a/roles/router/files/nsd/nehes.co b/Ansible/roles/router/files/nsd/nehes.co similarity index 100% rename from roles/router/files/nsd/nehes.co rename to Ansible/roles/router/files/nsd/nehes.co diff --git a/roles/router/files/nsd/nehes.co.conf b/Ansible/roles/router/files/nsd/nehes.co.conf similarity index 100% rename from roles/router/files/nsd/nehes.co.conf rename to Ansible/roles/router/files/nsd/nehes.co.conf diff --git a/roles/router/files/nsd/shore.co.il b/Ansible/roles/router/files/nsd/shore.co.il similarity index 100% rename from roles/router/files/nsd/shore.co.il rename to Ansible/roles/router/files/nsd/shore.co.il diff --git a/roles/router/files/nsd/shore.co.il.conf b/Ansible/roles/router/files/nsd/shore.co.il.conf similarity index 100% rename from roles/router/files/nsd/shore.co.il.conf rename to Ansible/roles/router/files/nsd/shore.co.il.conf diff --git a/roles/router/files/packetbeat.yml b/Ansible/roles/router/files/packetbeat.yml similarity index 100% rename from roles/router/files/packetbeat.yml rename to Ansible/roles/router/files/packetbeat.yml diff --git a/roles/router/files/pf.conf b/Ansible/roles/router/files/pf.conf similarity index 100% rename from roles/router/files/pf.conf rename to Ansible/roles/router/files/pf.conf diff --git a/roles/router/files/unbound/shore.co.il.conf b/Ansible/roles/router/files/unbound/shore.co.il.conf similarity index 100% rename from roles/router/files/unbound/shore.co.il.conf rename to Ansible/roles/router/files/unbound/shore.co.il.conf diff --git a/roles/router/handlers/main.yaml b/Ansible/roles/router/handlers/main.yaml similarity index 100% rename from roles/router/handlers/main.yaml rename to Ansible/roles/router/handlers/main.yaml diff --git a/roles/router/tasks/main.yaml b/Ansible/roles/router/tasks/main.yaml similarity index 100% rename from roles/router/tasks/main.yaml rename to Ansible/roles/router/tasks/main.yaml diff --git a/roles/router/vars/main.yaml b/Ansible/roles/router/vars/main.yaml similarity index 100% rename from roles/router/vars/main.yaml rename to Ansible/roles/router/vars/main.yaml diff --git a/roles/wap/README.md b/Ansible/roles/wap/README.md similarity index 100% rename from roles/wap/README.md rename to Ansible/roles/wap/README.md diff --git a/roles/wap/tasks/main.yaml b/Ansible/roles/wap/tasks/main.yaml similarity index 100% rename from roles/wap/tasks/main.yaml rename to Ansible/roles/wap/tasks/main.yaml diff --git a/roles/wap/templates/daily.j2 b/Ansible/roles/wap/templates/daily.j2 similarity index 100% rename from roles/wap/templates/daily.j2 rename to Ansible/roles/wap/templates/daily.j2 diff --git a/roles/wap/templates/uci.conf.j2 b/Ansible/roles/wap/templates/uci.conf.j2 similarity index 99% rename from roles/wap/templates/uci.conf.j2 rename to Ansible/roles/wap/templates/uci.conf.j2 index 1ec0a5cdbdaac3bf525b420bc14e8a10c44cd13d..0d47d5d4fe65a9c34390b9ff9e32367f9577bd54 100644 --- a/roles/wap/templates/uci.conf.j2 +++ b/Ansible/roles/wap/templates/uci.conf.j2 @@ -432,4 +432,3 @@ config wifi-iface 'default_radio1' option key '{{ wifi_password }}' option encryption 'psk2' option ssid 'Shore Inc. (5ghz)' - diff --git a/roles/wap/vars/main.yaml b/Ansible/roles/wap/vars/main.yaml similarity index 100% rename from roles/wap/vars/main.yaml rename to Ansible/roles/wap/vars/main.yaml diff --git a/router.yaml b/Ansible/router.yaml similarity index 100% rename from router.yaml rename to Ansible/router.yaml diff --git a/tasks/renew-cert.yaml b/Ansible/tasks/renew-cert.yaml similarity index 100% rename from tasks/renew-cert.yaml rename to Ansible/tasks/renew-cert.yaml diff --git a/tasks/sshd_config.yaml b/Ansible/tasks/sshd_config.yaml similarity index 100% rename from tasks/sshd_config.yaml rename to Ansible/tasks/sshd_config.yaml diff --git a/update.yaml b/Ansible/update.yaml similarity index 99% rename from update.yaml rename to Ansible/update.yaml index 8ebf8f20394468dd39ff025b4c8bd9d86d48d2a6..857a7cb4a44e9357f847fef4efd5e3f3d7a19c98 100644 --- a/update.yaml +++ b/Ansible/update.yaml @@ -28,6 +28,7 @@ command: fwupdmgr --assume-yes update register: fwupdmgr changed_when: fwupdmgr.stdout_lines|length > 0 + ignore_errors: true - name: Gather package facts package_facts: diff --git a/vault-passhole b/Ansible/vault-passhole similarity index 100% rename from vault-passhole rename to Ansible/vault-passhole diff --git a/wap.yaml b/Ansible/wap.yaml similarity index 100% rename from wap.yaml rename to Ansible/wap.yaml diff --git a/Compose/README.md b/Compose/README.md new file mode 100644 index 0000000000000000000000000000000000000000..431ec9038bde251007e27c5267c856b524daa97b --- /dev/null +++ b/Compose/README.md @@ -0,0 +1,3 @@ +# Compose + +Services managed with Docker Compose. diff --git a/Containerfiles/README.md b/Containerfiles/README.md new file mode 100644 index 0000000000000000000000000000000000000000..622b32840c49ab4e1fef06d6fcc0e3def336f659 --- /dev/null +++ b/Containerfiles/README.md @@ -0,0 +1,4 @@ +# Containerfiles + +Containerfiles (AKA Dockerfiles) for containers images used in Shore.co.il's +infrastructure. diff --git a/README.md b/README.md index 0172a0052508a71218ada90a8291de8e7742d7be..61cf23fa96daafd9b9387ebd7a88d3faad431b09 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,20 @@ [](https://git.shore.co.il/shore/homelab/-/commits/master) -> My homelab setup using Ansible. +> Shore.co.il infrastructure. -## Background +## Introduction + +This project is structured is the following: + +| Directory | Description | +| --- | --- | +| `Ansible` | Ansible roles and playbooks | +| `Containerfiles` | Container images | +| `Compose` | Services managed with Docker Compose | +| `Terraform` | Services managed with Terraform | + +## A little of history I used to maintain quite a few Ansible roles with proper CI and whatnot. But as time moved on a few things changed. Firstly, my homelab was stable and I diff --git a/Terraform/README.md b/Terraform/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a5048bc0df9a3e3f34bc5077f29409de4a0df582 --- /dev/null +++ b/Terraform/README.md @@ -0,0 +1,8 @@ +# Terraform + +Services managed with Terraform. + +# Terraform state + +Project usually store their state in GitLab using [GitLab managed Terraform +State](https://docs.gitlab.com/ee/user/infrastructure/iac/terraform_state.html).