Manifests for services running in my homelab
This repository has been archived on 2026-02-13. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Makefile 89%
  • Dockerfile 11%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate Bot 0828ff2ce4 chore(deps): update git.zarantonello.dev/infra/transmission docker tag to v1.1.4 (#388)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| git.zarantonello.dev/infra/transmission | patch | `v1.1.3` → `v1.1.4` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ni4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTYuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
2026-02-13 14:32:37 +00:00
.devcontainer chore(deps): update git.zarantonello.dev/infra/ci docker tag to v2.3.27 (#387) 2026-02-13 03:05:09 +00:00
.forgejo chore(deps): update git.zarantonello.dev/infra/ci docker tag to v2.3.27 (#387) 2026-02-13 03:05:09 +00:00
.vscode feat: initial commit 2025-09-10 22:02:22 +02:00
cluster chore(deps): update git.zarantonello.dev/infra/transmission docker tag to v1.1.4 (#388) 2026-02-13 14:32:37 +00:00
talos fix: talos network interface name (#330) 2026-01-16 10:38:00 +00:00
.gitignore feat: initial commit 2025-09-10 22:02:22 +02:00
.prettierrc.json feat: initial commit 2025-09-10 22:02:22 +02:00
.renovaterc.json ci: use ci as container to be more flexible (#30) 2025-09-17 09:12:37 +00:00
.sops.yaml feat: upgrade talos to v1.12.0 (#290) 2026-01-03 12:23:06 +00:00
.yamllint.yml feat: initial commit 2025-09-10 22:02:22 +02:00
LICENSE fix: kustomization decryption secret (#4) 2025-09-10 20:52:11 +00:00
README.md fix: kustomization decryption secret (#4) 2025-09-10 20:52:11 +00:00

Kubernetes

Declarative configuration of the Kubernetes cluster that I use to run services on my homelab.

The cluster directory contains Kubernetes manifests. The cluster is kept in sync with the repository thanks to fluxcd.

The talos directory contains the configurations for the nodes that are part of the cluster.

Secrets

Secrets are encrypted using sops, specifically with an age key pair.

The private key should be generated with age-keygen -o .sops.key at the root of the repo. Then copy the public key and replace the occurrences in .sops.yaml with the one you just generated.

Examples:

# Encrypt a file
sops -i -e path_to_file

# Decrypt a file
# The variable is only needed outside of the devcontainer or if not using the .sops.key file.
SOPS_AGE_KEY_FILE=/path_to_age_private_key sops -i -d path_to_file

To decrypt secrets in the cluster, create a Secret that contains the age private key. The secret has to be generated for each namespace in which a kustomization that contains secrets is present.

kubectl create secret generic -n your_namespace --from-file identity.agekey=.sops.key infra-kubernetes-age-key