Add initial setup for Central DNS and PXE services using dnsmasq

- Created README.md for Central setup documentation.
- Added dnsmasq configuration files and scripts for setting up DNS and PXE booting.
- Implemented nginx configuration to serve PXE boot assets.
- Developed setup.sh script to automate installation and configuration of dnsmasq and nginx.
- Removed outdated dnsmasq setup guide from documentation.
This commit is contained in:
2025-06-20 16:38:45 -07:00
parent 02a282899b
commit e2485627b1
10 changed files with 46 additions and 10 deletions

View File

@@ -44,7 +44,7 @@ if [ -z "${WILDCLOUD_REPO}" ] || [ "${WILDCLOUD_REPO}" = "null" ]; then
fi
# The source templates for asq setup.
DNSMASQ_TEMPLATE_DIR="${WILDCLOUD_REPO}/infrastructure_setup/dnsmasq"
DNSMASQ_TEMPLATE_DIR="${WILDCLOUD_REPO}/central-setup/dnsmasq"
if [ ! -d "${DNSMASQ_TEMPLATE_DIR}" ]; then
echo "Error: DNSMasq setup directory not found at ${DNSMASQ_TEMPLATE_DIR}"
exit 1

44
central-setup/README.md Normal file
View File

@@ -0,0 +1,44 @@
# Central setup
"Central" is a Wild-cloud concept for a network appliance use for cloud utilities.
Right now, this is entirely `dnsmasq` to provide:
- LAN DNS w/ forwarding of internal and external cloud domains to the cluster.
- PXE for setting up cluster nodes.
## Setup
The setup is going through architecture design right now.
- Initially, the process used to bootstrap a node was:
- Run `bin/install-dnsmasq` in your personal wildcloud dir to create a set of install files in `cluster/dnsmasq`.
- Copy this dir to a configured debian machine to have the services set up correctly as your Central.
## Future setup
To provide a better user experience, we have been creating a debian apt package that also does this while providing a UI.
Development repo: https://github.com/civil-society-dev/wild-central
The setup will look something like this:
```bash
# Download and install GPG key
curl -fsSL https://mywildcloud.org/apt/wild-cloud-central.gpg | sudo tee /usr/share/keyrings/wild-cloud-central-archive-keyring.gpg > /dev/null
# Add repository (modern .sources format)
sudo tee /etc/apt/sources.list.d/wild-cloud-central.sources << 'EOF'
Types: deb
URIs: https://mywildcloud.org/apt
Suites: stable
Components: main
Signed-By: /usr/share/keyrings/wild-cloud-central-archive-keyring.gpg
EOF
# Update and install
sudo apt update
sudo apt install wild-cloud-central
```
browse to `http://localhost:5050`!

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# This file to be run on dnsmasq server
# This file to be run on dnsmasq server (Central)
echo "Updating APT repositories."
sudo apt-get update

View File

@@ -1,8 +0,0 @@
# 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`.