Homelab/README.md

61 lines
1.5 KiB
Markdown

# Homelab
## Dependencies
- git
- make
- Vagrant
- ansible
- vagrant-scp
### Ubuntu
```
apt install make git vagrant ansible
```
## Before starting
If you have already configured kubernetes clusters on your machines (`~/.kube/config` exists and not empty), backup your keys as follows:
```
cp ~/.kube/config ~/.kube/config-base
```
This way, your already configured keys will be onboarded with the current pipeline, and ported to the resulting configuration file.
## Setup
Clone the whole repository, including submodules
```
git clone --recurse-submodules -j8 https://git.halis.io/athens-school/Homelab
```
Update submodules after cloning the repository
```
git submodule update --init --recursive
```
### Enable ingress for internet access
For ingress node connected to the internet, I recommend using a VPS of either choice, acting as the public input to the cluster.<br />
To do so, complete the IP in the `inventory/outsider.yml` file.
This VPS needs to be pre-configured with [this script](https://git.halis.io/athens-school/ISO-repository/raw/branch/master/quick-installer.sh).
## Run
### Basic
To run the project as is, creating k3s nodes only
```
make up
```
### Enable NAS
If you wish to also create a NAS VM, set the `NAS` environment variable
```
NAS=true make up
```
### Enable ingress
If you wish to also enable a Kubernetes Ingress using an external VPS, set the `VPS` environment variable after setting your VPS up in the `Setup` section
```
VPS=true make up
```
## TODO
- Detect default network interface