This commit is contained in:
parent
5814047d07
commit
47bbe26567
4 changed files with 47 additions and 20 deletions
18
devenv.lock
18
devenv.lock
|
@ -3,11 +3,11 @@
|
||||||
"devenv": {
|
"devenv": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "src/modules",
|
"dir": "src/modules",
|
||||||
"lastModified": 1713968789,
|
"lastModified": 1714719003,
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "devenv",
|
"repo": "devenv",
|
||||||
"rev": "b26b52a4dac68bdc305f6b9df948c97f49b2c3ee",
|
"rev": "4d786c35280e94211b2fb7b50036cc6aeddee320",
|
||||||
"treeHash": "4a034bbd3511c196f4075a1eb0da1b422d1011db",
|
"treeHash": "09fbabb734953977376a499dc75685d35584bef1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -90,11 +90,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713995372,
|
"lastModified": 1714531828,
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dd37924974b9202f8226ed5d74a252a9785aedf8",
|
"rev": "0638fe2715d998fa81d173aad264eb671ce2ebc1",
|
||||||
"treeHash": "8114bf8e19ad8c67c0e2639b83c606c58c7bccec",
|
"treeHash": "f72314bde6c77cbdf35f68581c4758f9ff28461f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -115,11 +115,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713954846,
|
"lastModified": 1714478972,
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "6fb82e44254d6a0ece014ec423cb62d92435336f",
|
"rev": "2849da033884f54822af194400f8dff435ada242",
|
||||||
"treeHash": "a456512c8da29752b79131f1e5b45053e2394078",
|
"treeHash": "578180deb59a545b0032e9a66da4c0c043c5057d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
26
src/about.md
26
src/about.md
|
@ -14,12 +14,22 @@ My passion is self-hosting in my home lab with these important goals:
|
||||||
- **Expanding knowledge for my professional life**: Diving into new technologies without the risk of breaking important systems is in my opinion one of the best methods to learn. Actually, breaking things is the best way to learn! Stuff breaks (usually) because you don't fully understand it, and these failures are therefore very valuable.
|
- **Expanding knowledge for my professional life**: Diving into new technologies without the risk of breaking important systems is in my opinion one of the best methods to learn. Actually, breaking things is the best way to learn! Stuff breaks (usually) because you don't fully understand it, and these failures are therefore very valuable.
|
||||||
- **Fun**: 😀
|
- **Fun**: 😀
|
||||||
|
|
||||||
Infrastructure as Code (IaC) is the most important principle I adhere to when building my home lab.
|
# How did I get here?
|
||||||
With IaC, all (digital) infrastructure and systems are defined in code that can be automatically rolled out.
|
|
||||||
Ansible is probably the most used IaC tool out there, but it has a huge problem: it suffers from configuration drift.
|
|
||||||
You can create a task in Ansible to install a package, but if you remove this task, the package remains.
|
|
||||||
At this point, your configuration does not reflect reality anymore.
|
|
||||||
|
|
||||||
What is the solution to this configuration drift? Nix and NixOS!
|
I started out with an interest in programming during high school.
|
||||||
NixOS will always make sure you machine is in the exact state you define in your configuration.
|
I was quick to realize, M$ Windows is terrible for any form of serious development and decided to dual-boot Linux for this.
|
||||||
My current Linux systems now all run NixOS and I have no intention of ever going back!
|
Over time, I realized I was only using Windows for gaming and ditched it all together.
|
||||||
|
|
||||||
|
In the meantime, I distrohopped quite a bit (like any starting Linux user 😀).
|
||||||
|
Some distros I tried in the past (and what I can remember): Ubuntu, Zorin OS, Kubuntu, MX Linux, Xubuntu, Debian, PopOS, Linux Mint.
|
||||||
|
I guess I was quite the Apt fan?
|
||||||
|
|
||||||
|
In my time at university, while trying to host a personal website, I came in contact with Docker.
|
||||||
|
This started my descent in the realm of system administration, DevOps and Infrastucture as Code: I acquired a Celeton-powered [Gigabyte Brix mini PC](https://www.gigabyte.com/Mini-PcBarebone/GB-BLCE-4105-rev-10) to run Docker on.
|
||||||
|
Over time, I went from hosting just my personal website to hosting a wide arsenal of services, and added two more mini PCs to my server fleet.
|
||||||
|
This was all hosted using Docker Compose, but I found this difficult to manage over multiple hosts.
|
||||||
|
I found more flexibility in Docker Swarm, giving me poor man's clustering capabilities.
|
||||||
|
See [this post]({% post_url infrastructure-snapshot/2023-08-13-infrastructure-snapshot %}) where I made a detailed write-up of the state of my home lab back then.
|
||||||
|
|
||||||
|
And where am I now?
|
||||||
|
You'll have to take a look over at the [/now](/now) page and my other posts!
|
||||||
|
|
16
src/ideas.md
16
src/ideas.md
|
@ -6,4 +6,18 @@ excerpt: Plans for the future
|
||||||
comments: false
|
comments: false
|
||||||
---
|
---
|
||||||
|
|
||||||
🏗 Under construction 🏗
|
**Infrastructure as Code (IaC)** is the most important principle I adhere to when building my home lab.
|
||||||
|
With IaC, all (digital) infrastructure and systems are defined in code that can be automatically rolled out.
|
||||||
|
Ansible is probably the most used IaC tool out there, but it has a huge problem: it suffers from configuration drift.
|
||||||
|
You can create a task in Ansible to install a package, but if you remove this task, the package remains.
|
||||||
|
At this point, your configuration does not reflect reality anymore.
|
||||||
|
|
||||||
|
What is the solution to this configuration drift? Nix and NixOS!
|
||||||
|
NixOS will always make sure you machine is in the exact state you define in your configuration.
|
||||||
|
My current Linux systems now all run NixOS and I have no intention of ever going back!
|
||||||
|
|
||||||
|
And obviously, I won't be able to make a home lab without **open source software**.
|
||||||
|
While I'm very appreciative of the goals of Free and Open Source Software (FOSS), it's unfortunately not realistic to make a home lab solely with FOSS.
|
||||||
|
I do try to draw a line at "corporate" open source software.
|
||||||
|
This is a very blurry line, but I feel Jeff Geerling explains this well in [this video](https://www.youtube.com/watch?v=hNcBk6cwim8).
|
||||||
|
I was betrayed by Hashicorp's open source offering, and I'm very hesitant in adopting for example Tailscale as a result.
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
---
|
---
|
||||||
title: Now
|
title: What I'm currenly doing
|
||||||
permalink: /now/
|
permalink: /now/
|
||||||
layout: page
|
layout: page
|
||||||
excerpt: Things I am working on now
|
excerpt: Things I am working on now
|
||||||
comments: false
|
comments: false
|
||||||
---
|
---
|
||||||
|
|
||||||
🏗 Under construction 🏗
|
*Last updated: 2024-05-11*
|
||||||
|
|
||||||
|
- I'm **hacking** on my [k3s](https://k3s.io/) cluster using [❄️ NixOS ❄️](https://nixos.org/) and [Kubenix](https://kubenix.org/)
|
||||||
|
- I'm **playing** [🧩 The Talos Principle 2 🤖](https://store.steampowered.com/app/835960/The_Talos_Principle_2/)
|
||||||
|
|
Loading…
Reference in a new issue