diff options
| author | Paul Buetow <paul@buetow.org> | 2025-05-11 12:13:32 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-05-11 12:13:32 +0300 |
| commit | 632beab8ff8648b272521f73f5adaada021dd667 (patch) | |
| tree | 357e8cab55af9b22204aaaef89c54be04cb6b275 | |
| parent | e0eb5ad381d996cc64e772066a3cd92b1f3c39d6 (diff) | |
update
| -rw-r--r-- | about/resources.gmi | 190 | ||||
| -rw-r--r-- | gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi | 4 | ||||
| -rw-r--r-- | gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi.tpl | 4 | ||||
| -rw-r--r-- | gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi | 4 | ||||
| -rw-r--r-- | gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi.tpl | 4 | ||||
| -rw-r--r-- | gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi | 12 | ||||
| -rw-r--r-- | gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi.tpl | 12 | ||||
| -rw-r--r-- | gemfeed/atom.xml | 22 | ||||
| -rw-r--r-- | index.gmi | 2 | ||||
| -rw-r--r-- | uptime-stats.gmi | 2 |
10 files changed, 131 insertions, 125 deletions
diff --git a/about/resources.gmi b/about/resources.gmi index 432443d7..ce07a56d 100644 --- a/about/resources.gmi +++ b/about/resources.gmi @@ -36,51 +36,51 @@ You won't find any links on this site because, over time, the links will break. In random order: -* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press -* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt -* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner -* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly -* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers +* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional +* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly +* Leanring eBPF; Liz Rice; O'Reilly +* Funktionale Programmierung; Peter Pepper; Springer +* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press +* Site Reliability Engineering; How Google runs production systems; O'Reilly * Polished Ruby Programming; Jeremy Evans; Packt Publishing +* DNS and BIND; Cricket Liu; O'Reilly +* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly +* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers +* Systemprogrammierung in Go; Frank Müller; dpunkt +* Perl New Features; Joshua McAdams, brian d foy; Perl School +* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress +* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner +* Raku Fundamentals; Moritz Lenz; Apress +* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf +* Developing Games in Java; David Brackeen and others...; New Riders +* Java ist auch eine Insel; Christian Ullenboom; +* Effective awk programming; Arnold Robbins; O'Reilly +* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton * Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly +* Raku Recipes; J.J. Merelo; Apress +* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers * 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly -* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications * Concurrency in Go; Katherine Cox-Buday; O'Reilly -* Effective Java; Joshua Bloch; Addison-Wesley Professional * The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible -* Funktionale Programmierung; Peter Pepper; Springer -* Data Science at the Command Line; Jeroen Janssens; O'Reilly * The Pragmatic Programmer; David Thomas; Addison-Wesley -* Perl New Features; Joshua McAdams, brian d foy; Perl School -* Developing Games in Java; David Brackeen and others...; New Riders -* Raku Fundamentals; Moritz Lenz; Apress -* Effective awk programming; Arnold Robbins; O'Reilly -* The Docker Book; James Turnbull; Kindle +* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible +* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly +* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications * Ultimate Go Notebook; Bill Kennedy -* C++ Programming Language; Bjarne Stroustrup; -* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers -* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly -* Java ist auch eine Insel; Christian Ullenboom; * Modern Perl; Chromatic ; Onyx Neon Press -* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress +* C++ Programming Language; Bjarne Stroustrup; * The Kubernetes Book; Nigel Poulton; Unabridged Audiobook -* Terraform Cookbook; Mikael Krief; Packt Publishing -* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional -* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly -* DNS and BIND; Cricket Liu; O'Reilly -* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly -* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly -* Systemprogrammierung in Go; Frank Müller; dpunkt -* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton -* Raku Recipes; J.J. Merelo; Apress -* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible -* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications -* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf -* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press -* Site Reliability Engineering; How Google runs production systems; O'Reilly -* Leanring eBPF; Liz Rice; O'Reilly -* Higher Order Perl; Mark Dominus; Morgan Kaufmann * Pro Puppet; James Turnbull, Jeffrey McCune; Apress +* Higher Order Perl; Mark Dominus; Morgan Kaufmann +* The Docker Book; James Turnbull; Kindle +* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt +* Effective Java; Joshua Bloch; Addison-Wesley Professional +* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications +* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly +* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly +* Data Science at the Command Line; Jeroen Janssens; O'Reilly +* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press +* Terraform Cookbook; Mikael Krief; Packt Publishing * Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson ## Technical references @@ -88,50 +88,50 @@ In random order: I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order: * Implementing Service Level Objectives; Alex Hidalgo; O'Reilly -* Relayd and Httpd Mastery; Michael W Lucas -* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley -* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt * BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley +* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly +* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley * Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly * The Linux Programming Interface; Michael Kerrisk; No Starch Press -* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly +* Relayd and Httpd Mastery; Michael W Lucas +* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt ## Self-development and soft-skills books In random order: -* Eat That Frog!; Brian Tracy; Hodder Paperbacks -* Slow Productivity; Cal Newport; Penguin Random House -* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select -* Deep Work; Cal Newport; Piatkus -* Eat That Frog; Brian Tracy -* Atomic Habits; James Clear; Random House Business -* Digital Minimalism; Cal Newport; Portofolio Penguin -* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing -* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne -* The Bullet Journal Method; Ryder Carroll; Fourth Estate * Soft Skills; John Sommez; Manning Publications -* Stop starting, start finishing; Arne Roock; Lean-Kanban University -* Ultralearning; Scott Young; Thorsons -* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME) -* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press * Never Split the Difference; Chris Voss, Tahl Raz; Random House Business +* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME) +* The Power of Now; Eckhard Tolle; Yellow Kite +* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing +* Ultralearning; Scott Young; Thorsons +* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK * Influence without Authority; A. Cohen, D. Bradford; Wiley -* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books -* The Joy of Missing Out; Christina Crook; New Society Publishers +* Ultralearning; Anna Laurent; Self-published via Amazon +* Deep Work; Cal Newport; Piatkus +* Stop starting, start finishing; Arne Roock; Lean-Kanban University +* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press +* Digital Minimalism; Cal Newport; Portofolio Penguin +* The Bullet Journal Method; Ryder Carroll; Fourth Estate +* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME) +* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly +* Eat That Frog; Brian Tracy +* The Good Enough Job; Simone Stolzoff; Ebury Edge +* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd +* Psycho-Cybernetics; Maxwell Maltz; Perigee Books +* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select +* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne +* Eat That Frog!; Brian Tracy; Hodder Paperbacks * So Good They Can't Ignore You; Cal Newport; Business Plus * The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook * 101 Essays that change the way you think; Brianna Wiest; Audible -* Psycho-Cybernetics; Maxwell Maltz; Perigee Books -* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly -* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion -* The Power of Now; Eckhard Tolle; Yellow Kite -* The Good Enough Job; Simone Stolzoff; Ebury Edge -* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME) +* Slow Productivity; Cal Newport; Penguin Random House * Getting Things Done; David Allen -* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd -* Ultralearning; Anna Laurent; Self-published via Amazon -* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK +* The Joy of Missing Out; Christina Crook; New Society Publishers +* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion +* Atomic Habits; James Clear; Random House Business +* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books * Staff Engineer: Leadership beyond the management track; Will Larson; Audible => ../notes/index.gmi Here are notes of mine for some of the books @@ -140,30 +140,30 @@ In random order: Some of these were in-person with exams; others were online learning lectures only. In random order: -* Structure and Interpretation of Computer Programs; Harold Abelson and more...; -* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online +* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training +* Developing IaC with Terraform (with Live Lessons); O'Reilly Online * Protocol buffers; O'Reilly Online -* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online -* Apache Tomcat Best Practises; 3-day on-site training +* MySQL Deep Dive Workshop; 2-day on-site training * Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online +* Structure and Interpretation of Computer Programs; Harold Abelson and more...; * AWS Immersion Day; Amazon; 1-day interactive online training -* Developing IaC with Terraform (with Live Lessons); O'Reilly Online -* MySQL Deep Dive Workshop; 2-day on-site training * Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need) -* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training -* Ultimate Go Programming; Bill Kennedy; O'Reilly Online +* Scripting Vim; Damian Conway; O'Reilly Online +* Apache Tomcat Best Practises; 3-day on-site training * Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon +* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online +* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online * Functional programming lecture; Remote University of Hagen * F5 Loadbalancers Training; 2-day on-site training; F5, Inc. -* Scripting Vim; Damian Conway; O'Reilly Online +* Ultimate Go Programming; Bill Kennedy; O'Reilly Online ## Technical guides These are not whole books, but guides (smaller or larger) which I found very useful. in random order: +* How CPUs work at https://cpu.land * Advanced Bash-Scripting Guide * Raku Guide at https://raku.guide -* How CPUs work at https://cpu.land ## Podcasts @@ -171,56 +171,56 @@ These are not whole books, but guides (smaller or larger) which I found very use In random order: -* Deep Questions with Cal Newport -* Fork Around And Find Out -* The ProdCast (Google SRE Podcast) +* The Changelog Podcast(s) * Hidden Brain -* BSD Now [BSD] -* Cup o' Go [Golang] * The Pragmatic Engineer Podcast -* Fallthrough [Golang] -* The Changelog Podcast(s) -* Backend Banter -* Maintainable +* Deep Questions with Cal Newport * Modern Mentor +* Maintainable * Dev Interrupted +* Backend Banter +* Fallthrough [Golang] +* BSD Now [BSD] +* Cup o' Go [Golang] +* The ProdCast (Google SRE Podcast) +* Fork Around And Find Out ### Podcasts I liked I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests. -* CRE: Chaosradio Express [german] -* Java Pub House * Ship It (predecessor of Fork Around And Find Out) -* FLOSS weekly * Go Time (predecessor of fallthrough) +* FLOSS weekly * Modern Mentor +* Java Pub House +* CRE: Chaosradio Express [german] ## Newsletters I like This is a mix of tech and non-tech newsletters I am subscribed to. In random order: * VK Newsletter +* The Pragmatic Engineer +* byteSizeGo * Changelog News -* The Imperfectionist -* Monospace Mentor +* Applied Go Weekly Newsletter * The Valuable Dev +* Monospace Mentor +* Andreas Brandhorst Newsletter (Sci-Fi author) * Register Spill -* Ruby Weekly * Golang Weekly -* Andreas Brandhorst Newsletter (Sci-Fi author) -* The Pragmatic Engineer -* Applied Go Weekly Newsletter -* byteSizeGo +* The Imperfectionist +* Ruby Weekly ## Magazines I like(d) This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order: -* freeX (not published anymore) -* Linux User * LWN (online only) +* Linux User * Linux Magazine +* freeX (not published anymore) # Formal education diff --git a/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi b/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi index b32d4dc0..de156ab2 100644 --- a/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi +++ b/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi @@ -357,7 +357,9 @@ All good :-) I have the same UPS (but with a bit more capacity) for my main work setup, which powers my 28" screen, music equipment, etc. It has already been helpful a couple of times during power outages here, so I am sure that the smaller UPS for the F3s setup will be of great use. -See you in the next post of this series! +Read the next post of this series: + +=> ./2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs Other BSD related posts are: diff --git a/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi.tpl b/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi.tpl index 36105406..1fca33a4 100644 --- a/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi.tpl +++ b/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi.tpl @@ -336,7 +336,9 @@ All good :-) I have the same UPS (but with a bit more capacity) for my main work setup, which powers my 28" screen, music equipment, etc. It has already been helpful a couple of times during power outages here, so I am sure that the smaller UPS for the F3s setup will be of great use. -See you in the next post of this series! +Read the next post of this series: + +=> ./2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs Other BSD related posts are: diff --git a/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi b/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi index 18e6b182..2a5416f9 100644 --- a/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi +++ b/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi @@ -503,7 +503,9 @@ Future uses (out of scope for this blog series) would be additional VMs for diff This flexibility is great for keeping options open and managing different workloads without overcomplicating things. Overall, it's a nice setup for getting the most out of my hardware and keeping things running smoothly. -See you in the next post of this series! +Read the next post of this series: + +=> ./2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network Other *BSD-related posts: diff --git a/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi.tpl b/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi.tpl index e69a0ded..b8428906 100644 --- a/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi.tpl +++ b/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi.tpl @@ -474,7 +474,9 @@ Future uses (out of scope for this blog series) would be additional VMs for diff This flexibility is great for keeping options open and managing different workloads without overcomplicating things. Overall, it's a nice setup for getting the most out of my hardware and keeping things running smoothly. -See you in the next post of this series! +Read the next post of this series: + +=> ./2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network Other *BSD-related posts: diff --git a/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi b/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi index 56663d5b..77a06c55 100644 --- a/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi +++ b/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi @@ -62,9 +62,9 @@ The traffic is expected to flow between the host groups through the mesh network * `fN <-> rN`: The traffic between the FreeBSD hosts and the Rocky Linux VMs will be routed through the VPN tunnels for persistent storage. In a later post in this series, we will set up an NFS server on the `fN` hosts. * `fN <-> blowfish,fishfinger`: The traffic between the FreeBSD hosts and the OpenBSD host `blowfish,fishfinger` will be routed through the VPN tunnels for management. We may want to log in via the internet to set it up remotely. The VPN tunnel will also be used for monitoring purposes. -* `rN <-> blowfish,fishfinger`: The traffic between the Rocky Linux VMs and the OpenBSD host `blowfish,fishfinger` will be routed through the VPN tunnels for usage traffic. Since `k3s` will be running on the `rN` hosts, the OpenBSD servers will route the traffic through `relayd` to the services running in Kubernetes. +* `rN <-> blowfish,fishfinger`: The traffic between the Rocky Linux VMs and the OpenBSD host `blowfish,fishfinger` will be routed through the VPN tunnels for usage traffic. Since k3s will be running on the `rN` hosts, the OpenBSD servers will route the traffic through `relayd` to the services running in Kubernetes. * `fN <-> fM`: The traffic between the FreeBSD hosts may be later used for data replication for the NFS storage. -* `rN <-> rM`: The traffic between the Rocky Linux VMs will later be used by the `k3s` cluster itself, as every `rN` will be a Kubernetes worker node. +* `rN <-> rM`: The traffic between the Rocky Linux VMs will later be used by the k3s cluster itself, as every `rN` will be a Kubernetes worker node. * `blowfish <-> fishfinger`: The traffic between the OpenBSD hosts isn't strictly required for this setup, but I set it up anyway for future use cases. We won't cover all the details in this blog post, as we only focus on setting up the Mesh network in this blog post. Subsequent posts in this series will cover the other details. @@ -101,8 +101,6 @@ On the FreeBSD hosts `f0`, `f1` and `f2`, similar as last time, first, we bring ```sh paul@f0:~ % doas freebsd-update fetch paul@f0:~ % doas freebsd-update install -paul@f0:~ % doas freebsd-update -r 14.2-RELEASE upgrade -paul@f0:~ % doas freebsd-update install paul@f0:~ % doas shutdown -r now .. .. @@ -346,7 +344,7 @@ So, because it's better, we are using it. ## Mesh network generator -Manually generating `wg0.conf` files for every peer in a mesh network setup is cumbersome because each peer requires its own unique public/private key pair and a preshared key for each VPN tunnel (resulting in 29 preshared keys for 8 hosts). This complexity scales exponentially with the number of peers as the relationships between all peers must be explicitly defined, including their unique configurations such as `AllowedIPs` and `Endpoint` and optional settings like `PersistentKeepalive`. Automating the process ensures consistency, reduces human error, saves considerable time, and allows for centralized management of configuration files. +Manually generating `wg0.conf` files for every peer in a mesh network setup is cumbersome because each peer requires its own unique public/private key pair and a preshared key for each VPN tunnel (resulting in 29 preshared keys for 8 hosts). This complexity scales almost exponentially with the number of peers as the relationships between all peers must be explicitly defined, including their unique configurations such as `AllowedIPs` and `Endpoint` and optional settings like `PersistentKeepalive`. Automating the process ensures consistency, reduces human error, saves considerable time, and allows for centralized management of configuration files. Instead, a script can handle key generation, coordinate relationships, and generate all necessary configuration files simultaneously, making it scalable and far less error-prone. @@ -924,9 +922,9 @@ peer: 2htXdNcxzpI2FdPDJy4T4VGtm1wpMEQu1AkQHjNY6F8= ## Conclusion -Having a mesh network on our hosts is great for securing all the traffic between them for our future `k3s` setup. A self-managed WireGuard mesh network is better than Tailscale as it eliminates reliance on a third party and provides full control over the configuration. It reduces unnecessary abstraction and "magic," enabling easier debugging and ensuring full ownership of our network. +Having a mesh network on our hosts is great for securing all the traffic between them for our future k3s setup. A self-managed WireGuard mesh network is better than Tailscale as it eliminates reliance on a third party and provides full control over the configuration. It reduces unnecessary abstraction and "magic," enabling easier debugging and ensuring full ownership of our network. -I look forward to the next blog post in this series. We may start setting up `k3s` or take a first look at the NFS server (for persistent storage) side of things. I hope you liked all the posts so far in this series. +I look forward to the next blog post in this series. We may start setting up k3s or take a first look at the NFS server (for persistent storage) side of things. I hope you liked all the posts so far in this series. Other *BSD-related posts: diff --git a/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi.tpl b/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi.tpl index cc0a7eff..e0d2d788 100644 --- a/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi.tpl +++ b/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi.tpl @@ -36,9 +36,9 @@ The traffic is expected to flow between the host groups through the mesh network * `fN <-> rN`: The traffic between the FreeBSD hosts and the Rocky Linux VMs will be routed through the VPN tunnels for persistent storage. In a later post in this series, we will set up an NFS server on the `fN` hosts. * `fN <-> blowfish,fishfinger`: The traffic between the FreeBSD hosts and the OpenBSD host `blowfish,fishfinger` will be routed through the VPN tunnels for management. We may want to log in via the internet to set it up remotely. The VPN tunnel will also be used for monitoring purposes. -* `rN <-> blowfish,fishfinger`: The traffic between the Rocky Linux VMs and the OpenBSD host `blowfish,fishfinger` will be routed through the VPN tunnels for usage traffic. Since `k3s` will be running on the `rN` hosts, the OpenBSD servers will route the traffic through `relayd` to the services running in Kubernetes. +* `rN <-> blowfish,fishfinger`: The traffic between the Rocky Linux VMs and the OpenBSD host `blowfish,fishfinger` will be routed through the VPN tunnels for usage traffic. Since k3s will be running on the `rN` hosts, the OpenBSD servers will route the traffic through `relayd` to the services running in Kubernetes. * `fN <-> fM`: The traffic between the FreeBSD hosts may be later used for data replication for the NFS storage. -* `rN <-> rM`: The traffic between the Rocky Linux VMs will later be used by the `k3s` cluster itself, as every `rN` will be a Kubernetes worker node. +* `rN <-> rM`: The traffic between the Rocky Linux VMs will later be used by the k3s cluster itself, as every `rN` will be a Kubernetes worker node. * `blowfish <-> fishfinger`: The traffic between the OpenBSD hosts isn't strictly required for this setup, but I set it up anyway for future use cases. We won't cover all the details in this blog post, as we only focus on setting up the Mesh network in this blog post. Subsequent posts in this series will cover the other details. @@ -75,8 +75,6 @@ On the FreeBSD hosts `f0`, `f1` and `f2`, similar as last time, first, we bring ```sh paul@f0:~ % doas freebsd-update fetch paul@f0:~ % doas freebsd-update install -paul@f0:~ % doas freebsd-update -r 14.2-RELEASE upgrade -paul@f0:~ % doas freebsd-update install paul@f0:~ % doas shutdown -r now .. .. @@ -320,7 +318,7 @@ So, because it's better, we are using it. ## Mesh network generator -Manually generating `wg0.conf` files for every peer in a mesh network setup is cumbersome because each peer requires its own unique public/private key pair and a preshared key for each VPN tunnel (resulting in 29 preshared keys for 8 hosts). This complexity scales exponentially with the number of peers as the relationships between all peers must be explicitly defined, including their unique configurations such as `AllowedIPs` and `Endpoint` and optional settings like `PersistentKeepalive`. Automating the process ensures consistency, reduces human error, saves considerable time, and allows for centralized management of configuration files. +Manually generating `wg0.conf` files for every peer in a mesh network setup is cumbersome because each peer requires its own unique public/private key pair and a preshared key for each VPN tunnel (resulting in 29 preshared keys for 8 hosts). This complexity scales almost exponentially with the number of peers as the relationships between all peers must be explicitly defined, including their unique configurations such as `AllowedIPs` and `Endpoint` and optional settings like `PersistentKeepalive`. Automating the process ensures consistency, reduces human error, saves considerable time, and allows for centralized management of configuration files. Instead, a script can handle key generation, coordinate relationships, and generate all necessary configuration files simultaneously, making it scalable and far less error-prone. @@ -898,9 +896,9 @@ peer: 2htXdNcxzpI2FdPDJy4T4VGtm1wpMEQu1AkQHjNY6F8= ## Conclusion -Having a mesh network on our hosts is great for securing all the traffic between them for our future `k3s` setup. A self-managed WireGuard mesh network is better than Tailscale as it eliminates reliance on a third party and provides full control over the configuration. It reduces unnecessary abstraction and "magic," enabling easier debugging and ensuring full ownership of our network. +Having a mesh network on our hosts is great for securing all the traffic between them for our future k3s setup. A self-managed WireGuard mesh network is better than Tailscale as it eliminates reliance on a third party and provides full control over the configuration. It reduces unnecessary abstraction and "magic," enabling easier debugging and ensuring full ownership of our network. -I look forward to the next blog post in this series. We may start setting up `k3s` or take a first look at the NFS server (for persistent storage) side of things. I hope you liked all the posts so far in this series. +I look forward to the next blog post in this series. We may start setting up k3s or take a first look at the NFS server (for persistent storage) side of things. I hope you liked all the posts so far in this series. Other *BSD-related posts: diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index c84dd44a..99292fc1 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <updated>2025-05-11T11:38:56+03:00</updated> + <updated>2025-05-11T12:12:02+03:00</updated> <title>foo.zone feed</title> <subtitle>To be in the .zone!</subtitle> <link href="gemini://foo.zone/gemfeed/atom.xml" rel="self" /> @@ -84,9 +84,9 @@ <ul> <li><span class='inlinecode'>fN <-> rN</span>: The traffic between the FreeBSD hosts and the Rocky Linux VMs will be routed through the VPN tunnels for persistent storage. In a later post in this series, we will set up an NFS server on the <span class='inlinecode'>fN</span> hosts. </li> <li><span class='inlinecode'>fN <-> blowfish,fishfinger</span>: The traffic between the FreeBSD hosts and the OpenBSD host <span class='inlinecode'>blowfish,fishfinger</span> will be routed through the VPN tunnels for management. We may want to log in via the internet to set it up remotely. The VPN tunnel will also be used for monitoring purposes.</li> -<li><span class='inlinecode'>rN <-> blowfish,fishfinger</span>: The traffic between the Rocky Linux VMs and the OpenBSD host <span class='inlinecode'>blowfish,fishfinger</span> will be routed through the VPN tunnels for usage traffic. Since <span class='inlinecode'>k3s</span> will be running on the <span class='inlinecode'>rN</span> hosts, the OpenBSD servers will route the traffic through <span class='inlinecode'>relayd</span> to the services running in Kubernetes.</li> +<li><span class='inlinecode'>rN <-> blowfish,fishfinger</span>: The traffic between the Rocky Linux VMs and the OpenBSD host <span class='inlinecode'>blowfish,fishfinger</span> will be routed through the VPN tunnels for usage traffic. Since k3s will be running on the <span class='inlinecode'>rN</span> hosts, the OpenBSD servers will route the traffic through <span class='inlinecode'>relayd</span> to the services running in Kubernetes.</li> <li><span class='inlinecode'>fN <-> fM</span>: The traffic between the FreeBSD hosts may be later used for data replication for the NFS storage.</li> -<li><span class='inlinecode'>rN <-> rM</span>: The traffic between the Rocky Linux VMs will later be used by the <span class='inlinecode'>k3s</span> cluster itself, as every <span class='inlinecode'>rN</span> will be a Kubernetes worker node.</li> +<li><span class='inlinecode'>rN <-> rM</span>: The traffic between the Rocky Linux VMs will later be used by the k3s cluster itself, as every <span class='inlinecode'>rN</span> will be a Kubernetes worker node.</li> <li><span class='inlinecode'>blowfish <-> fishfinger</span>: The traffic between the OpenBSD hosts isn't strictly required for this setup, but I set it up anyway for future use cases.</li> </ul><br /> <span>We won't cover all the details in this blog post, as we only focus on setting up the Mesh network in this blog post. Subsequent posts in this series will cover the other details.</span><br /> @@ -127,8 +127,6 @@ http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> <pre>paul@f0:~ % doas freebsd-update fetch paul@f0:~ % doas freebsd-update install -paul@f0:~ % doas freebsd-update -r <font color="#000000">14.2</font>-RELEASE upgrade -paul@f0:~ % doas freebsd-update install paul@f0:~ % doas shutdown -r now .. .. @@ -398,7 +396,7 @@ PersistentKeepalive = 25 <br /> <h2 style='display: inline' id='mesh-network-generator'>Mesh network generator</h2><br /> <br /> -<span>Manually generating <span class='inlinecode'>wg0.conf</span> files for every peer in a mesh network setup is cumbersome because each peer requires its own unique public/private key pair and a preshared key for each VPN tunnel (resulting in 29 preshared keys for 8 hosts). This complexity scales exponentially with the number of peers as the relationships between all peers must be explicitly defined, including their unique configurations such as <span class='inlinecode'>AllowedIPs</span> and <span class='inlinecode'>Endpoint</span> and optional settings like <span class='inlinecode'>PersistentKeepalive</span>. Automating the process ensures consistency, reduces human error, saves considerable time, and allows for centralized management of configuration files.</span><br /> +<span>Manually generating <span class='inlinecode'>wg0.conf</span> files for every peer in a mesh network setup is cumbersome because each peer requires its own unique public/private key pair and a preshared key for each VPN tunnel (resulting in 29 preshared keys for 8 hosts). This complexity scales almost exponentially with the number of peers as the relationships between all peers must be explicitly defined, including their unique configurations such as <span class='inlinecode'>AllowedIPs</span> and <span class='inlinecode'>Endpoint</span> and optional settings like <span class='inlinecode'>PersistentKeepalive</span>. Automating the process ensures consistency, reduces human error, saves considerable time, and allows for centralized management of configuration files.</span><br /> <br /> <span>Instead, a script can handle key generation, coordinate relationships, and generate all necessary configuration files simultaneously, making it scalable and far less error-prone.</span><br /> <br /> @@ -1007,9 +1005,9 @@ peer: 2htXdNcxzpI2FdPDJy4T4VGtm1wpMEQu1AkQHjNY6F8= <br /> <h2 style='display: inline' id='conclusion'>Conclusion</h2><br /> <br /> -<span>Having a mesh network on our hosts is great for securing all the traffic between them for our future <span class='inlinecode'>k3s</span> setup. A self-managed WireGuard mesh network is better than Tailscale as it eliminates reliance on a third party and provides full control over the configuration. It reduces unnecessary abstraction and "magic," enabling easier debugging and ensuring full ownership of our network.</span><br /> +<span>Having a mesh network on our hosts is great for securing all the traffic between them for our future k3s setup. A self-managed WireGuard mesh network is better than Tailscale as it eliminates reliance on a third party and provides full control over the configuration. It reduces unnecessary abstraction and "magic," enabling easier debugging and ensuring full ownership of our network.</span><br /> <br /> -<span>I look forward to the next blog post in this series. We may start setting up <span class='inlinecode'>k3s</span> or take a first look at the NFS server (for persistent storage) side of things. I hope you liked all the posts so far in this series.</span><br /> +<span>I look forward to the next blog post in this series. We may start setting up k3s or take a first look at the NFS server (for persistent storage) side of things. I hope you liked all the posts so far in this series.</span><br /> <br /> <span>Other *BSD-related posts:</span><br /> <br /> @@ -2161,7 +2159,9 @@ Apr <font color="#000000">4</font> <font color="#000000">23</font>:<font color= <br /> <span>This flexibility is great for keeping options open and managing different workloads without overcomplicating things. Overall, it's a nice setup for getting the most out of my hardware and keeping things running smoothly.</span><br /> <br /> -<span>See you in the next post of this series!</span><br /> +<span>Read the next post of this series:</span><br /> +<br /> +<a class='textlink' href='./2025-05-11-f3s-kubernetes-with-freebsd-part-5.html'>f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network</a><br /> <br /> <span>Other *BSD-related posts:</span><br /> <br /> @@ -3276,7 +3276,9 @@ Jan 26 17:36:32 f2 apcupsd[2159]: apcupsd shutdown succeeded <br /> <span>I have the same UPS (but with a bit more capacity) for my main work setup, which powers my 28" screen, music equipment, etc. It has already been helpful a couple of times during power outages here, so I am sure that the smaller UPS for the F3s setup will be of great use.</span><br /> <br /> -<span>See you in the next post of this series!</span><br /> +<span>Read the next post of this series:</span><br /> +<br /> +<a class='textlink' href='./2025-04-05-f3s-kubernetes-with-freebsd-part-4.html'>f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs</a><br /> <br /> <span>Other BSD related posts are:</span><br /> <br /> @@ -1,6 +1,6 @@ # Hello! -> This site was generated at 2025-05-11T11:41:01+03:00 by `Gemtexter` +> This site was generated at 2025-05-11T12:12:02+03:00 by `Gemtexter` Welcome to the ... diff --git a/uptime-stats.gmi b/uptime-stats.gmi index 031871af..2361f2be 100644 --- a/uptime-stats.gmi +++ b/uptime-stats.gmi @@ -1,6 +1,6 @@ # My machine uptime stats -> This site was last updated at 2025-05-11T11:41:01+03:00 +> This site was last updated at 2025-05-11T12:12:02+03:00 The following stats were collected via `uptimed` on all of my personal computers over many years and the output was generated by `guprecords`, the global uptime records stats analyser of mine. |
