summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-06-03 10:28:37 +0300
committerPaul Buetow <paul@buetow.org>2025-06-03 10:28:37 +0300
commitc6a020f1c8b243809280bd04b372162a789fedeb (patch)
treebf7c9674d283eca6f6e043b576564adf9eb0998d
parent99caa616318b5652c332981bdce644a5ca8c4c09 (diff)
Update content for md
-rw-r--r--about/resources.md196
-rw-r--r--gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.md2
-rw-r--r--gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md208
-rw-r--r--index.md2
-rw-r--r--uptime-stats.md62
5 files changed, 340 insertions, 130 deletions
diff --git a/about/resources.md b/about/resources.md
index 02e73420..23d56235 100644
--- a/about/resources.md
+++ b/about/resources.md
@@ -1,4 +1,4 @@
-# Resources
+ Resources
This site contains a list of resources I find and found helpful. I am not an expert in all of these topics, but all the resources listed here impacted me. I read some of the books quite a long time ago, so there might be newer editions out there already, and I might need to refresh some of the knowledge.
@@ -19,7 +19,6 @@ You won't find any links on this site because, over time, the links will break.
## Table of Contents
-* [⇢ Resources](#resources)
* [⇢ ⇢ Technical books](#technical-books)
* [⇢ ⇢ Technical references](#technical-references)
* [⇢ ⇢ Self-development and soft-skills books](#self-development-and-soft-skills-books)
@@ -36,103 +35,104 @@ You won't find any links on this site because, over time, the links will break.
In random order:
-* 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
+* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
+* Ultimate Go Notebook; Bill Kennedy
+* Data Science at the Command Line; Jeroen Janssens; O'Reilly
+* DNS and BIND; Cricket Liu; O'Reilly
+* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
+* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
* Perl New Features; Joshua McAdams, brian d foy; Perl School
+* C++ Programming Language; Bjarne Stroustrup;
+* Java ist auch eine Insel; Christian Ullenboom;
+* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
+* Leanring eBPF; Liz Rice; O'Reilly
* 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
+* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
* 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
+* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
+* The Docker Book; James Turnbull; Kindle
+* Effective Java; Joshua Bloch; Addison-Wesley Professional
+* Modern Perl; Chromatic ; Onyx Neon Press
* 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
+* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
+* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
+* Funktionale Programmierung; Peter Pepper; Springer
+* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
* Concurrency in Go; Katherine Cox-Buday; O'Reilly
-* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
-* The Pragmatic Programmer; David Thomas; Addison-Wesley
-* 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
-* Modern Perl; Chromatic ; Onyx Neon Press
-* C++ Programming Language; Bjarne Stroustrup;
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
-* 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
+* Raku Recipes; J.J. Merelo; Apress
+* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
+* Site Reliability Engineering; How Google runs production systems; O'Reilly
* Terraform Cookbook; Mikael Krief; Packt Publishing
-* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
+* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
+* The Pragmatic Programmer; David Thomas; Addison-Wesley
+* Effective awk programming; Arnold Robbins; O'Reilly
+* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
+* Raku Fundamentals; Moritz Lenz; Apress
+* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
+* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
+* Higher Order Perl; Mark Dominus; Morgan Kaufmann
+* Systemprogrammierung in Go; Frank Müller; dpunkt
+* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
## 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:
-* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
-* 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
+* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
* The Linux Programming Interface; Michael Kerrisk; No Starch Press
-* Relayd and Httpd Mastery; Michael W Lucas
* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
+* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
+* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
+* Relayd and Httpd Mastery; Michael W Lucas
## Self-development and soft-skills books
In random order:
-* Soft Skills; John Sommez; Manning Publications
-* 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
-* 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
+* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
+* Ultralearning; Scott Young; Thorsons
+* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
* 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
-* Slow Productivity; Cal Newport; Penguin Random House
+* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
* Getting Things Done; David Allen
-* 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
+* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
+* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
-* Staff Engineer: Leadership beyond the management track; Will Larson; Audible
+* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
+* Atomic Habits; James Clear; Random House Business
+* The Joy of Missing Out; Christina Crook; New Society Publishers
+* Soft Skills; John Sommez; Manning Publications
+* Stop starting, start finishing; Arne Roock; Lean-Kanban University
+* Deep Work; Cal Newport; Piatkus
+* Slow Productivity; Cal Newport; Penguin Random House
+* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
+* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
+* The Power of Now; Eckhard Tolle; Yellow Kite
+* Ultralearning; Anna Laurent; Self-published via Amazon
+* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
+* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
+* The Bullet Journal Method; Ryder Carroll; Fourth Estate
+* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
+* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
+* 101 Essays that change the way you think; Brianna Wiest; Audiobook
+* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
+* Influence without Authority; A. Cohen, D. Bradford; Wiley
+* Eat That Frog; Brian Tracy
[Here are notes of mine for some of the books](../notes/index.md)
@@ -140,29 +140,29 @@ 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
-* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
-* Protocol buffers; O'Reilly Online
* 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...;
+* Protocol buffers; O'Reilly Online
+* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
* AWS Immersion Day; Amazon; 1-day interactive online 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)
-* Scripting Vim; Damian Conway; O'Reilly Online
* Apache Tomcat Best Practises; 3-day on-site training
+* Scripting Vim; Damian Conway; O'Reilly Online
+* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
+* 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)
+* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
+* Ultimate Go Programming; Bill Kennedy; 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
* 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.
-* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
+* Functional programming lecture; Remote University of Hagen
+* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
## 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
+* How CPUs work at https://cpu.land
* Raku Guide at https://raku.guide
## Podcasts
@@ -171,56 +171,56 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
-* The Changelog Podcast(s)
* Hidden Brain
* The Pragmatic Engineer Podcast
+* The Changelog Podcast(s)
+* Cup o' Go [Golang]
+* Fallthrough [Golang]
+* Backend Banter
* Deep Questions with Cal Newport
+* BSD Now [BSD]
* Modern Mentor
-* Maintainable
* Dev Interrupted
-* Backend Banter
-* Fallthrough [Golang]
-* BSD Now [BSD]
-* Cup o' Go [Golang]
-* The ProdCast (Google SRE Podcast)
+* Maintainable
* Fork Around And Find Out
+* The ProdCast (Google SRE Podcast)
### 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.
-* Ship It (predecessor of Fork Around And Find Out)
+* Modern Mentor
* Go Time (predecessor of fallthrough)
* FLOSS weekly
-* Modern Mentor
* Java Pub House
* CRE: Chaosradio Express [german]
+* Ship It (predecessor of Fork Around And Find Out)
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
* VK Newsletter
+* Ruby Weekly
+* Monospace Mentor
+* The Valuable Dev
+* The Imperfectionist
* The Pragmatic Engineer
+* Register Spill
* byteSizeGo
-* Changelog News
-* Applied Go Weekly Newsletter
-* The Valuable Dev
-* Monospace Mentor
* Andreas Brandhorst Newsletter (Sci-Fi author)
-* Register Spill
+* Applied Go Weekly Newsletter
+* Changelog News
* Golang Weekly
-* 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:
-* LWN (online only)
* Linux User
-* Linux Magazine
* freeX (not published anymore)
+* Linux Magazine
+* LWN (online only)
# Formal education
diff --git a/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.md b/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.md
index 1f660405..1ab9fbd6 100644
--- a/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.md
+++ b/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.md
@@ -40,6 +40,8 @@ My Android apps will never be polished, but they will get the job done, and this
## All easy-peasy?
+> Updated 2025-05-15: When using `fyne-cross android` everything works now! I don't have to perform any of the work-arounds listed below anymore!
+
I did have some issues with the app logo for Android, though. Android always showed the default app icon and not my custom icon whenever I used a custom `AndroidManifest.xml` for custom app storage permissions. Without a custom `AndroidAmnifest.xml` the app icon would be displayed under Android, but then the app would not have the `MANAGE_EXTERNAL_STORAGE` permission, which is required for Quick logger to write to a custom directory. I found a workaround, which I commented on here at Github:
[https://github.com/fyne-io/fyne/issues/3077#issuecomment-1912697360](https://github.com/fyne-io/fyne/issues/3077#issuecomment-1912697360)
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md
new file mode 100644
index 00000000..81be255d
--- /dev/null
+++ b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md
@@ -0,0 +1,208 @@
+# f3s: Kubernetes with FreeBSD - Part 6: Storage
+
+> Published at 2025-04-04T23:21:01+03:00
+
+This is the sixth blog post about the f3s series for self-hosting demands in a home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution used on FreeBSD-based physical machines.
+
+[2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage](./2024-11-17-f3s-kubernetes-with-freebsd-part-1.md)
+[2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation](./2024-12-03-f3s-kubernetes-with-freebsd-part-2.md)
+[2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts](./2025-02-01-f3s-kubernetes-with-freebsd-part-3.md)
+[2025-04-05 f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs](./2025-04-05-f3s-kubernetes-with-freebsd-part-4.md)
+[2025-05-11 f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network](./2025-05-11-f3s-kubernetes-with-freebsd-part-5.md)
+
+[![f3s logo](./f3s-kubernetes-with-freebsd-part-1/f3slogo.png "f3s logo")](./f3s-kubernetes-with-freebsd-part-1/f3slogo.png)
+
+## Table of Contents
+
+* [⇢ f3s: Kubernetes with FreeBSD - Part 6: Storage](#f3s-kubernetes-with-freebsd---part-6-storage)
+* [⇢ ⇢ Introduction](#introduction)
+* [⇢ ⇢ UFS Setup](#ufs-setup)
+* [⇢ ⇢ ZFS Setup](#zfs-setup)
+* [⇢ ⇢ ⇢ Encryption](#encryption)
+
+## Introduction
+
+In this blog post, we are going to extend the Beelinks with some additional storage.
+
+Some photos here, describe why there are 2 different models of SSD drives (replication etc)
+
+```
+paul@f0:/ % doas camcontrol devlist
+<512GB SSD D910R170> at scbus0 target 0 lun 0 (pass0,ada0)
+<Samsung SSD 870 EVO 1TB SVT03B6Q> at scbus1 target 0 lun 0 (pass1,ada1)
+<Generic Flash Disk 8.07> at scbus2 target 0 lun 0 (da0,pass2)
+paul@f0:/ %
+```
+
+```
+paul@f1:/ % doas camcontrol devlist
+<512GB SSD D910R170> at scbus0 target 0 lun 0 (pass0,ada0)
+<CT1000BX500SSD1 M6CR072> at scbus1 target 0 lun 0 (pass1,ada1)
+<Generic Flash Disk 8.07> at scbus2 target 0 lun 0 (da0,pass2)
+paul@f1:/ %
+```
+
+## UFS Setup
+
+```sh
+paul@f0:/ % doas newfs /dev/da0
+/dev/da0: 15000.0MB (30720000 sectors) block size 32768, fragment size 4096
+ using 24 cylinder groups of 625.22MB, 20007 blks, 80128 inodes.
+ with soft updates
+super-block backups (for fsck_ffs -b #) at:
+ 192, 1280640, 2561088, 3841536, 5121984, 6402432, 7682880, 8963328, 10243776,
+11524224, 12804672, 14085120, 15365568, 16646016, 17926464, 19206912,k 20487360,
+...
+
+paul@f0:/ % echo '/dev/da0 /keys ufs rw 0 2' | doas tee -a /etc/fstab
+/dev/da0 /keys ufs rw 0 2
+paul@f0:/ % doas mkdir /keys
+paul@f0:/ % doas mount /keys
+paul@f0:/ % df | grep keys
+/dev/da0 14877596 8 13687384 0% /keys
+```
+
+## ZFS Setup
+
+```sh
+paul@f0:/dev % doas zpool create -m /data zdata /dev/ada1
+paul@f0:/dev % zpool list
+NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
+zdata 928G 432K 928G - - 0% 0% 1.00x ONLINE -
+zroot 472G 19.8G 452G - - 0% 4% 1.00x ONLINE -
+
+```
+
+### Encryption
+
+USB key for key location
+
+```sh
+paul@f0:/keys % doas vm stop rocky
+Sending ACPI shutdown to rocky
+
+paul@f0:/keys % doas vm list
+NAME DATASTORE LOADER CPU MEMORY VNC AUTO STATE
+rocky default uefi 4 14G - Yes [1] Stopped
+
+
+paul@f0:/keys % doas zfs rename zroot/bhyve zroot/bhyve_old
+paul@f0:/keys % doas zfs set mountpoint=/mnt zroot/bhyve_old
+paul@f0:/keys % doas zfs snapshot zroot/bhyve_old/rocky@hamburger
+
+
+paul@f0:/keys % doas openssl rand -out /keys/`hostname`:bhyve.key 32
+paul@f0:/keys % doas openssl rand -out /keys/`hostname`:zdata.key 32
+paul@f0:/keys % ls -ltr
+total 8
+-rw-r--r-- 1 root wheel 16 May 25 11:54 f0.lan.buetow.org:bhyve.key
+-rw-r--r-- 1 root wheel 16 May 25 11:54 f0.lan.buetow.org:zdata.key
+
+paul@f0:/keys % doas zfs create -o encryption=on -o keyformat=raw -o keylocation=file:///keys/`hostname`:bhyve.key zroot/bhyve
+paul@f0:/keys % doas zfs create -o encryption=on -o keyformat=raw -o keylocation=file:///keys/`hostname`:zdata.key zdata/enc
+paul@f0:/keys % doas zfs set mountpoint=/zroot/bhyve zroot/bhyve
+paul@f0:/keys % doas zfs set mountpoint=/zroot/bhyve/rocky zroot/bhyve/rocky
+
+paul@f0:/keys % doas zfs send zroot/bhyve_old/rocky@hamburger | doas zfs recv zroot/bhyve/rocky
+paul@f0:/keys % doas cp -Rp /mnt/.config /zroot/bhyve/
+paul@f0:/keys % doas cp -Rp /mnt/.img /zroot/bhyve/
+paul@f0:/keys % doas cp -Rp /mnt/.templates /zroot/bhyve/
+paul@f0:/keys % doas cp -Rp /mnt/.iso /zroot/bhyve/
+
+paul@f0:/keys % doas sysrc zfskeys_enable=YES
+zfskeys_enable: -> YES
+```
+
+Copied over all the keys from the partner node to each node, so they backup each other:
+
+```sh
+paul@f0:/keys % doas chown root *
+paul@f0:/keys % doas chmod 400 *
+paul@f0:/keys % ls -ltr
+total 24
+-r-------- 1 root paul 16 May 25 11:56 f0.lan.buetow.org:zdata.key
+-r-------- 1 root paul 16 May 25 11:56 f0.lan.buetow.org:bhyve.key
+-r-------- 1 root paul 16 May 25 11:56 f1.lan.buetow.org:zdata.key
+-r-------- 1 root paul 16 May 25 11:56 f1.lan.buetow.org:bhyve.key
+-r-------- 1 root paul 16 May 25 11:57 f2.lan.buetow.org:zdata.key
+-r-------- 1 root paul 16 May 25 11:57 f2.lan.buetow.org:bhyve.key
+```
+
+```sh
+paul@f0:/keys % doas vm init
+paul@f0:/keys % doas reboot
+.
+.
+.
+paul@f0:~ % doas vm list
+paul@f0:~ % doas vm list
+NAME DATASTORE LOADER CPU MEMORY VNC AUTO STATE
+rocky default uefi 4 14G 0.0.0.0:5900 Yes [1] Running (2265)
+```
+
+```sh
+paul@f0:~ % doas zfs destroy -R zroot/bhyve_old
+
+paul@f0:~ % zfs get all zdata/enc | grep -E '(encryption|key)'
+zdata/enc encryption aes-256-gcm -
+zdata/enc keylocation file:///keys/f0.lan.buetow.org:zdata.key local
+zdata/enc keyformat raw -
+zdata/enc encryptionroot zdata/enc -
+zdata/enc keystatus available -
+paul@f0:~ % zfs get all zroot/bhyve | grep -E '(encryption|key)'
+zroot/bhyve encryption aes-256-gcm -
+zroot/bhyve keylocation file:///keys/f0.lan.buetow.org:bhyve.key local
+zroot/bhyve keyformat raw -
+zroot/bhyve encryptionroot zroot/bhyve -
+zroot/bhyve keystatus available -
+paul@f0:~ % zfs get all zroot/bhyve/rocky | grep -E '(encryption|key)'
+zroot/bhyve/rocky encryption aes-256-gcm -
+zroot/bhyve/rocky keylocation none default
+zroot/bhyve/rocky keyformat raw -
+zroot/bhyve/rocky encryptionroot zroot/bhyve -
+zroot/bhyve/rocky keystatus available -
+```
+
+```
+ paul@f0:~ % zpool status
+ pool: zdata
+ state: ONLINE
+config:
+
+ NAME STATE READ WRITE CKSUM
+ zdata ONLINE 0 0 0
+ ada1 ONLINE 0 0 0
+
+errors: No known data errors
+
+ pool: zroot
+ state: ONLINE
+config:
+
+ NAME STATE READ WRITE CKSUM
+ zroot ONLINE 0 0 0
+ ada0p4 ONLINE 0 0 0
+
+errors: No known data errors
+```
+
+ZFS auto scrubbing....~?
+
+Backup of the keys on the key locations (all keys on all 3 USB keys)
+
+Other *BSD-related posts:
+
+[2025-05-11 f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network](./2025-05-11-f3s-kubernetes-with-freebsd-part-5.md)
+[2025-04-05 f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs](./2025-04-05-f3s-kubernetes-with-freebsd-part-4.md)
+[2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts](./2025-02-01-f3s-kubernetes-with-freebsd-part-3.md)
+[2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation](./2024-12-03-f3s-kubernetes-with-freebsd-part-2.md)
+[2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage](./2024-11-17-f3s-kubernetes-with-freebsd-part-1.md)
+[2024-04-01 KISS high-availability with OpenBSD](./2024-04-01-KISS-high-availability-with-OpenBSD.md)
+[2024-01-13 One reason why I love OpenBSD](./2024-01-13-one-reason-why-i-love-openbsd.md)
+[2022-10-30 Installing DTail on OpenBSD](./2022-10-30-installing-dtail-on-openbsd.md)
+[2022-07-30 Let's Encrypt with OpenBSD and Rex](./2022-07-30-lets-encrypt-with-openbsd-and-rex.md)
+[2016-04-09 Jails and ZFS with Puppet on FreeBSD](./2016-04-09-jails-and-zfs-on-freebsd-with-puppet.md)
+
+E-Mail your comments to `paul@nospam.buetow.org`
+
+[Back to the main site](../)
diff --git a/index.md b/index.md
index defb3684..d26f46ca 100644
--- a/index.md
+++ b/index.md
@@ -1,6 +1,6 @@
# Hello!
-> This site was generated at 2025-06-03T10:26:23+03:00 by `Gemtexter`
+> This site was generated at 2025-06-03T10:27:49+03:00 by `Gemtexter`
Welcome to the ...
diff --git a/uptime-stats.md b/uptime-stats.md
index 07df4c74..c7292610 100644
--- a/uptime-stats.md
+++ b/uptime-stats.md
@@ -1,6 +1,6 @@
# My machine uptime stats
-> This site was last updated at 2025-05-18T01:57:01+03:00
+> This site was last updated at 2025-06-03T10:27:49+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.
@@ -23,7 +23,7 @@ Boots is the total number of host boots over the entire lifespan.
+-----+----------------+-------+------------------------------+
| 1. | alphacentauri | 671 | FreeBSD 11.4-RELEASE-p7 |
| 2. | mars | 207 | Linux 3.2.0-4-amd64 |
-| 3. | *earth | 182 | Linux 6.14.5-300.fc42.x86_64 |
+| 3. | *earth | 185 | Linux 6.14.6-300.fc42.x86_64 |
| 4. | callisto | 153 | Linux 4.0.4-303.fc22.x86_64 |
| 5. | dionysus | 136 | FreeBSD 13.0-RELEASE-p11 |
| 6. | tauceti-e | 120 | Linux 3.2.0-4-amd64 |
@@ -31,11 +31,11 @@ Boots is the total number of host boots over the entire lifespan.
| 8. | *uranus | 59 | NetBSD 10.1 |
| 9. | pluto | 51 | Linux 3.2.0-4-amd64 |
| 10. | mega15289 | 50 | Darwin 23.4.0 |
-| 11. | *t450 | 43 | FreeBSD 14.2-RELEASE |
-| 12. | *fishfinger | 43 | OpenBSD 7.6 |
-| 13. | *mega-m3-pro | 41 | Darwin 24.4.0 |
-| 14. | mega8477 | 40 | Darwin 13.4.0 |
-| 15. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
+| 11. | *mega-m3-pro | 46 | Darwin 24.5.0 |
+| 12. | *t450 | 43 | FreeBSD 14.2-RELEASE |
+| 13. | *fishfinger | 43 | OpenBSD 7.6 |
+| 14. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
+| 15. | mega8477 | 40 | Darwin 13.4.0 |
| 16. | *blowfish | 38 | OpenBSD 7.6 |
| 17. | sun | 33 | FreeBSD 10.3-RELEASE-p24 |
| 18. | *f2 | 25 | FreeBSD 14.2-RELEASE-p1 |
@@ -55,8 +55,8 @@ Uptime is the total uptime of a host over the entire lifespan.
| 1. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 2. | sun | 3 years, 9 months, 26 days | FreeBSD 10.3-RELEASE-p24 |
| 3. | *uranus | 3 years, 9 months, 5 days | NetBSD 10.1 |
-| 4. | *blowfish | 3 years, 5 months, 16 days | OpenBSD 7.6 |
-| 5. | *earth | 3 years, 5 months, 6 days | Linux 6.14.5-300.fc42.x86_64 |
+| 4. | *earth | 3 years, 5 months, 22 days | Linux 6.14.6-300.fc42.x86_64 |
+| 5. | *blowfish | 3 years, 5 months, 16 days | OpenBSD 7.6 |
| 6. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
| 7. | deltavega | 3 years, 1 months, 21 days | Linux 3.10.0-1160.11.1.el7.x86_64 |
| 8. | pluto | 2 years, 10 months, 29 days | Linux 3.2.0-4-amd64 |
@@ -69,7 +69,7 @@ Uptime is the total uptime of a host over the entire lifespan.
| 15. | host0 | 1 years, 3 months, 9 days | FreeBSD 6.2-RELEASE-p5 |
| 16. | *makemake | 1 years, 3 months, 5 days | Linux 6.9.9-200.fc40.x86_64 |
| 17. | tauceti-e | 1 years, 2 months, 20 days | Linux 3.2.0-4-amd64 |
-| 18. | *mega-m3-pro | 0 years, 12 months, 13 days | Darwin 24.4.0 |
+| 18. | *mega-m3-pro | 0 years, 12 months, 30 days | Darwin 24.5.0 |
| 19. | callisto | 0 years, 10 months, 31 days | Linux 4.0.4-303.fc22.x86_64 |
| 20. | alphacentauri | 0 years, 10 months, 28 days | FreeBSD 11.4-RELEASE-p7 |
+-----+----------------+-----------------------------+-----------------------------------+
@@ -85,8 +85,8 @@ Score is calculated by combining all other metrics.
+-----+----------------+-------+-----------------------------------+
| 1. | *uranus | 342 | NetBSD 10.1 |
| 2. | vulcan | 275 | Linux 3.10.0-1160.81.1.el7.x86_64 |
-| 3. | sun | 238 | FreeBSD 10.3-RELEASE-p24 |
-| 4. | *earth | 236 | Linux 6.14.5-300.fc42.x86_64 |
+| 3. | *earth | 239 | Linux 6.14.6-300.fc42.x86_64 |
+| 4. | sun | 238 | FreeBSD 10.3-RELEASE-p24 |
| 5. | *blowfish | 218 | OpenBSD 7.6 |
| 6. | uugrn | 211 | FreeBSD 11.2-RELEASE-p4 |
| 7. | alphacentauri | 201 | FreeBSD 11.4-RELEASE-p7 |
@@ -125,7 +125,7 @@ Downtime is the total downtime of a host over the entire lifespan.
| 9. | mars | 1 years, 2 months, 10 days | Linux 3.2.0-4-amd64 |
| 10. | tauceti-e | 0 years, 12 months, 9 days | Linux 3.2.0-4-amd64 |
| 11. | sirius | 0 years, 8 months, 20 days | Linux 2.6.32-042stab111.12 |
-| 12. | *earth | 0 years, 6 months, 19 days | Linux 6.14.5-300.fc42.x86_64 |
+| 12. | *earth | 0 years, 6 months, 19 days | Linux 6.14.6-300.fc42.x86_64 |
| 13. | deimos | 0 years, 5 months, 15 days | Linux 4.4.5-300.fc23.x86_64 |
| 14. | *f0 | 0 years, 4 months, 20 days | FreeBSD 14.2-RELEASE-p1 |
| 15. | *f2 | 0 years, 4 months, 19 days | FreeBSD 14.2-RELEASE-p1 |
@@ -150,7 +150,7 @@ Lifespan is the total uptime + the total downtime of a host.
| 3. | alphacentauri | 6 years, 9 months, 13 days | FreeBSD 11.4-RELEASE-p7 |
| 4. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 5. | *makemake | 4 years, 4 months, 7 days | Linux 6.9.9-200.fc40.x86_64 |
-| 6. | *earth | 3 years, 10 months, 23 days | Linux 6.14.5-300.fc42.x86_64 |
+| 6. | *earth | 3 years, 11 months, 8 days | Linux 6.14.6-300.fc42.x86_64 |
| 7. | sun | 3 years, 10 months, 2 days | FreeBSD 10.3-RELEASE-p24 |
| 8. | *blowfish | 3 years, 5 months, 17 days | OpenBSD 7.6 |
| 9. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
@@ -178,7 +178,7 @@ Boots is the total number of host boots over the entire lifespan.
+-----+----------------+-------+
| 1. | FreeBSD 10... | 551 |
| 2. | Linux 3... | 550 |
-| 3. | *Linux 6... | 162 |
+| 3. | *Linux 6... | 165 |
| 4. | Linux 5... | 162 |
| 5. | Linux 4... | 161 |
| 6. | FreeBSD 11... | 153 |
@@ -189,13 +189,13 @@ Boots is the total number of host boots over the entire lifespan.
| 11. | Darwin 23... | 33 |
| 12. | FreeBSD 5... | 25 |
| 13. | Linux 2... | 22 |
-| 14. | Darwin 21... | 17 |
-| 15. | Darwin 15... | 15 |
-| 16. | *Darwin 24... | 13 |
+| 14. | *Darwin 24... | 18 |
+| 15. | Darwin 21... | 17 |
+| 16. | Darwin 15... | 15 |
| 17. | Darwin 22... | 12 |
| 18. | Darwin 18... | 11 |
-| 19. | OpenBSD 4... | 10 |
-| 20. | FreeBSD 6... | 10 |
+| 19. | FreeBSD 6... | 10 |
+| 20. | FreeBSD 7... | 10 |
+-----+----------------+-------+
```
@@ -211,7 +211,7 @@ Uptime is the total uptime of a host over the entire lifespan.
| 2. | *OpenBSD 7... | 6 years, 9 months, 24 days |
| 3. | FreeBSD 10... | 5 years, 9 months, 9 days |
| 4. | Linux 5... | 4 years, 10 months, 21 days |
-| 5. | *Linux 6... | 2 years, 8 months, 3 days |
+| 5. | *Linux 6... | 2 years, 8 months, 19 days |
| 6. | Linux 4... | 2 years, 7 months, 22 days |
| 7. | FreeBSD 11... | 2 years, 4 months, 28 days |
| 8. | Linux 2... | 1 years, 11 months, 21 days |
@@ -225,7 +225,7 @@ Uptime is the total uptime of a host over the entire lifespan.
| 16. | Darwin 22... | 0 years, 6 months, 22 days |
| 17. | Darwin 15... | 0 years, 6 months, 15 days |
| 18. | FreeBSD 5... | 0 years, 5 months, 18 days |
-| 19. | *Darwin 24... | 0 years, 4 months, 16 days |
+| 19. | *Darwin 24... | 0 years, 5 months, 2 days |
| 20. | FreeBSD 13... | 0 years, 4 months, 2 days |
+-----+----------------+------------------------------+
```
@@ -242,7 +242,7 @@ Score is calculated by combining all other metrics.
| 2. | *OpenBSD 7... | 435 |
| 3. | FreeBSD 10... | 406 |
| 4. | Linux 5... | 317 |
-| 5. | *Linux 6... | 179 |
+| 5. | *Linux 6... | 182 |
| 6. | Linux 4... | 175 |
| 7. | FreeBSD 11... | 159 |
| 8. | Linux 2... | 121 |
@@ -256,8 +256,8 @@ Score is calculated by combining all other metrics.
| 16. | Darwin 22... | 30 |
| 17. | Darwin 15... | 29 |
| 18. | FreeBSD 13... | 25 |
-| 19. | FreeBSD 5... | 25 |
-| 20. | *Darwin 24... | 21 |
+| 19. | *Darwin 24... | 25 |
+| 20. | FreeBSD 5... | 25 |
+-----+----------------+-------+
```
@@ -269,9 +269,9 @@ Boots is the total number of host boots over the entire lifespan.
+-----+------------+-------+
| Pos | KernelName | Boots |
+-----+------------+-------+
-| 1. | *Linux | 1057 |
+| 1. | *Linux | 1060 |
| 2. | *FreeBSD | 944 |
-| 3. | *Darwin | 146 |
+| 3. | *Darwin | 151 |
| 4. | *OpenBSD | 101 |
| 5. | *NetBSD | 1 |
+-----+------------+-------+
@@ -285,10 +285,10 @@ Uptime is the total uptime of a host over the entire lifespan.
+-----+------------+-----------------------------+
| Pos | KernelName | Uptime |
+-----+------------+-----------------------------+
-| 1. | *Linux | 27 years, 8 months, 25 days |
+| 1. | *Linux | 27 years, 9 months, 10 days |
| 2. | *FreeBSD | 11 years, 5 months, 3 days |
| 3. | *OpenBSD | 7 years, 5 months, 5 days |
-| 4. | *Darwin | 4 years, 8 months, 4 days |
+| 4. | *Darwin | 4 years, 8 months, 20 days |
| 5. | *NetBSD | 0 years, 1 months, 1 days |
+-----+------------+-----------------------------+
```
@@ -301,10 +301,10 @@ Score is calculated by combining all other metrics.
+-----+------------+-------+
| Pos | KernelName | Score |
+-----+------------+-------+
-| 1. | *Linux | 1839 |
+| 1. | *Linux | 1842 |
| 2. | *FreeBSD | 799 |
| 3. | *OpenBSD | 474 |
-| 4. | *Darwin | 304 |
+| 4. | *Darwin | 308 |
| 5. | *NetBSD | 2 |
+-----+------------+-------+
```