diff --git a/.gitignore b/.gitignore
index c222403b..4b77909f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,4 +7,6 @@
.venv*
/config.yaml
/docs/.hugo_build.lock
+/docs/public/
+/docs/resources/
kubeconfig
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 00000000..2afb5352
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,41 @@
+---
+fail_fast: false
+
+exclude: |
+ (?x)^(
+ | .*\.sops\.toml
+ )$
+
+repos:
+ - repo: https://github.com/adrienverge/yamllint
+ rev: v1.35.1
+ hooks:
+ - id: yamllint
+
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.6.0
+ hooks:
+ - id: check-added-large-files
+ args: [--maxkb=2048]
+ - id: check-executables-have-shebangs
+ - id: check-merge-conflict
+ - id: end-of-file-fixer
+ - id: fix-byte-order-marker
+ - id: mixed-line-ending
+ - id: trailing-whitespace
+
+ - repo: https://github.com/Lucas-C/pre-commit-hooks
+ rev: v1.5.5
+ hooks:
+ - id: forbid-crlf
+ - id: forbid-tabs
+
+ - repo: https://github.com/sirosen/fix-smartquotes
+ rev: 0.2.0
+ hooks:
+ - id: fix-smartquotes
+
+ - repo: https://github.com/k8s-at-home/sops-pre-commit
+ rev: v2.1.1
+ hooks:
+ - id: forbid-secrets
diff --git a/.yamllint.yaml b/.yamllint.yaml
new file mode 100644
index 00000000..0022bbec
--- /dev/null
+++ b/.yamllint.yaml
@@ -0,0 +1,24 @@
+---
+ignore: |
+ *.sops.*
+
+extends: default
+
+rules:
+ truthy:
+ allowed-values: ["true", "false", "on"]
+
+ comments:
+ min-spaces-from-content: 1
+
+ line-length: disable
+
+ braces:
+ min-spaces-inside: 0
+ max-spaces-inside: 1
+
+ brackets:
+ min-spaces-inside: 0
+ max-spaces-inside: 0
+
+ indentation: enable
diff --git a/docs/content/_index.md b/docs/content/_index.md
index 6fd61c8d..d837e1e6 100644
--- a/docs/content/_index.md
+++ b/docs/content/_index.md
@@ -9,22 +9,9 @@ title = 'Homelab'
## Hardware
For more information about Turing Pi Cluster Board, please visit the [main](turingpi) article.
-### Servers
-
-| Host | OS | Hardware |
-|-----------|--------------------|--------------------------------------------------------------------------------------------|
-| logos | Ubuntu 24.04.1 LTS | [Raspberry Pi 4 Model B 8GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/) |
-| mjolnir | Ubuntu 24.04.1 LTS | [Raspberry Pi 4 Model B 8GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/) |
-| mnemosyne | Ubuntu 24.04.1 LTS | [Raspberry Pi 4 Model B 8GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/) |
-| vishnu | Ubuntu 24.04.1 LTS | [Raspberry Pi 4 Model B 8GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/) |
-| vigilant | Debian 11 bullseye | [Raspberry Pi 3 Model B 1GB](https://www.raspberrypi.com/products/raspberry-pi-3-model-b/) |
-| tank | Debian 12 bookworm | ThinkCentre M710 Tiny |
-| dozer | Debian 12 bookworm | ThinkCentre M710 Tiny |
-| turingpi | BMC firmware 2.0.5 | [Turing Pi Cluster Board](https://turingpi.com/product/turing-pi-2-5/) |
-| cotijuba | Ubuntu 22.04.5 LTS | [Turing RK1 16GB](https://turingpi.com/product/turing-rk1/?attribute_ram=16+GB) |
-| marajo | Ubuntu 22.04.5 LTS | [Turing RK1 16GB](https://turingpi.com/product/turing-rk1/?attribute_ram=16+GB) |
-| outeiro | Ubuntu 22.04.5 LTS | [Turing RK1 16GB](https://turingpi.com/product/turing-rk1/?attribute_ram=16+GB) |
-| tapajos | Ubuntu 22.04.5 LTS | [Turing RK1 16GB](https://turingpi.com/product/turing-rk1/?attribute_ram=16+GB) |
+
+## Network
+For detailed information about the network topology, please visit the [network](network) article.
## Software
@@ -37,3 +24,13 @@ For more information about Turing Pi Cluster Board, please visit the [main](turi
| [Grafana](https://grafana.com/grafana/) | Visualization |
| [Pi-hole](https://pi-hole.net/) | Network-wide Ad Blocking |
| [WireGuard](https://www.wireguard.com/) | VPN |
+
+## Features
+
+## Roadmap
+
+- Network
+ - [ ] Configure VLANs
+ - [ ] Configure IPv6
+- Misc
+ - [ ] Implement autoscaling and automatic shutdown of nodes
diff --git a/docs/content/network.md b/docs/content/network.md
new file mode 100644
index 00000000..64ae3039
--- /dev/null
+++ b/docs/content/network.md
@@ -0,0 +1,89 @@
++++
+date = '2024-11-08T11:55:00+01:00'
+draft = true
+title = 'Network topology'
+tags = ['network']
++++
+
+# Network topology
+
+{{}}
+architecture-beta
+ service vigilant(server)[vigilant]
+
+ group proxmox(cloud)[zion]
+ service dozer(server)[dozer] in proxmox
+ service tank(server)[tank] in proxmox
+
+ group main(cloud)[main]
+ service logos(server)[logos] in main
+ service mjolnir(server)[mjolnir] in main
+ service mnemosyne(server)[mnemosyne] in main
+ service vishnu(server)[vishnu] in main
+
+ group turing(cloud)[turing]
+ service cotijuba(server)[cotijuba] in turing
+ service marajo(server)[marajo] in turing
+ service outeiro(server)[outeiro] in turing
+ service tapajos(server)[tapajos] in turing
+{{}}
+
+
+### Gateways and switches
+
+| Host | IP address | MAC address |
+|------------------------------------------------------|---------------|-------------------|
+| WIFIHUBC2 | 192.168.0.1 | 00:cb:51:ee:68:59 |
+| [U7 Pro](https://techspecs.ui.com/unifi/wifi/u7-pro) | 192.168.0.2 | d8:b3:70:f9:01:5c |
+| DGS-1100-05PD | 192.168.0.254 | 28:3b:82:f6:6f:bc |
+
+### Servers
+
+| Host | IP address | OS | Hardware | MAC address | Serial number |
+|-----------|---------------|--------------------|----------------------------|-------------------|---------------|
+| logos | 192.168.0.4 | Ubuntu 24.04.1 LTS | Raspberry Pi 4 Model B 8GB | dc:a6:32:d2:4e:dd | 1f0faa1f |
+| mjolnir | 192.168.0.5 | Ubuntu 24.04.1 LTS | Raspberry Pi 4 Model B 8GB | dc:a6:32:b0:31:a3 | 4d9183f1 |
+| mnemosyne | 192.168.0.6 | Ubuntu 24.04.1 LTS | Raspberry Pi 4 Model B 8GB | e4:5f:01:0c:a2:e7 | 417c071d |
+| vishnu | 192.168.0.7 | Ubuntu 24.04.1 LTS | Raspberry Pi 4 Model B 8GB | e4:5f:01:a7:8c:68 | 3a1822b2 |
+| vigilant | 192.168.0.8 | Debian 11 bullseye | Raspberry Pi 3 Model B 1GB | b8:27:eb:7f:0c:6b | 187f0c6b |
+| tank | 192.168.0.15 | Debian 12 bookworm | ThinkCentre M710 Tiny | 6c:4b:90:54:e8:9c | |
+| dozer | 192.168.0.16 | Debian 12 bookworm | ThinkCentre M710 Tiny | 6c:4b:90:54:ea:7c | |
+| turingpi | 192.168.0.170 | BMC firmware 2.0.5 | Turing Pi Cluster Board | 02:00:d4:15:ac:46 | |
+| cotijuba | 192.168.0.171 | Ubuntu 22.04.5 LTS | Turing RK1 16GB | 52:88:92:a9:61:d3 | |
+| marajo | 192.168.0.172 | Ubuntu 22.04.5 LTS | Turing RK1 16GB | 8a:e3:32:23:e8:99 | |
+| outeiro | 192.168.0.173 | Ubuntu 22.04.5 LTS | Turing RK1 16GB | 2e:90:59:19:e6:0b | |
+| tapajos | 192.168.0.174 | Ubuntu 22.04.5 LTS | Turing RK1 16GB | d2:0b:c5:9d:69:6c | |
+
+### Proxmox VE
+
+| Host | IP address | Roles |
+|-------|--------------|-------|
+| tank | 192.168.0.15 | node |
+| dozer | 192.168.0.16 | node |
+
+#### Virtual machines
+
+| Host | IP address | OS | MAC address |
+|-----------|---------------|--------------------|-------------------|
+| vm01geth | 192.168.0.150 | Ubuntu 24.04.1 LTS | bc:24:11:e6:35:e8 |
+| vm03prysm | 192.168.0.151 | Ubuntu 24.04.1 LTS | bc:24:11:f3:20:c1 |
+
+### Kubernetes clusters
+
+#### Raspberry Pi cluster
+
+| Host | IP address | Roles |
+|-----------|-------------|---------------|
+| logos | 192.168.0.4 | worker |
+| mjolnir | 192.168.0.5 | control-plane |
+| mnemosyne | 192.168.0.6 | control-plane |
+| vishnu | 192.168.0.7 | control-plane |
+
+#### Turing Pi cluster
+
+| Host | IP address | Roles |
+|----------|---------------|---------------|
+| cotijuba | 192.168.0.171 | control-plane |
+| marajo | 192.168.0.172 | control-plane |
+| outeiro | 192.168.0.173 | control-plane |
+| tapajos | 192.168.0.174 | worker |
diff --git a/docs/hugo.toml b/docs/hugo.toml
index 6dbe13ec..f918a36f 100644
--- a/docs/hugo.toml
+++ b/docs/hugo.toml
@@ -6,7 +6,9 @@ enableGitInfo = true
[params]
BookFavicon = 'favicon.svg'
+BookLogo = 'logo.png'
BookRepo = 'https://github.com/willianpaixao/homelab'
+BookSection = '*'
[module]
[[module.imports]]
diff --git a/docs/static/favicon.svg b/docs/static/favicon.svg
index a09466fe..9271e4d3 100644
--- a/docs/static/favicon.svg
+++ b/docs/static/favicon.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/docs/static/logo.png b/docs/static/logo.png
new file mode 100644
index 00000000..f2712c7a
Binary files /dev/null and b/docs/static/logo.png differ
diff --git a/kubernetes/raspberry/storage/longhorn/app/helmrelease.yaml b/kubernetes/raspberry/storage/longhorn/app/helmrelease.yaml
index a58e175e..3cde5bd7 100644
--- a/kubernetes/raspberry/storage/longhorn/app/helmrelease.yaml
+++ b/kubernetes/raspberry/storage/longhorn/app/helmrelease.yaml
@@ -61,4 +61,3 @@ spec:
replicas: 1
nodeSelector:
disktype: ssd
-