Add some setup and learning content.

This commit is contained in:
2025-08-21 23:54:06 -07:00
parent 6feb1ff24d
commit 631807ca33
27 changed files with 717 additions and 9 deletions

View File

@@ -0,0 +1,25 @@
+++
title = "Setup Wild Cloud"
date = '2025-06-09'
draft = false
+++
## Get your hardware
Make sure you have a dedicated machine for your DNS server. It can be tiny, like an Orange Pi Zero.
## Install your OS
- Install another Debian-based Linux machine on your LAN (e.g. Debian or Ubuntu).
- Record it's IP address.
## Install the DNS software
- Run `wild-dnsmasq-install` from your operator machine.
## Update your LAN router
- Log in to your LAN router's web interface.
- Find the DHCP settings and reserve the IP address you recorded for your DNS server.
- Set the DNS server for your LAN to the IP address of your DNS server.

View File

@@ -0,0 +1,18 @@
+++
title = "Get a Domain Name"
date = '2025-06-09'
draft = false
+++
## Get a Domain Name
You'll need to use CloudFlare.
Instructions...
1. Go to [CloudFlare](https://www.cloudflare.com/) and create an account.
2. If you don't already have a domain name, you can purchase one through CloudFlare.
3. If you do have one, you can have CloudFlare manage your DNS records for you. (instructions)
## Set up your LAN router
- DynamicDNS

View File

@@ -0,0 +1,73 @@
+++
title = "Hardware"
date = '2025-06-09'
draft = false
+++
## Get your hardware
A basic wild cloud requires 8 computers, a network switch, a battery backup, and an Internet connection.
Six of the computers run Talos Linux and are your "cluster nodes". One computer will run your local network's name server so you can access internal cloud applications. The last computer is just used to manage your cluster. Most of these computers can be small or old machines, and they are all managed by Wild Cloud, so don't think it's too expensive or complicated to get started. A really useful wild cloud can be built for less than the price of a new smart phone.
{{<alert>}}
In computing, the word "machine" goes back to Alan Turings 1936 concept of the Turing machine, and to early electromechanical computers like ENIAC that were literally giant calculating machines. Today, in Kubernetes and cloud systems, like your wild cloud, we still use the word "machine" to mean any physical or virtual computer that runs workloads.
{{</alert>}}
## Your "operator" machine
_You_ are the operator of your wild cloud, and you will need a computer to manage it. This can be any computer that you use regularly, such as a laptop or desktop. It does not need to be powerful. Wild Cloud management software is currently only tested on Ubuntu Linux, but it should work on any Linux or MacOS machine.
## LAN Router
Your LAN router is the central hub for your wild cloud network. It connects all of your machines to each other and to the Internet. We recommend the GL-iNet Flint 2 router. Why? [read more]
## DNS machine
You'll need a tiny computer to run your local DNS server. This can be a Raspberry Pi or any other small computer that can run Linux. It does not need to be powerful, as it will only handle a small amount of name lookups for internal use of your cloud. Here's a picture on an Orange Pi Zero running a wild cloud DNS server. It cost $40.
![Orange Pi Zero](/img/dns-machine.jpg)
## Cluster control nodes (x3)
A wild cloud computer cluster requires three control nodes. These are the machines that run Talos Linux and Kubernetes software. These computers all talk to each other and manage the cluster on your behalf. They will schedule all of your applications and make sure they keep running properly. These computers don't need a lot of horsepower or memory or disk space as they are only doing one thing. Micro PCs make great control nodes because they are inexpensive, quiet, and use very little power.
Here is a picture of three BeeLink Mini S machines, each costing a little over $120.
![BeeLink Mini S](/img/control-nodes-beelinks.jpg)
And here is a picture of three old Shuttle PCs that I found in the trash at work. They're perfect.
![Shuttle PCs](/img/control-nodes-shuttles.jpg)
## Worker nodes (xN)
Finally, you'll need at least three worker nodes, but you can add as many as you like. We need at least three so the data storage across the nodes can be reliable against any one node failing. A worker node is any computer that runs Talos Linux and Kubernetes software and your applications will be automatically run on them. You can start with smaller machines to handle many different kinds of applications, and you can attach larger, more powerful machines for more demanding applications later (like video processing or AI/machine learning).
This wild cloud has three worker nodes, one is a big desktop PC with a powerful GPU for AI processing, another is a micro PC I purchased for around $500, and the third I bought from a thrift store for $10.
![Worker Nodes](/img/workers.jpg)
## Network switch
A network switch is a device that connects all of the computers in your wild cloud together into a single network. You _could_ use a wireless network, but using a network switch to physically connect your machines together provides more reliability. A simple 8-port "unmanaged" switch is usually sufficient for a basic wild cloud setup, but you can get larger switches if you have more machines.
Here's a picture of a simple 8-port switch that costs around $20:
![Network Switch](/img/switch-2.jpg)
Here's a picture of a larger 16-port switch that costs around $120. This wild cloud is ready for 8 more machines:
![Network Switch](/img/switch-1.jpg)
## Battery Backup
A battery backup (UPS) is an important part of your wild cloud setup. It ensures that your cloud remains operational even during power outages. Look for a UPS that can provide enough power for all of your critical machines for at least a few minutes.
## USB thumb-drives
USB thumb-drives are useful for booting your wild cloud machines and for transferring files between them. Look for USB drives that are at least 32GB in size and have good read/write speeds. A set of three or four is recommended.
## Next Steps
Now that you have your hardware, we can start setting things up! Follow the instructions in the [Setup Wild Cloud](../setup-wild-cloud/) guide to get started.

View File

@@ -6,4 +6,10 @@ draft = false
_The Wild Cloud project is in active development._
{{< github repo="civil-society-dev/wild-cloud" showThumbnail=true >}}
1. [Get your hardware](./hardware/)
2. [Reserve a domain name](./get-a-domain-name/)
3. [Set up your operator machine](./operator-setup/)
4. [Set up your DNS server](./dns-server-setup/)
5. [Set up your Wild Cloud](./setup-wild-cloud/)
6. [Use your Wild Cloud](./using-wild-cloud/)

View File

@@ -0,0 +1,32 @@
+++
title = "Operator Setup"
date = '2025-06-09'
draft = false
+++
The Wild Cloud software is Open Source and free. All you need to do is download it onto your operator machine, install some other programs we require, and then run the setup script. The setup script walks you through the process of installing your DNS machine, your control nodes, your worker nodes, and then any software you want to run on your cloud.
(This page assumes you already have your hardware ready to set up. If you don't, read [Setting Up Your Hardware](../hardware/)).
## Download the Wild Cloud software onto your operator machine
Your operator machine should be a Debian-based Linux machine (e.g. Debian or Ubuntu) on your LAN. It's helpful if it has a nice big hard drive you can use for backing up your cloud data.
{{< gitea server="https://git.civilsociety.dev" repo="CSTF/wild-cloud" showThumbnail=true >}}
```bash
git clone https://git.civilsociety.dev/CSTF/wild-cloud.git
```
Add the `bin` directory to your path.
```bash
export PATH=$PATH:~/wild-cloud/bin
```
Install dependencies:
```bash
scripts/setup-utils.sh
```

View File

@@ -0,0 +1,56 @@
+++
title = "Setup Wild Cloud"
date = '2025-06-09'
draft = false
+++
## Set up your own Wild Cloud!
That's it! Now you can start setting up your wild cloud!
First, make a directory for your wild cloud home. For example `my-wild-cloud` in your home directory.
```bash
mkdir ~/my-wild-cloud
cd ~/my-wild-cloud
```
Now, you can start the setup process! Just run...
```bash
wild-setup
```
The rest of this page walks you through a few of the setup details.
### Install your control nodes
- Make a Talos USB key.
`wild-cluster-node-boot-assets`
- Instal Talos OS with your USB key.
- It will boot into "maintenance mode". Use the IP address it displays in `wild-setup`.
- Repeat for the other two control nodes.
### Install your worker nodes
- Install Talos OS with your USB key.
- It will boot into "maintenance mode". Use the IP address it displays in `wild-setup`.
- Repeat for as many additional worker nodes as you'd like (three minimum).
### Install cluster services
After your control and worker nodes are installed, `wild-setup` will automatically install all of your wild cloud's cluster services.
## Check your installation
When the setup is finished, you can test your installation with:
```bash
wild-status
```
## Next Steps
Now that you have your Wild Cloud set up, you can start using it! Follow the instructions in the [Using Wild Cloud](../using-wild-cloud/) guide to get started with deploying applications and managing your cloud environment.

View File

@@ -0,0 +1,25 @@
+++
title = "Use Your Wild Cloud"
date = '2025-06-09'
draft = false
+++
## Installing Applications
`wild-app-fetch <app-name>`
`wild-app-install <app-name>`
Configure
`wild-app-deploy <app-name>`
## Customizing your apps
## Upgrade your apps
## Making backups
## Restoring backups