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
|
fi
|
||||||
|
|
||||||
# The source templates for asq setup.
|
# 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
|
if [ ! -d "${DNSMASQ_TEMPLATE_DIR}" ]; then
|
||||||
echo "Error: DNSMasq setup directory not found at ${DNSMASQ_TEMPLATE_DIR}"
|
echo "Error: DNSMasq setup directory not found at ${DNSMASQ_TEMPLATE_DIR}"
|
||||||
exit 1
|
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
|
#!/bin/bash
|
||||||
|
|
||||||
# This file to be run on dnsmasq server
|
# This file to be run on dnsmasq server (Central)
|
||||||
|
|
||||||
echo "Updating APT repositories."
|
echo "Updating APT repositories."
|
||||||
sudo apt-get update
|
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