<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Lead DevOps</title><link>https://lead-devops.blackdevhub.online/en/posts/</link><description>Recent content in Posts on Lead DevOps</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 31 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://lead-devops.blackdevhub.online/en/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>GNU Screen: sessions that survive an SSH drop</title><link>https://lead-devops.blackdevhub.online/en/posts/gnu-screen/</link><pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate><guid>https://lead-devops.blackdevhub.online/en/posts/gnu-screen/</guid><description>&lt;p&gt;A long &lt;code&gt;apt upgrade&lt;/code&gt;, a migration, a build — then the laptop sleeps. SSH dies, the process gets SIGHUP and dies with it. &lt;strong&gt;GNU Screen&lt;/strong&gt; keeps the terminal on the server: disconnect, come back, the work is still there.&lt;/p&gt;
&lt;p&gt;It is not a &lt;code&gt;nohup&lt;/code&gt; replacement and not “another SSH”. It is a multiplexer: named sessions, several windows inside one, a shared session for two people. On older RHEL/Debian boxes &lt;code&gt;screen&lt;/code&gt; is often already installed when &lt;code&gt;tmux&lt;/code&gt; is not.&lt;/p&gt;</description></item><item><title>kind: Local Kubernetes in Docker</title><link>https://lead-devops.blackdevhub.online/en/posts/kind-local-kubernetes-in-docker/</link><pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate><guid>https://lead-devops.blackdevhub.online/en/posts/kind-local-kubernetes-in-docker/</guid><description>&lt;p&gt;kind creates a Kubernetes cluster from Docker containers: control-plane and worker nodes are &lt;code&gt;kindest/node&lt;/code&gt; images. Primary use cases are local development and CI. GitHub Actions has an official &lt;code&gt;create-kind&lt;/code&gt; action that makes pipelines with K8s tests straightforward.&lt;/p&gt;
&lt;p&gt;Compared to minikube, kind has no hypervisor dependency and natively supports multi-node topologies. Compared to k3d, it requires no Rancher and talks to CRI/containerd directly.&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;p&gt;macOS, Linux, and Windows (via WSL2) — download the binary from GitHub Releases.&lt;/p&gt;</description></item><item><title>Trusting a custom CA: system store, browsers, and CLI</title><link>https://lead-devops.blackdevhub.online/en/posts/trust-custom-ca/</link><pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate><guid>https://lead-devops.blackdevhub.online/en/posts/trust-custom-ca/</guid><description>&lt;p&gt;A TLS error that says the certificate is untrusted almost never means the certificate is “broken”. The &lt;strong&gt;trust anchor&lt;/strong&gt; is in the wrong store.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;openssl&lt;/code&gt;, Git, Python, and the browser are different clients. Some keep their own root lists. Updating the OS bundle on Linux will not fix Chrome or Firefox by itself.&lt;/p&gt;
&lt;h2 id="what-to-import"&gt;What to import&lt;/h2&gt;
&lt;p&gt;You trust the &lt;strong&gt;CA root&lt;/strong&gt; that signed the server certificate, not &lt;code&gt;localhost.crt&lt;/code&gt; / &lt;code&gt;app.example.internal&lt;/code&gt; itself.&lt;/p&gt;</description></item><item><title>ssh-connection-manager: a TUI for hosts in ~/.ssh/config</title><link>https://lead-devops.blackdevhub.online/en/posts/ssh-connection-manager/</link><pubDate>Sun, 30 Aug 2026 00:00:00 +0000</pubDate><guid>https://lead-devops.blackdevhub.online/en/posts/ssh-connection-manager/</guid><description>&lt;p&gt;When &lt;code&gt;~/.ssh/config&lt;/code&gt; holds dozens of stands, bastions, and jump hosts, memorizing aliases stops being fun. &lt;strong&gt;ssh-connection-manager&lt;/strong&gt; is a TUI on top of ordinary OpenSSH: a host list, a filter, a connect via the system &lt;code&gt;ssh&lt;/code&gt;, and a way to append a new block to the config.&lt;/p&gt;
&lt;p&gt;The CLI command is &lt;code&gt;ssh-connect&lt;/code&gt;. Repository: &lt;a href="https://gitlab.com/public-projects-docff-devops/ssh-connection-manager"&gt;gitlab.com/unsorted-projects/ssh-connection-manager&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="why-not-another-ssh-client"&gt;Why not another SSH client&lt;/h2&gt;
&lt;p&gt;The client already exists: the system &lt;code&gt;ssh&lt;/code&gt;. What is missing is navigation over the config file.&lt;/p&gt;</description></item></channel></rss>