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:
@@ -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
44
central-setup/README.md
Normal 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`!
|
@@ -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
|
@@ -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`.
|
Reference in New Issue
Block a user