Add dnsmasq and Talos setup documentation and configuration files

- Created `dnsmasq-setup.md` guide for setting up dnsmasq on hardware like Orange Pi Zero 3.
- Added `talos-setup.md` guide for an alternate setup using Talos and bare Kubernetes.
- Introduced configuration files for dnsmasq including `.not_logged_in_yet`, `bare-metal.yaml`, `boot.ipxe`, `dnsmasq.conf`, and `nginx.conf`.
- Implemented `setup.sh` script for automating the installation and configuration of dnsmasq and nginx.
- Updated example configuration in `config.example.yaml` to include Talos versioning.
- Modified README to reflect changes in Wild-Cloud app commands.
This commit is contained in:
2025-06-08 16:32:45 -07:00
parent 0971452900
commit 02a282899b
15 changed files with 1062 additions and 38 deletions

View File

@@ -0,0 +1,48 @@
# Setting up Ambian on a pi
These are _raw_ notes. Instructions will need to be made friendly.
## Hardware requirements
- 32GB SD card
- SD to USB adapter
## Creating OS boot on SD
### References
- See [Armbian OS getting started](https://docs.armbian.com/User-Guide_Getting-Started/)
- See [Orange Pi Zero 3 setup](https://www.armbian.com/orange-pi-zero-3/)
### Steps
Prepare image:
- Download [OS image](https://www.armbian.com/download/).
- Install [usbimager](https://gitlab.com/bztsrc/usbimager).
- Insert SD card into USB adapter into ops computer.
- Launch `USB Imager` and use it to write your downloaded image to the SD card. It might take an hour.
- When written, copy infrastructure_setup/dnsmasq/.not_logged_in_yet to the sd's `root/` dir.
Boot:
- Put the SD card into the Pi and boot.
- Set config options.
- From your ops machine, ssh into the pi.
- Run `armbian-install`
- Select the option to put the boot loader on the sdcard
Configure:
```bash
# Block all suspend, hibernate, and sleep actions.
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
```
Update:
```bash
wget -qO - https://apt.armbian.com/armbian.key | gpg --dearmor | sudo tee /usr/share/keyrings/armbian.gpg >/dev/null
sudo apt update
sudo apt upgrade
```

View File

@@ -0,0 +1,8 @@
# Dnsmasq setup
Steps:
- Get some hardware. A $30 _Orange Pi Zero 3_ is good enough.
- See [Armbian Setup](./armbian-setup.md).
- From your wildcloud root, run `install-dnsmasq`. This will create the required installation files and copy them all to your dnsmasq server into `/tmp/dnsmasq-setup`.
- ssh into your dnsmasq server and run `/tmp/dnsmasq-setup/setup.sh`.

View File

@@ -0,0 +1,32 @@
# Talos
This is an alternate setup to using ks that uses talos and bare kubernetes. IN PROGRESS.
From https://www.talos.dev/v1.10/introduction/getting-started/
```bash
# Install kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# Install talosctl
curl -sL https://talos.dev/install | sh
# Generate cluster config files (and pki and tokens)
talosctl gen config test-cluster https://192.168.8.238:6443
talosctl -n 192.168.8.238 get disks --insecure
# Update disk in controlplane.yml
# Apply control plane config
talosctl apply-config --insecure --nodes 192.168.8.238 --file controlplane.yaml
# Bootstrap cluster on control plan
talosctl bootstrap --nodes 192.168.8.238 --endpoints 192.168.8.238 --talosconfig=./talosconfig
# Merge into kubeconfig
talosctl kubeconfig --nodes 192.168.8.238 --endpoints 192.168.8.238 --talosconfig=./talosconfig
```