diff --git a/.github/labeler.yaml b/.github/labeler.yaml index 6661f2ae..0db77609 100644 --- a/.github/labeler.yaml +++ b/.github/labeler.yaml @@ -6,4 +6,4 @@ area/github: area/kubernetes: - "kubernetes/**/*" area/templates: - - "tmpl/**/*" + - "template/**/*" diff --git a/.github/labels.yaml b/.github/labels.yaml index 85990510..bab08fc8 100644 --- a/.github/labels.yaml +++ b/.github/labels.yaml @@ -15,7 +15,7 @@ - name: area/template color: "72ccf3" description: >- - Changes made in the tmpl directory + Changes made in the template directory # Renovate - name: renovate/ansible color: "ffc300" diff --git a/.github/renovate.json5 b/.github/renovate.json5 index ea1b99c5..56dc202f 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -22,21 +22,21 @@ "schedule": ["every saturday"], "flux": { "fileMatch": [ - "kubernetes/.+\\.ya?ml$", - "template/templates/kubernetes/.+\\.ya?ml.j2$" + "kubernetes/.+\\.ya?ml(\\.j2)?$", + "template/templates/kubernetes/.+\\.ya?ml(\\.j2)?$" ] }, "helm-values": { "fileMatch": [ - "kubernetes/.+\\.ya?ml$", - "template/templates/kubernetes/.+\\.ya?ml.j2$" + "kubernetes/.+\\.ya?ml(\\.j2)?$", + "template/templates/kubernetes/.+\\.ya?ml(\\.j2)?$" ] }, "kubernetes": { "fileMatch": [ "ansible/.+\\.ya?ml(\\.j2)?$", - "kubernetes/.+\\.ya?ml$", - "template/templates/kubernetes/.+\\.ya?ml.j2$" + "kubernetes/.+\\.ya?ml(\\.j2)?$", + "template/templates/kubernetes/.+\\.ya?ml(\\.j2)?$" ] }, "regexManagers": [ @@ -44,8 +44,8 @@ "description": "Process various other dependencies", "fileMatch": [ "ansible/.+\\.ya?ml(\\.j2)?$", - "kubernetes/.+\\.ya?ml$", - "template/templates/kubernetes/.+\\.ya?ml.j2$" + "kubernetes/.+\\.ya?ml(\\.j2)?$", + "template/templates/kubernetes/.+\\.ya?ml(\\.j2)?$" ], "matchStrings": [ "datasource=(?\\S+) depName=(?\\S+)( registryUrl=(?\\S+))?\n.*?\"(?.*)\"\n" diff --git a/README.md b/README.md index 7908ff37..d7a36ef1 100644 --- a/README.md +++ b/README.md @@ -88,30 +88,14 @@ There is a decent guide [here](https://www.linuxtechi.com/how-to-install-debian- #### Raspberry Pi / ARM64 -##### Hardware Considerations - If you choose to use a Raspberry Pi for the cluster, it is recommended to have at minimum a Raspberry Pi4 (4GB) and preferably an 8GB model. Additionally, it is also recommended to boot from an external SSD, rather than the SD card. This is supported [natively](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html), however if you have an early Raspberry Pi4, you may need to [update the bootloader](https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb). -##### Installing the OS +According to the documentation [here](https://raspi.debian.net/defaults-and-settings/), after you have flashed the image onto a SSD/NVMe you must mount the drive and do the following. -There is a decent guide [here](https://raspberrytips.com/install-debian-on-raspberry-pi/) on how to get Debian installed on a Raspberry Pi. - -1. Deviations from that guide, as per [these](https://raspi.debian.net/defaults-and-settings/) instructions. - - ```txt - - Use an SSD instead of an SD Card - - Reinsert the storage media - - Open `sysconf.txt` file - - Add `root_authorized_key` - - Add `root_pw` - - add `hostname` - ``` - -2. (Post install) I would recommend adding a generic user. - - ``` - adduser - ``` +1. Edit the `sysconf.txt` +2. Add/change `root_authorized_key` to your desired public SSH key +3. Add/change `root_pw` to your desired root password +4. Add/change `hostname` to your desired hostname ## 📂 Repository structure @@ -253,8 +237,6 @@ In order to expose services to the internet you will need to create a [Cloudflar 1. Ensure you are able to SSH into your nodes from your workstation using a private SSH key **without a passphrase**. This is how Ansible is able to connect to your remote nodes. - [How to configure SSH key-based authentication](https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server) - 2. Install the Ansible deps ```sh diff --git a/template/templates/kubernetes/bootstrap/kustomization.yaml.j2 b/template/templates/kubernetes/bootstrap/kustomization.yaml.j2 index 0766bf8e..0be9601c 100644 --- a/template/templates/kubernetes/bootstrap/kustomization.yaml.j2 +++ b/template/templates/kubernetes/bootstrap/kustomization.yaml.j2 @@ -6,7 +6,7 @@ kind: Kustomization resources: - github.com/fluxcd/flux2/manifests/install?ref=v2.0.0-rc.5 patches: - # Remove the network policies that does not work with k3s + # Remove the default network policies - patch: |- $patch: delete apiVersion: networking.k8s.io/v1 diff --git a/template/vars/config.sample.yaml b/template/vars/config.sample.yaml index 7ea807cb..0a75cce6 100644 --- a/template/vars/config.sample.yaml +++ b/template/vars/config.sample.yaml @@ -47,12 +47,12 @@ bootstrap_service_cidr: 10.43.0.0/16 # Node information bootstrap_hosts: # Use only 1, 3 or more odd master nodes, recommended is 3 - master: + master: [] # - name: kube0 # address: # username: # password: - worker: + worker: [] # - name: kube1 # address: # username: