diff options
| author | Paul Buetow <paul@buetow.org> | 2025-06-03 10:28:36 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-06-03 10:28:36 +0300 |
| commit | fbdb03396c2e0512100fdc6ae6644a3f3d5b2d06 (patch) | |
| tree | 206be937848b9c258d6ebd3a9abfa4b66f5ac80f | |
| parent | 802af72535b590eace380815ca9abbc32f8af3ec (diff) | |
Update content for html
| -rw-r--r-- | about/resources.html | 198 | ||||
| -rw-r--r-- | gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.html | 2 | ||||
| -rw-r--r-- | gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html | 247 | ||||
| -rw-r--r-- | gemfeed/atom.xml | 4 | ||||
| -rw-r--r-- | index.html | 2 | ||||
| -rw-r--r-- | uptime-stats.html | 62 |
6 files changed, 383 insertions, 132 deletions
diff --git a/about/resources.html b/about/resources.html index f8b79a4e..a67174a2 100644 --- a/about/resources.html +++ b/about/resources.html @@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Resources</title> +<title>Formal education</title> <link rel="shortcut icon" type="image/gif" href="/favicon.ico" /> <link rel="stylesheet" href="../style.css" /> <link rel="stylesheet" href="style-override.css" /> @@ -11,7 +11,7 @@ <p class="header"> <a href="https://foo.zone">Home</a> | <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/about/resources.md">Markdown</a> | <a href="gemini://foo.zone/about/resources.gmi">Gemini</a> </p> -<h1 style='display: inline' id='resources'>Resources</h1><br /> +<span> Resources</span><br /> <br /> <span>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.</span><br /> <br /> @@ -33,7 +33,6 @@ <h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> <br /> <ul> -<li><a href='#resources'>Resources</a></li> <li>⇢ <a href='#technical-books'>Technical books</a></li> <li>⇢ <a href='#technical-references'>Technical references</a></li> <li>⇢ <a href='#self-development-and-soft-skills-books'>Self-development and soft-skills books</a></li> @@ -51,105 +50,106 @@ <span>In random order:</span><br /> <br /> <ul> -<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li> -<li>Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly</li> -<li>Leanring eBPF; Liz Rice; O'Reilly</li> -<li>Funktionale Programmierung; Peter Pepper; Springer</li> -<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li> -<li>Site Reliability Engineering; How Google runs production systems; O'Reilly</li> -<li>Polished Ruby Programming; Jeremy Evans; Packt Publishing</li> -<li>DNS and BIND; Cricket Liu; O'Reilly</li> -<li>21st Century C: C Tips from the New School; Ben Klemens; O'Reilly</li> <li>Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers </li> -<li>Systemprogrammierung in Go; Frank Müller; dpunkt</li> +<li>Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf</li> +<li>Ultimate Go Notebook; Bill Kennedy</li> +<li>Data Science at the Command Line; Jeroen Janssens; O'Reilly</li> +<li>DNS and BIND; Cricket Liu; O'Reilly</li> +<li>Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers</li> +<li>Polished Ruby Programming; Jeremy Evans; Packt Publishing</li> +<li>Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly</li> <li>Perl New Features; Joshua McAdams, brian d foy; Perl School</li> +<li>C++ Programming Language; Bjarne Stroustrup;</li> +<li>Java ist auch eine Insel; Christian Ullenboom; </li> +<li>100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications</li> +<li>Leanring eBPF; Liz Rice; O'Reilly</li> <li>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</li> +<li>The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible</li> <li>Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner</li> -<li>Raku Fundamentals; Moritz Lenz; Apress</li> -<li>Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf</li> +<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li> +<li>The Docker Book; James Turnbull; Kindle</li> +<li>Effective Java; Joshua Bloch; Addison-Wesley Professional</li> +<li>Modern Perl; Chromatic ; Onyx Neon Press</li> <li>Developing Games in Java; David Brackeen and others...; New Riders</li> -<li>Java ist auch eine Insel; Christian Ullenboom; </li> -<li>Effective awk programming; Arnold Robbins; O'Reilly</li> -<li>The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton</li> -<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly</li> -<li>Raku Recipes; J.J. Merelo; Apress</li> -<li>Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers</li> -<li>97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly</li> +<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li> +<li>Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications</li> +<li>Funktionale Programmierung; Peter Pepper; Springer</li> +<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li> +<li>Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly</li> <li>Concurrency in Go; Katherine Cox-Buday; O'Reilly</li> -<li>The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible</li> -<li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li> -<li>DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible</li> <li>Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly</li> -<li>Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications</li> -<li>Ultimate Go Notebook; Bill Kennedy</li> -<li>Modern Perl; Chromatic ; Onyx Neon Press</li> -<li>C++ Programming Language; Bjarne Stroustrup;</li> -<li>The Kubernetes Book; Nigel Poulton; Unabridged Audiobook</li> -<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li> -<li>Higher Order Perl; Mark Dominus; Morgan Kaufmann</li> -<li>The Docker Book; James Turnbull; Kindle</li> <li>Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt </li> -<li>Effective Java; Joshua Bloch; Addison-Wesley Professional</li> -<li>100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications</li> -<li>Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly</li> -<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly</li> -<li>Data Science at the Command Line; Jeroen Janssens; O'Reilly</li> -<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li> +<li>Raku Recipes; J.J. Merelo; Apress</li> +<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li> +<li>Site Reliability Engineering; How Google runs production systems; O'Reilly</li> <li>Terraform Cookbook; Mikael Krief; Packt Publishing</li> -<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li> +<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly</li> +<li>The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton</li> +<li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li> +<li>Effective awk programming; Arnold Robbins; O'Reilly</li> +<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li> +<li>Raku Fundamentals; Moritz Lenz; Apress</li> +<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly</li> +<li>21st Century C: C Tips from the New School; Ben Klemens; O'Reilly</li> +<li>The Kubernetes Book; Nigel Poulton; Unabridged Audiobook</li> +<li>97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly</li> +<li>Higher Order Perl; Mark Dominus; Morgan Kaufmann</li> +<li>Systemprogrammierung in Go; Frank Müller; dpunkt</li> +<li>DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible</li> </ul><br /> <h2 style='display: inline' id='technical-references'>Technical references</h2><br /> <br /> <span>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:</span><br /> <br /> <ul> -<li>Implementing Service Level Objectives; Alex Hidalgo; O'Reilly</li> -<li>BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley</li> -<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly</li> -<li>Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley</li> <li>Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly</li> +<li>Implementing Service Level Objectives; Alex Hidalgo; O'Reilly</li> <li>The Linux Programming Interface; Michael Kerrisk; No Starch Press </li> -<li>Relayd and Httpd Mastery; Michael W Lucas</li> <li>Go: Design Patterns for Real-World Projects; Mat Ryer; Packt</li> +<li>Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley</li> +<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly</li> +<li>BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley</li> +<li>Relayd and Httpd Mastery; Michael W Lucas</li> </ul><br /> <h2 style='display: inline' id='self-development-and-soft-skills-books'>Self-development and soft-skills books</h2><br /> <br /> <span>In random order:</span><br /> <br /> <ul> -<li>Soft Skills; John Sommez; Manning Publications</li> -<li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li> -<li>The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)</li> -<li>The Power of Now; Eckhard Tolle; Yellow Kite</li> -<li>Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing</li> -<li>Ultralearning; Scott Young; Thorsons</li> -<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK</li> -<li>Influence without Authority; A. Cohen, D. Bradford; Wiley</li> -<li>Ultralearning; Anna Laurent; Self-published via Amazon</li> -<li>Deep Work; Cal Newport; Piatkus</li> -<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University </li> <li>Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press</li> <li>Digital Minimalism; Cal Newport; Portofolio Penguin</li> -<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li> <li>Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)</li> -<li>Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly</li> -<li>Eat That Frog; Brian Tracy</li> -<li>The Good Enough Job; Simone Stolzoff; Ebury Edge</li> -<li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li> -<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li> -<li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li> -<li>Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne</li> <li>Eat That Frog!; Brian Tracy; Hodder Paperbacks</li> +<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li> +<li>Ultralearning; Scott Young; Thorsons</li> +<li>Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook</li> <li>So Good They Can't Ignore You; Cal Newport; Business Plus</li> -<li>The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook</li> -<li>101 Essays that change the way you think; Brianna Wiest; Audible</li> -<li>Slow Productivity; Cal Newport; Penguin Random House</li> +<li>Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook</li> <li>Getting Things Done; David Allen</li> -<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li> -<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion </li> -<li>Atomic Habits; James Clear; Random House Business</li> +<li>Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly</li> +<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion</li> <li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li> -<li>Staff Engineer: Leadership beyond the management track; Will Larson; Audible</li> +<li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li> +<li>Atomic Habits; James Clear; Random House Business</li> +<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li> +<li>Soft Skills; John Sommez; Manning Publications</li> +<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University </li> +<li>Deep Work; Cal Newport; Piatkus</li> +<li>Slow Productivity; Cal Newport; Penguin Random House</li> +<li>Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne</li> +<li>The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)</li> +<li>The Power of Now; Eckhard Tolle; Yellow Kite</li> +<li>Ultralearning; Anna Laurent; Self-published via Amazon</li> +<li>The Good Enough Job; Simone Stolzoff; Ebury Edge</li> +<li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li> +<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK</li> +<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li> +<li>The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook</li> +<li>Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing</li> +<li>101 Essays that change the way you think; Brianna Wiest; Audiobook</li> +<li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li> +<li>Influence without Authority; A. Cohen, D. Bradford; Wiley</li> +<li>Eat That Frog; Brian Tracy</li> </ul><br /> <a class='textlink' href='../notes/index.html'>Here are notes of mine for some of the books</a><br /> <br /> @@ -158,30 +158,30 @@ <span>Some of these were in-person with exams; others were online learning lectures only. In random order:</span><br /> <br /> <ul> -<li>Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training</li> -<li>Developing IaC with Terraform (with Live Lessons); O'Reilly Online</li> -<li>Protocol buffers; O'Reilly Online</li> <li>MySQL Deep Dive Workshop; 2-day on-site training</li> <li>Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online</li> -<li>Structure and Interpretation of Computer Programs; Harold Abelson and more...; </li> +<li>Protocol buffers; O'Reilly Online</li> +<li>Developing IaC with Terraform (with Live Lessons); O'Reilly Online</li> <li>AWS Immersion Day; Amazon; 1-day interactive online training </li> -<li>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)</li> -<li>Scripting Vim; Damian Conway; O'Reilly Online</li> <li>Apache Tomcat Best Practises; 3-day on-site training</li> +<li>Scripting Vim; Damian Conway; O'Reilly Online</li> +<li>Structure and Interpretation of Computer Programs; Harold Abelson and more...; </li> +<li>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)</li> +<li>The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online</li> +<li>Ultimate Go Programming; Bill Kennedy; O'Reilly Online</li> <li>Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon</li> <li>The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online</li> -<li>The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online</li> -<li>Functional programming lecture; Remote University of Hagen</li> <li>F5 Loadbalancers Training; 2-day on-site training; F5, Inc. </li> -<li>Ultimate Go Programming; Bill Kennedy; O'Reilly Online</li> +<li>Functional programming lecture; Remote University of Hagen</li> +<li>Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training</li> </ul><br /> <h2 style='display: inline' id='technical-guides'>Technical guides</h2><br /> <br /> <span>These are not whole books, but guides (smaller or larger) which I found very useful. in random order:</span><br /> <br /> <ul> -<li>How CPUs work at https://cpu.land</li> <li>Advanced Bash-Scripting Guide </li> +<li>How CPUs work at https://cpu.land</li> <li>Raku Guide at https://raku.guide </li> </ul><br /> <h2 style='display: inline' id='podcasts'>Podcasts</h2><br /> @@ -191,31 +191,31 @@ <span>In random order:</span><br /> <br /> <ul> -<li>The Changelog Podcast(s)</li> <li>Hidden Brain</li> <li>The Pragmatic Engineer Podcast</li> +<li>The Changelog Podcast(s)</li> +<li>Cup o' Go [Golang]</li> +<li>Fallthrough [Golang]</li> +<li>Backend Banter</li> <li>Deep Questions with Cal Newport</li> +<li>BSD Now [BSD]</li> <li>Modern Mentor</li> -<li>Maintainable</li> <li>Dev Interrupted</li> -<li>Backend Banter</li> -<li>Fallthrough [Golang]</li> -<li>BSD Now [BSD]</li> -<li>Cup o' Go [Golang]</li> -<li>The ProdCast (Google SRE Podcast)</li> +<li>Maintainable</li> <li>Fork Around And Find Out</li> +<li>The ProdCast (Google SRE Podcast)</li> </ul><br /> <h3 style='display: inline' id='podcasts-i-liked'>Podcasts I liked</h3><br /> <br /> <span>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.</span><br /> <br /> <ul> -<li>Ship It (predecessor of Fork Around And Find Out)</li> +<li>Modern Mentor</li> <li>Go Time (predecessor of fallthrough)</li> <li>FLOSS weekly</li> -<li>Modern Mentor</li> <li>Java Pub House</li> <li>CRE: Chaosradio Express [german]</li> +<li>Ship It (predecessor of Fork Around And Find Out)</li> </ul><br /> <h2 style='display: inline' id='newsletters-i-like'>Newsletters I like</h2><br /> <br /> @@ -223,27 +223,27 @@ <br /> <ul> <li>VK Newsletter</li> +<li>Ruby Weekly</li> +<li>Monospace Mentor</li> +<li>The Valuable Dev</li> +<li>The Imperfectionist</li> <li>The Pragmatic Engineer</li> +<li>Register Spill</li> <li>byteSizeGo</li> -<li>Changelog News</li> -<li>Applied Go Weekly Newsletter</li> -<li>The Valuable Dev</li> -<li>Monospace Mentor</li> <li>Andreas Brandhorst Newsletter (Sci-Fi author)</li> -<li>Register Spill</li> +<li>Applied Go Weekly Newsletter</li> +<li>Changelog News</li> <li>Golang Weekly</li> -<li>The Imperfectionist</li> -<li>Ruby Weekly</li> </ul><br /> <h2 style='display: inline' id='magazines-i-liked'>Magazines I like(d)</h2><br /> <br /> <span>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:</span><br /> <br /> <ul> -<li>LWN (online only)</li> <li>Linux User</li> -<li>Linux Magazine</li> <li>freeX (not published anymore)</li> +<li>Linux Magazine</li> +<li>LWN (online only)</li> </ul><br /> <h1 style='display: inline' id='formal-education'>Formal education</h1><br /> <br /> diff --git a/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.html b/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.html index b48aa9ee..9f9e57c5 100644 --- a/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.html +++ b/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.html @@ -54,6 +54,8 @@ <br /> <h2 style='display: inline' id='all-easy-peasy'>All easy-peasy?</h2><br /> <br /> +<span class='quote'>Updated 2025-05-15: When using <span class='inlinecode'>fyne-cross android</span> everything works now! I don't have to perform any of the work-arounds listed below anymore!</span><br /> +<br /> <span>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 <span class='inlinecode'>AndroidManifest.xml</span> for custom app storage permissions. Without a custom <span class='inlinecode'>AndroidAmnifest.xml</span> the app icon would be displayed under Android, but then the app would not have the <span class='inlinecode'>MANAGE_EXTERNAL_STORAGE</span> permission, which is required for Quick logger to write to a custom directory. I found a workaround, which I commented on here at Github:</span><br /> <br /> <a class='textlink' href='https://github.com/fyne-io/fyne/issues/3077#issuecomment-1912697360'>https://github.com/fyne-io/fyne/issues/3077#issuecomment-1912697360</a><br /> diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html new file mode 100644 index 00000000..0219cb6e --- /dev/null +++ b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html @@ -0,0 +1,247 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>f3s: Kubernetes with FreeBSD - Part 6: Storage</title> +<link rel="shortcut icon" type="image/gif" href="/favicon.ico" /> +<link rel="stylesheet" href="../style.css" /> +<link rel="stylesheet" href="style-override.css" /> +</head> +<body> +<p class="header"> +<a href="https://foo.zone">Home</a> | <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.gmi">Gemini</a> +</p> +<h1 style='display: inline' id='f3s-kubernetes-with-freebsd---part-6-storage'>f3s: Kubernetes with FreeBSD - Part 6: Storage</h1><br /> +<br /> +<span class='quote'>Published at 2025-04-04T23:21:01+03:00</span><br /> +<br /> +<span>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.</span><br /> +<br /> +<a class='textlink' href='./2024-11-17-f3s-kubernetes-with-freebsd-part-1.html'>2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage</a><br /> +<a class='textlink' href='./2024-12-03-f3s-kubernetes-with-freebsd-part-2.html'>2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation</a><br /> +<a class='textlink' href='./2025-02-01-f3s-kubernetes-with-freebsd-part-3.html'>2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts</a><br /> +<a class='textlink' href='./2025-04-05-f3s-kubernetes-with-freebsd-part-4.html'>2025-04-05 f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs</a><br /> +<a class='textlink' href='./2025-05-11-f3s-kubernetes-with-freebsd-part-5.html'>2025-05-11 f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network</a><br /> +<br /> +<a href='./f3s-kubernetes-with-freebsd-part-1/f3slogo.png'><img alt='f3s logo' title='f3s logo' src='./f3s-kubernetes-with-freebsd-part-1/f3slogo.png' /></a><br /> +<br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#f3s-kubernetes-with-freebsd---part-6-storage'>f3s: Kubernetes with FreeBSD - Part 6: Storage</a></li> +<li>⇢ <a href='#introduction'>Introduction</a></li> +<li>⇢ <a href='#ufs-setup'>UFS Setup</a></li> +<li>⇢ <a href='#zfs-setup'>ZFS Setup</a></li> +<li>⇢ ⇢ <a href='#encryption'>Encryption</a></li> +</ul><br /> +<h2 style='display: inline' id='introduction'>Introduction</h2><br /> +<br /> +<span>In this blog post, we are going to extend the Beelinks with some additional storage.</span><br /> +<br /> +<span>Some photos here, describe why there are 2 different models of SSD drives (replication etc)</span><br /> +<br /> +<pre> +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:/ % +</pre> +<br /> +<pre> +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:/ % +</pre> +<br /> +<h2 style='display: inline' id='ufs-setup'>UFS Setup</h2><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre>paul@f0:/ % doas newfs /dev/da<font color="#000000">0</font> +/dev/da<font color="#000000">0</font>: <font color="#000000">15000</font>.0MB (<font color="#000000">30720000</font> sectors) block size <font color="#000000">32768</font>, fragment size <font color="#000000">4096</font> + using <font color="#000000">24</font> cylinder groups of <font color="#000000">625</font>.22MB, <font color="#000000">20007</font> blks, <font color="#000000">80128</font> inodes. + with soft updates +super-block backups (<b><u><font color="#000000">for</font></u></b> fsck_ffs -b <i><font color="silver">#) at:</font></i> + <font color="#000000">192</font>, <font color="#000000">1280640</font>, <font color="#000000">2561088</font>, <font color="#000000">3841536</font>, <font color="#000000">5121984</font>, <font color="#000000">6402432</font>, <font color="#000000">7682880</font>, <font color="#000000">8963328</font>, <font color="#000000">10243776</font>, +<font color="#000000">11524224</font>, <font color="#000000">12804672</font>, <font color="#000000">14085120</font>, <font color="#000000">15365568</font>, <font color="#000000">16646016</font>, <font color="#000000">17926464</font>, <font color="#000000">19206912</font>,k <font color="#000000">20487360</font>, +... + +paul@f0:/ % echo <font color="#808080">'/dev/da0 /keys ufs rw 0 2'</font> | doas tee -a /etc/fstab +/dev/da<font color="#000000">0</font> /keys ufs rw <font color="#000000">0</font> <font color="#000000">2</font> +paul@f0:/ % doas mkdir /keys +paul@f0:/ % doas mount /keys +paul@f0:/ % df | grep keys +/dev/da<font color="#000000">0</font> <font color="#000000">14877596</font> <font color="#000000">8</font> <font color="#000000">13687384</font> <font color="#000000">0</font>% /keys +</pre> +<br /> +<h2 style='display: inline' id='zfs-setup'>ZFS Setup</h2><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre>paul@f0:/dev % doas zpool create -m /data zdata /dev/ada<font color="#000000">1</font> +paul@f0:/dev % zpool list +NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT +zdata 928G 432K 928G - - <font color="#000000">0</font>% <font color="#000000">0</font>% <font color="#000000">1</font>.00x ONLINE - +zroot 472G <font color="#000000">19</font>.8G 452G - - <font color="#000000">0</font>% <font color="#000000">4</font>% <font color="#000000">1</font>.00x ONLINE - + +</pre> +<br /> +<h3 style='display: inline' id='encryption'>Encryption</h3><br /> +<br /> +<span>USB key for key location</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre>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 <font color="#000000">4</font> 14G - Yes [<font color="#000000">1</font>] Stopped + + +paul@f0:/keys % doas zfs rename zroot/bhyve zroot/bhyve_old +paul@f0:/keys % doas zfs <b><u><font color="#000000">set</font></u></b> 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 <font color="#000000">32</font> +paul@f0:/keys % doas openssl rand -out /keys/`hostname`:zdata.key <font color="#000000">32</font> +paul@f0:/keys % ls -ltr +total <font color="#000000">8</font> +-rw-r--r-- <font color="#000000">1</font> root wheel <font color="#000000">16</font> May <font color="#000000">25</font> <font color="#000000">11</font>:<font color="#000000">54</font> f0.lan.buetow.org:bhyve.key +-rw-r--r-- <font color="#000000">1</font> root wheel <font color="#000000">16</font> May <font color="#000000">25</font> <font color="#000000">11</font>:<font color="#000000">54</font> 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 <b><u><font color="#000000">set</font></u></b> mountpoint=/zroot/bhyve zroot/bhyve +paul@f0:/keys % doas zfs <b><u><font color="#000000">set</font></u></b> 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 +</pre> +<br /> +<span>Copied over all the keys from the partner node to each node, so they backup each other:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre>paul@f0:/keys % doas chown root * +paul@f0:/keys % doas chmod <font color="#000000">400</font> * +paul@f0:/keys % ls -ltr +total <font color="#000000">24</font> +-r-------- <font color="#000000">1</font> root paul <font color="#000000">16</font> May <font color="#000000">25</font> <font color="#000000">11</font>:<font color="#000000">56</font> f0.lan.buetow.org:zdata.key +-r-------- <font color="#000000">1</font> root paul <font color="#000000">16</font> May <font color="#000000">25</font> <font color="#000000">11</font>:<font color="#000000">56</font> f0.lan.buetow.org:bhyve.key +-r-------- <font color="#000000">1</font> root paul <font color="#000000">16</font> May <font color="#000000">25</font> <font color="#000000">11</font>:<font color="#000000">56</font> f1.lan.buetow.org:zdata.key +-r-------- <font color="#000000">1</font> root paul <font color="#000000">16</font> May <font color="#000000">25</font> <font color="#000000">11</font>:<font color="#000000">56</font> f1.lan.buetow.org:bhyve.key +-r-------- <font color="#000000">1</font> root paul <font color="#000000">16</font> May <font color="#000000">25</font> <font color="#000000">11</font>:<font color="#000000">57</font> f2.lan.buetow.org:zdata.key +-r-------- <font color="#000000">1</font> root paul <font color="#000000">16</font> May <font color="#000000">25</font> <font color="#000000">11</font>:<font color="#000000">57</font> f2.lan.buetow.org:bhyve.key +</pre> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre>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 <font color="#000000">4</font> 14G <font color="#000000">0.0</font>.<font color="#000000">0.0</font>:<font color="#000000">5900</font> Yes [<font color="#000000">1</font>] Running (<font color="#000000">2265</font>) +</pre> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre>paul@f0:~ % doas zfs destroy -R zroot/bhyve_old + +paul@f0:~ % zfs get all zdata/enc | grep -E <font color="#808080">'(encryption|key)'</font> +zdata/enc encryption aes-<font color="#000000">256</font>-gcm - +zdata/enc keylocation file:///keys/f<font color="#000000">0</font>.lan.buetow.org:zdata.key <b><u><font color="#000000">local</font></u></b> +zdata/enc keyformat raw - +zdata/enc encryptionroot zdata/enc - +zdata/enc keystatus available - +paul@f0:~ % zfs get all zroot/bhyve | grep -E <font color="#808080">'(encryption|key)'</font> +zroot/bhyve encryption aes-<font color="#000000">256</font>-gcm - +zroot/bhyve keylocation file:///keys/f<font color="#000000">0</font>.lan.buetow.org:bhyve.key <b><u><font color="#000000">local</font></u></b> +zroot/bhyve keyformat raw - +zroot/bhyve encryptionroot zroot/bhyve - +zroot/bhyve keystatus available - +paul@f0:~ % zfs get all zroot/bhyve/rocky | grep -E <font color="#808080">'(encryption|key)'</font> +zroot/bhyve/rocky encryption aes-<font color="#000000">256</font>-gcm - +zroot/bhyve/rocky keylocation none default +zroot/bhyve/rocky keyformat raw - +zroot/bhyve/rocky encryptionroot zroot/bhyve - +zroot/bhyve/rocky keystatus available - +</pre> +<br /> +<pre> + 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 +</pre> +<br /> +<span>ZFS auto scrubbing....~?</span><br /> +<br /> +<span>Backup of the keys on the key locations (all keys on all 3 USB keys)</span><br /> +<br /> +<span>Other *BSD-related posts:</span><br /> +<br /> +<a class='textlink' href='./2025-05-11-f3s-kubernetes-with-freebsd-part-5.html'>2025-05-11 f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network</a><br /> +<a class='textlink' href='./2025-04-05-f3s-kubernetes-with-freebsd-part-4.html'>2025-04-05 f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs</a><br /> +<a class='textlink' href='./2025-02-01-f3s-kubernetes-with-freebsd-part-3.html'>2025-02-01 f3s: Kubernetes with FreeBSD - Part 3: Protecting from power cuts</a><br /> +<a class='textlink' href='./2024-12-03-f3s-kubernetes-with-freebsd-part-2.html'>2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation</a><br /> +<a class='textlink' href='./2024-11-17-f3s-kubernetes-with-freebsd-part-1.html'>2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage</a><br /> +<a class='textlink' href='./2024-04-01-KISS-high-availability-with-OpenBSD.html'>2024-04-01 KISS high-availability with OpenBSD</a><br /> +<a class='textlink' href='./2024-01-13-one-reason-why-i-love-openbsd.html'>2024-01-13 One reason why I love OpenBSD</a><br /> +<a class='textlink' href='./2022-10-30-installing-dtail-on-openbsd.html'>2022-10-30 Installing DTail on OpenBSD</a><br /> +<a class='textlink' href='./2022-07-30-lets-encrypt-with-openbsd-and-rex.html'>2022-07-30 Let's Encrypt with OpenBSD and Rex</a><br /> +<a class='textlink' href='./2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html'>2016-04-09 Jails and ZFS with Puppet on FreeBSD</a><br /> +<br /> +<span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span></span><br /> +<br /> +<a class='textlink' href='../'>Back to the main site</a><br /> +<p class="footer"> +Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> | +served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> | +<a href="https://foo.zone/site-mirrors.html">Site Mirrors</a> +</p> +</body> +</html> diff --git a/gemfeed/a |
