Find a file
Thomas Kleinendorst f3677cd314 Add test for existing DNS entry
The actions will only be performed now when the record actually needs
to be changed.
2024-04-07 23:40:58 +02:00
.vscode Add launch.json configuration 2024-04-07 23:17:35 +02:00
cloudflare ddns Add test for existing DNS entry 2024-04-07 23:40:58 +02:00
.gitignore Add DDNS script 2024-04-07 23:17:22 +02:00
LICENSE Initial commit 2024-04-07 12:37:40 +02:00
README.md Add environmental prerequisites to readme 2024-04-07 13:20:46 +02:00

Raspberry Pi IaC

Contains the Infrastructure as Code files which are used for provisioning my in house Raspberry Pi.

Prerequisites

The files within this repository should be run on a computer with Ansible installed. This is only possible on MacOS or Linux systems. For Windows it can be run within a WSL distro (see this guide on how to set this up, make sure the repository is checked out on the WSL distribution itself).

Ansible control node prerequisites

Install Ansible (see instructions).

Environment prerequisites

The Raspberry Pi IaC code contained within this repository provisions the Raspberry Pi itself but doesn't provision all surrounding infrastructure which is presumed to be managed by hand. The following relevant configuration is assumed:

  1. The Raspberry Pi should be installed and running with reachable SSH from the network. Setup its MicroSD card using the Raspberry Pi Imager (download). For CHOOSE OS select the : Raspberry Pi OS (other) > Raspberry Pi OS Lite (64-bit) option. Start the Raspberry Pi with an ethernet cable attached.
  2. The Raspberry Pi should have a fixed internal IP on the home network, this can be configured in the router. Make note of this internal ip, it should match the value in the hosts file.
  3. Cloudflare should be setup for managing the domain records of kleinendorst.info.