[{"content":"A long apt upgrade, a migration, a build — then the laptop sleeps. SSH dies, the process gets SIGHUP and dies with it. GNU Screen keeps the terminal on the server: disconnect, come back, the work is still there.\nIt is not a nohup 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 screen is often already installed when tmux is not.\nThe minimal loop On the server:\nscreen -S deploy That is a …","date":"2026-08-31","permalink":"/en/posts/gnu-screen/","summary":"A long apt upgrade, a migration, a build — then the laptop sleeps. SSH dies, the process gets SIGHUP and dies with it. GNU Screen keeps the terminal on the server: disconnect, come back, the work is …","tags":["screen","linux","ssh","terminal","devops"],"title":"GNU Screen: sessions that survive an SSH drop"},{"content":"kind creates a Kubernetes cluster from Docker containers: control-plane and worker nodes are kindest/node images. Primary use cases are local development and CI. GitHub Actions has an official create-kind action that makes pipelines with K8s tests straightforward.\nCompared 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.\nInstallation macOS, Linux, and Windows (via WSL2) — …","date":"2026-08-31","permalink":"/en/posts/kind-local-kubernetes-in-docker/","summary":"kind creates a Kubernetes cluster from Docker containers: control-plane and worker nodes are kindest/node images. Primary use cases are local development and CI. GitHub Actions has an official …","tags":["kubernetes","docker","devops","linux"],"title":"kind: Local Kubernetes in Docker"},{"content":"A TLS error that says the certificate is untrusted almost never means the certificate is “broken”. The trust anchor is in the wrong store.\ncurl, openssl, 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.\nWhat to import You trust the CA root that signed the server certificate, not localhost.crt / app.example.internal itself.\nTypical files:\nFile Role ca.crt root (trust anchor) — this is what …","date":"2026-08-31","permalink":"/en/posts/trust-custom-ca/","summary":"A TLS error that says the certificate is untrusted almost never means the certificate is “broken”. The trust anchor is in the wrong store.\ncurl, openssl, Git, Python, and the browser are different …","tags":["tls","pki","certificates","devops","security"],"title":"Trusting a custom CA: system store, browsers, and CLI"},{"content":"When ~/.ssh/config holds dozens of stands, bastions, and jump hosts, memorizing aliases stops being fun. ssh-connection-manager is a TUI on top of ordinary OpenSSH: a host list, a filter, a connect via the system ssh, and a way to append a new block to the config.\nThe CLI command is ssh-connect. Repository: gitlab.com/unsorted-projects/ssh-connection-manager.\nWhy not another SSH client The client already exists: the system ssh. What is missing is navigation over the config file.\nThe tool:\nreads …","date":"2026-08-30","permalink":"/en/posts/ssh-connection-manager/","summary":"When ~/.ssh/config holds dozens of stands, bastions, and jump hosts, memorizing aliases stops being fun. ssh-connection-manager is a TUI on top of ordinary OpenSSH: a host list, a filter, a connect …","tags":["ssh","devops","python","tui","openssh"],"title":"ssh-connection-manager: a TUI for hosts in ~/.ssh/config"}]