summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-01-30 09:31:42 +0200
committerPaul Buetow <paul@buetow.org>2025-01-30 09:31:42 +0200
commit6ec71277ea4addfb31c40da632170eebd880cc8d (patch)
tree54b3958c7be166d9d4ed632439a2a49098ab8057
parent9663732c4d794c6c102a867e839d42c442a3f8d4 (diff)
jo
-rw-r--r--about/resources.gmi184
-rw-r--r--gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.gmi1
-rw-r--r--gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.gmi1
-rw-r--r--gemfeed/2024-01-13-one-reason-why-i-love-openbsd.gmi1
-rw-r--r--gemfeed/2024-04-01-KISS-high-availability-with-OpenBSD.gmi1
-rw-r--r--gemfeed/2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi4
-rw-r--r--gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi8
-rw-r--r--gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi.tpl4
-rw-r--r--gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi.tpl (renamed from gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-3.gmi.tpl)8
-rw-r--r--gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-3.gmi364
-rw-r--r--gemfeed/atom.xml1140
-rw-r--r--gemfeed/f3s-kubernetes-with-freebsd-part-4.gmi263
-rw-r--r--gemfeed/f3s-kubernetes-with-freebsd-part-4.gmi.tpl254
-rw-r--r--gemfeed/index.gmi1
-rw-r--r--index.gmi3
-rw-r--r--uptime-stats.gmi2
16 files changed, 547 insertions, 1692 deletions
diff --git a/about/resources.gmi b/about/resources.gmi
index f7a835f5..a2d03c09 100644
--- a/about/resources.gmi
+++ b/about/resources.gmi
@@ -35,100 +35,100 @@ You won't find any links on this site because, over time, the links will break.
In random order:
-* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
-* Terraform Cookbook; Mikael Krief; Packt Publishing
-* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
-* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
-* Perl New Features; Joshua McAdams, brian d foy; Perl School
* C++ Programming Language; Bjarne Stroustrup;
-* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
+* Funktionale Programmierung; Peter Pepper; Springer
+* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
+* Effective awk programming; Arnold Robbins; O'Reilly
+* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
+* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
+* Higher Order Perl; Mark Dominus; Morgan Kaufmann
+* Data Science at the Command Line; Jeroen Janssens; O'Reilly
* The Pragmatic Programmer; David Thomas; Addison-Wesley
-* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
-* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
-* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
-* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Systemprogrammierung in Go; Frank Müller; dpunkt
+* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
+* Terraform Cookbook; Mikael Krief; Packt Publishing
+* DNS and BIND; Cricket Liu; O'Reilly
+* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
+* Perl New Features; Joshua McAdams, brian d foy; Perl School
+* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
* Concurrency in Go; Katherine Cox-Buday; O'Reilly
-* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
+* Leanring eBPF; Liz Rice; O'Reilly
* Site Reliability Engineering; How Google runs production systems; O'Reilly
+* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
+* Modern Perl; Chromatic ; Onyx Neon Press
+* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
+* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
+* Raku Fundamentals; Moritz Lenz; Apress
+* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* The Docker Book; James Turnbull; Kindle
+* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
+* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
* Java ist auch eine Insel; Christian Ullenboom;
-* The Docker Book; James Turnbull; Kindle
-* Effective Java; Joshua Bloch; Addison-Wesley Professional
-* Raku Recipes; J.J. Merelo; Apress
* Ultimate Go Notebook; Bill Kennedy
-* DNS and BIND; Cricket Liu; O'Reilly
-* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
-* Effective awk programming; Arnold Robbins; O'Reilly
* Developing Games in Java; David Brackeen and others...; New Riders
-* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
-* Raku Fundamentals; Moritz Lenz; Apress
-* Leanring eBPF; Liz Rice; O'Reilly
-* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
-* Modern Perl; Chromatic ; Onyx Neon Press
-* Data Science at the Command Line; Jeroen Janssens; O'Reilly
-* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
-* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
-* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
-* Systemprogrammierung in Go; Frank Müller; dpunkt
-* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
-* Higher Order Perl; Mark Dominus; Morgan Kaufmann
-* Funktionale Programmierung; Peter Pepper; Springer
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Raku Recipes; J.J. Merelo; Apress
+* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
-* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
+* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
+* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
* 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
-* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
-* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
+* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
+* Effective Java; Joshua Bloch; Addison-Wesley Professional
## Technical references
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:
-* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
-* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
-* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
-* Relayd and Httpd Mastery; Michael W Lucas
* The Linux Programming Interface; Michael Kerrisk; No Starch Press
+* Relayd and Httpd Mastery; Michael W Lucas
* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
+* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
+* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
## Self-development and soft-skills books
In random order:
-* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* The Joy of Missing Out; Christina Crook; New Society Publishers
+* So Good They Can't Ignore You; Cal Newport; Business Plus
+* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
+* Influence without Authority; A. Cohen, D. Bradford; Wiley
+* Digital Minimalism; Cal Newport; Portofolio Penguin
* 101 Essays that change the way you think; Brianna Wiest; Audible
-* Staff Engineer: Leadership beyond the management track; Will Larson; Audible
-* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
-* Soft Skills; John Sommez; Manning Publications
-* Atomic Habits; James Clear; Random House Business
-* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
-* Eat That Frog!; Brian Tracy; Hodder Paperbacks
+* The Power of Now; Eckhard Tolle; Yellow Kite
+* The Off Switch; Mark Cropley; Virgin Books
+* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
+* Ultralearning; Scott Young; Thorsons
* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
-* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
+* The Bullet Journal Method; Ryder Carroll; Fourth Estate
+* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
+* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
* Ultralearning; Anna Laurent; Self-published via Amazon
-* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
-* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
-* The Power of Now; Eckhard Tolle; Yellow Kite
-* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
-* Eat That Frog; Brian Tracy
* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
-* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
-* So Good They Can't Ignore You; Cal Newport; Business Plus
-* The Joy of Missing Out; Christina Crook; New Society Publishers
-* Ultralearning; Scott Young; Thorsons
-* Solve for Happy; Mo Gawdat
+* Atomic Habits; James Clear; Random House Business
* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
-* Deep Work; Cal Newport; Piatkus
-* The Off Switch; Mark Cropley; Virgin Books
+* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* Staff Engineer: Leadership beyond the management track; Will Larson; Audible
+* Eat That Frog!; Brian Tracy; Hodder Paperbacks
* Stop starting, start finishing; Arne Roock; Lean-Kanban University
-* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
-* Influence without Authority; A. Cohen, D. Bradford; Wiley
-* Digital Minimalism; Cal Newport; Portofolio Penguin
+* Deep Work; Cal Newport; Piatkus
+* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
+* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
+* Eat That Frog; Brian Tracy
+* Solve for Happy; Mo Gawdat
+* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
* Slow Productivity; Cal Newport; Penguin Random House
-* The Bullet Journal Method; Ryder Carroll; Fourth Estate
+* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
+* Soft Skills; John Sommez; Manning Publications
=> ../notes/index.gmi Here are notes of mine for some of the books
@@ -136,30 +136,30 @@ In random order:
Some of these were in-person with exams; others were online learning lectures only. In random order:
-* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
-* Functional programming lecture; Remote University of Hagen
-* 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)
-* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
-* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
-* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
-* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
-* Protocol buffers; O'Reilly Online
-* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
+* Functional programming lecture; Remote University of Hagen
* Scripting Vim; Damian Conway; O'Reilly Online
* Apache Tomcat Best Practises; 3-day on-site training
-* AWS Immersion Day; Amazon; 1-day interactive online training
-* MySQL Deep Dive Workshop; 2-day on-site training
* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
+* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
+* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
+* MySQL Deep Dive Workshop; 2-day on-site training
+* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
+* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* Protocol buffers; O'Reilly Online
+* AWS Immersion Day; Amazon; 1-day interactive online training
+* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
+* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
+* 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)
## Technical guides
These are not whole books, but guides (smaller or larger) which I found very useful. in random order:
* Advanced Bash-Scripting Guide
-* Raku Guide at https://raku.guide
* How CPUs work at https://cpu.land
+* Raku Guide at https://raku.guide
## Podcasts
@@ -167,45 +167,45 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
-* Deep Questions with Cal Newport
-* Fallthrough [Golang]
-* Maintainable
+* The Pragmatic Engineer Podcast
+* The ProdCast (Google SRE Podcast)
* Hidden Brain
-* Backend Banter
-* The Changelog Podcast(s)
-* Dev Interrupted
* Fork Around And Find Out
-* BSD Now
* Cup o' Go [Golang]
-* The ProdCast (Google SRE Podcast)
-* The Pragmatic Engineer Podcast
+* BSD Now
+* Dev Interrupted
+* Fallthrough [Golang]
+* Backend Banter
+* Maintainable
+* Deep Questions with Cal Newport
+* The Changelog Podcast(s)
### 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.
* Go Time (predecessor of fallthrough)
+* Modern Mentor
* Java Pub House
+* Ship It (predecessor of Fork Around And Find Out)
* FLOSS weekly
* CRE: Chaosradio Express [german]
-* Ship It (predecessor of Fork Around And Find Out)
-* Modern Mentor
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
-* The Pragmatic Engineer
+* byteSizeGo
+* Register Spill
+* Ruby Weekly
* Changelog News
-* The Valuable Dev
+* Monospace Mentor
* VK Newsletter
+* Applied Go Weekly Newsletter
+* The Valuable Dev
+* The Pragmatic Engineer
* The Imperfectionist
-* Ruby Weekly
-* byteSizeGo
-* Monospace Mentor
* Golang Weekly
-* Register Spill
-* Applied Go Weekly Newsletter
* Andreas Brandhorst Newsletter (Sci-Fi author)
# Formal education
diff --git a/gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.gmi b/gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.gmi
index 279f5472..534e91e3 100644
--- a/gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.gmi
+++ b/gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.gmi
@@ -404,6 +404,7 @@ Other *BSD related posts are:
=> ./2024-04-01-KISS-high-availability-with-OpenBSD.gmi 2024-04-01 KISS high-availability with OpenBSD
=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi 2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
=> ../ Back to the main site
diff --git a/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.gmi b/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.gmi
index f29fa9fc..f4653d62 100644
--- a/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.gmi
+++ b/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.gmi
@@ -683,6 +683,7 @@ Other *BSD related posts are:
=> ./2024-04-01-KISS-high-availability-with-OpenBSD.gmi 2024-04-01 KISS high-availability with OpenBSD
=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi 2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
=> ../ Back to the main site
diff --git a/gemfeed/2024-01-13-one-reason-why-i-love-openbsd.gmi b/gemfeed/2024-01-13-one-reason-why-i-love-openbsd.gmi
index 67140849..6f48fbd6 100644
--- a/gemfeed/2024-01-13-one-reason-why-i-love-openbsd.gmi
+++ b/gemfeed/2024-01-13-one-reason-why-i-love-openbsd.gmi
@@ -58,6 +58,7 @@ Other *BSD related posts are:
=> ./2024-04-01-KISS-high-availability-with-OpenBSD.gmi 2024-04-01 KISS high-availability with OpenBSD
=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi 2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
=> ../ Back to the main site
diff --git a/gemfeed/2024-04-01-KISS-high-availability-with-OpenBSD.gmi b/gemfeed/2024-04-01-KISS-high-availability-with-OpenBSD.gmi
index 08c04d4f..35ee61bb 100644
--- a/gemfeed/2024-04-01-KISS-high-availability-with-OpenBSD.gmi
+++ b/gemfeed/2024-04-01-KISS-high-availability-with-OpenBSD.gmi
@@ -309,6 +309,7 @@ Other *BSD and KISS related posts are:
=> ./2024-04-01-KISS-high-availability-with-OpenBSD.gmi 2024-04-01 KISS high-availability with OpenBSD (You are currently reading this)
=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi 2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
=> ../ Back to the main site
diff --git a/gemfeed/2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi b/gemfeed/2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi
index 6cafba24..c5afc487 100644
--- a/gemfeed/2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi
+++ b/gemfeed/2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi
@@ -10,7 +10,7 @@ These are all the posts so far:
=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage (You are currently reading this)
=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
-=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi 2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
=> ./f3s-kubernetes-with-freebsd-part-1/f3slogo.png f3s logo
@@ -166,7 +166,7 @@ Other *BSD-related posts:
=> ./2024-04-01-KISS-high-availability-with-OpenBSD.gmi 2024-04-01 KISS high-availability with OpenBSD
=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage (You are currently reading this)
=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
-=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi 2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
E-Mail your comments to `paul@nospam.buetow.org` :-)
diff --git a/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi b/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi
index 5e89b6f2..02005eaa 100644
--- a/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi
+++ b/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi
@@ -10,7 +10,7 @@ These are all the posts so far:
=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation (You are currently reading this)
-=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi 2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
=> ./f3s-kubernetes-with-freebsd-part-1/f3slogo.png f3s logo
@@ -292,7 +292,9 @@ The Beelink S12 Pro with Intel N100 CPUs checks all the boxes for a k3s project:
To ease cable management, I need to get shorter ethernet cables. I will place the tower on my shelf, where most of the cables will be hidden (together with a UPS, which will also be added to the setup).
-What will be covered in the next post of this series? Maybe ttttbhyve/Rocky Linux and WireGuard setup as described in part 1 of this series...
+Read the next post of this series:
+
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
Other *BSD-related posts:
@@ -303,7 +305,7 @@ Other *BSD-related posts:
=> ./2024-04-01-KISS-high-availability-with-OpenBSD.gmi 2024-04-01 KISS high-availability with OpenBSD
=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation (You are currently reading this)
-=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi 2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
E-Mail your comments to `paul@nospam.buetow.org` :-)
diff --git a/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi.tpl b/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi.tpl
index ec6dc78b..89cfb22a 100644
--- a/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi.tpl
+++ b/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi.tpl
@@ -270,7 +270,9 @@ The Beelink S12 Pro with Intel N100 CPUs checks all the boxes for a k3s project:
To ease cable management, I need to get shorter ethernet cables. I will place the tower on my shelf, where most of the cables will be hidden (together with a UPS, which will also be added to the setup).
-What will be covered in the next post of this series? Maybe ttttbhyve/Rocky Linux and WireGuard setup as described in part 1 of this series...
+Read the next post of this series:
+
+=> ./2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
Other *BSD-related posts:
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-3.gmi.tpl b/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi.tpl
index 319e40ac..bb803994 100644
--- a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-3.gmi.tpl
+++ b/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi.tpl
@@ -1,5 +1,7 @@
# f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
+> Published at 2025-01-30T09:22:06+02:00
+
This is the third blog post about my f3s series for my self-hosting demands in my home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution we will use on FreeBSD-based physical machines.
<< template::inline::index f3s-kubernetes-with-freebsd-part
@@ -193,9 +195,9 @@ END APC : 2025-01-26 14:44:06 +0200
So far, so good. Host `f0` would shut down itself when short on power. But what about the `f1` and `f2` nodes? They aren't connected directly to the UPS and, therefore, wouldn't know that their power is about to be cut off. For this, `apcupsd` running on the `f1` and `f2` nodes can be configured to retrieve UPS information via the network from the `apcupsd` server running on the `f0` node, which is connected directly to the APC via USB.
-Of course, this won't work when `f0` is down. In this case, no operational node would be connected to the UPS via USB; therefore, the current power status would not be known. However, I consider this a rare circumstance. Furthermore, in case of an `f0` system crash, sudden power outages on the two other nodes would occur at different times, making real data loss (the main concern here) effectively impossible.
+Of course, this won't work when `f0` is down. In this case, no operational node would be connected to the UPS via USB; therefore, the current power status would not be known. However, I consider this a rare circumstance. Furthermore, in case of an `f0` system crash, sudden power outages on the two other nodes would occur at different times making real data loss (the main concern here) less likely.
-And if `f0` is down and `f1` and `f2` receive new data and crash midway, it's likely that a client (e.g., an Android app or another laptop) still has the data stored on it, making data loss recoverable. I'd receive an alert if any of the nodes go down (more on monitoring later in this blog series).
+And if `f0` is down and `f1` and `f2` receive new data and crash midway, it's likely that a client (e.g., an Android app or another laptop) still has the data stored on it, making data recoverable and data loss overall nearly impossible. I'd receive an alert if any of the nodes go down (more on monitoring later in this blog series).
### Installation on partners
@@ -328,7 +330,7 @@ Jan 26 17:36:32 f2 apcupsd[2159]: apcupsd exiting, signal 15
Jan 26 17:36:32 f2 apcupsd[2159]: apcupsd shutdown succeeded
```
-All good :-)
+All good :-) See you in the next post of this series!
Other BSD related posts are:
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-3.gmi b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-3.gmi
deleted file mode 100644
index e4068de2..00000000
--- a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-3.gmi
+++ /dev/null
@@ -1,364 +0,0 @@
-# f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
-
-This is the third blog post about my f3s series for my self-hosting demands in my home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution we will use on FreeBSD-based physical machines.
-
-=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
-=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
-=> ./f3s-kubernetes-with-freebsd-part-4.gmi f3s-kubernetes-with f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 4
-
-=> ./f3s-kubernetes-with-freebsd-part-1/f3slogo.png f3s logo
-
-## Table of Contents
-
-* ⇢ f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts
-* ⇢ ⇢ Introduction
-* ⇢ ⇢ Changes since last time
-* ⇢ ⇢ ⇢ FreeBSD upgrade from 14.1 to 14.2
-* ⇢ ⇢ ⇢ A new home (behind the TV)
-* ⇢ ⇢ The UPS hardware
-* ⇢ ⇢ Configuring FreeBSD to Work with the UPS
-* ⇢ ⇢ ⇢ USB Device Detection
-* ⇢ ⇢ ⇢ `apcupsd` Installation
-* ⇢ ⇢ ⇢ UPS Connectivity Test
-* ⇢ ⇢ APC Info on Partner Nodes:
-* ⇢ ⇢ ⇢ Installation on partners
-* ⇢ ⇢ Power outage simulation
-* ⇢ ⇢ ⇢ Pulling the plug
-* ⇢ ⇢ ⇢ Restoring power
-
-## Introduction
-
-In this blog post, we are setting up the UPS for the cluster. A UPS, or Uninterruptible Power Supply, safeguards my cluster from unexpected power outages and surges. It acts as a backup battery that kicks in when the electricity cuts out—especially useful in my area, where power cuts are frequent—allowing for a graceful system shutdown and preventing data loss and corruption. This is especially important since I will also store some of my data on the f3s nodes.
-
-## Changes since last time
-
-### FreeBSD upgrade from 14.1 to 14.2
-
-There has been a new release since the last blog post in this series. The upgrade from 14.1 was as easy as:
-
-```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
-```
-
-And after rebooting, I ran:
-
-```sh
-paul@f0: ~ % doas freebsd-update install
-paul@f0: ~ % doas pkg update
-paul@f0: ~ % doas pkg upgrade
-paul@f0: ~ % doas shutdown -r now
-```
-
-And after another reboot, I was on 14.2:
-
-```sh
-paul@f0:~ % uname -a
-FreeBSD f0.lan.buetow.org 14.2-RELEASE FreeBSD 14.2-RELEASE
- releng/14.2-n269506-c8918d6c7412 GENERIC amd64
-```
-
-And, of course, I ran this on all 3 nodes!
-
-### A new home (behind the TV)
-
-I've put all the infrastructure behind my TV, as plenty of space is available. The TV hides most of the setup, which drastically improved the SAF (spouse acceptance factor).
-
-=> ./f3s-kubernetes-with-freebsd-part-3/f3s-changes.jpg New hardware placement arrangement
-
-I got rid of the mini-switch I mentioned in the previous blog post. I have the TP-Link EAP615-Wall mounted on the wall nearby, which is my OpenWrt-powered Wi-Fi hotspot. It also has 3 Ethernet ports, to which I connected the Beelink nodes. That's the device you see at the very top.
-
-The Ethernet cables go downward through the cable boxes to the Beelink nodes. In addition to the Beelink f3s nodes, I connected the TP-Link to the UPS as well (not discussed further in this blog post, but the positive side effect is that my Wi-Fi will still work during a power loss for some time—and during a power cut, the Beelink nodes will still be able to communicate with each other).
-
-On the very left (the black box) is the UPS, with four power outlets. Three go to the Beelink nodes, and one goes to the TP-Link. A USB output is also connected to the first Beelink node, `f0`.
-
-On the very right (halfway hidden behind the TV) are the 3 Beelink nodes stacked on top of each other. The only downside (or upside?) is that my 14-month-old daughter is now chaos-testing the Beelink nodes, as the red power buttons (now reachable for her) are very attractive for her to press when passing by randomly. :-) Luckily, that will only cause graceful system shutdowns!
-
-## The UPS hardware
-
-I wanted a UPS that I could connect to via FreeBSD, and that would provide enough backup power to operate the cluster for a couple of minutes (it turned out to be around an hour, but this time will likely be shortened after future hardware upgrades, like additional drives and a backup enclosure) and to automatically initiate the shutdown of all the f3s nodes.
-
-I decided on the APC Back-UPS BX750MI model because:
-
-* Zero noise level when there is no power cut (some light noise when the battery is in operation during a power cut).
-* Cost: It is relatively affordable (not costing thousands).
-* USB connectivity: Can be connected via USB to one of the FreeBSD hosts to read the UPS status.
-* A power output of 750VA (or 410 watts), suitable for an hour of runtime for my f3s nodes (plus the Wi-Fi router).
-* Multiple power outlets: Can connect all 3 f3s nodes directly.
-* User-replaceable batteries: I can replace the batteries myself after two years or more (depending on usage).
-* Its compact design. Overall, I like how it looks.
-
-=> ./f3s-kubernetes-with-freebsd-part-3/apc-back-ups.jpg The APC Back-UPS BX750MI in operation.
-
-## Configuring FreeBSD to Work with the UPS
-
-### USB Device Detection
-
-Once plugged in via USB on FreeBSD, I could see the following in the kernel messages:
-
-```sh
-paul@f0: ~ % doas dmesg | grep UPS
-ugen0.2: <American Power Conversion Back-UPS BX750MI> at usbus0
-```
-
-### `apcupsd` Installation
-
-To make use of the USB connection, the `apcupsd` package had to be installed:
-
-```sh
-paul@f0: ~ % doas install apcupsd
-```
-
-I have made the following modifications to the configuration file so that the UPS can be used via the USB interface:
-
-```sh
-paul@f0:/usr/local/etc/apcupsd % diff -u apcupsd.conf.sample apcupsd.conf
---- apcupsd.conf.sample 2024-11-01 16:40:42.000000000 +0200
-+++ apcupsd.conf 2024-12-03 10:58:24.009501000 +0200
-@@ -31,7 +31,7 @@
- # 940-1524C, 940-0024G, 940-0095A, 940-0095B,
- # 940-0095C, 940-0625A, M-04-02-2000
- #
--UPSCABLE smart
-+UPSCABLE usb
-
- # To get apcupsd to work, in addition to defining the cable
- # above, you must also define a UPSTYPE, which corresponds to
-@@ -88,8 +88,10 @@
- # that apcupsd binds to that particular unit
- # (helpful if you have more than one USB UPS).
- #
--UPSTYPE apcsmart
--DEVICE /dev/usv
-+UPSTYPE usb
-+DEVICE
-
- # POLLTIME <int>
- # Interval (in seconds) at which apcupsd polls the UPS for status. This
-```
-
-I left the remaining settings as the default ones; for example, the following are of main interest:
-
-```
-# If during a power failure, the remaining battery percentage
-# (as reported by the UPS) is below or equal to BATTERYLEVEL,
-# apcupsd will initiate a system shutdown.
-BATTERYLEVEL 5
-
-# If during a power failure, the remaining runtime in minutes
-# (as calculated internally by the UPS) is below or equal to MINUTES,
-# apcupsd, will initiate a system shutdown.
-MINUTES 3
-```
-
-I then enabled and started the daemon:
-
-```sh
-paul@f0:/usr/local/etc/apcupsd % doas sysrc apcupsd_enable=YES
-apcupsd_enable: -> YES
-paul@f0:/usr/local/etc/apcupsd % doas service apcupsd start
-Starting apcupsd.
-```
-
-### UPS Connectivity Test
-
-And voila, I could now access the UPS information via the `apcaccess` command; how convenient :-) (I also read through the manual page, which provides a good understanding of what else can be done with it!).
-
-```sh
-paul@f0:~ % apcaccess
-APC : 001,035,0857
-DATE : 2025-01-26 14:43:27 +0200
-HOSTNAME : f0.lan.buetow.org
-VERSION : 3.14.14 (31 May 2016) freebsd
-UPSNAME : f0.lan.buetow.org
-CABLE : USB Cable
-DRIVER : USB UPS Driver
-UPSMODE : Stand Alone
-STARTTIME: 2025-01-26 14:43:25 +0200
-MODEL : Back-UPS BX750MI
-STATUS : ONLINE
-LINEV : 230.0 Volts
-LOADPCT : 4.0 Percent
-BCHARGE : 100.0 Percent
-TIMELEFT : 65.3 Minutes
-MBATTCHG : 5 Percent
-MINTIMEL : 3 Minutes
-MAXTIME : 0 Seconds
-SENSE : Medium
-LOTRANS : 145.0 Volts
-HITRANS : 295.0 Volts
-ALARMDEL : No alarm
-BATTV : 13.6 Volts
-LASTXFER : Automatic or explicit self test
-NUMXFERS : 0
-TONBATT : 0 Seconds
-CUMONBATT: 0 Seconds
-XOFFBATT : N/A
-SELFTEST : NG
-STATFLAG : 0x05000008
-SERIALNO : 9B2414A03599
-BATTDATE : 2001-01-01
-NOMINV : 230 Volts
-NOMBATTV : 12.0 Volts
-NOMPOWER : 410 Watts
-END APC : 2025-01-26 14:44:06 +0200
-```
-
-## APC Info on Partner Nodes:
-
-So far, so good. Host `f0` would shut down itself when short on power. But what about the `f1` and `f2` nodes? They aren't connected directly to the UPS and, therefore, wouldn't know that their power is about to be cut off. For this, `apcupsd` running on the `f1` and `f2` nodes can be configured to retrieve UPS information via the network from the `apcupsd` server running on the `f0` node, which is connected directly to the APC via USB.
-
-Of course, this won't work when `f0` is down. In this case, no operational node would be connected