<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Blog – Bogusław Witek</title><description>Wpisy o Kubernetesie, Linuxie, CI i utrzymaniu własnej produkcji: co zadziałało, co nie i dlaczego. Zawsze z zapisem z terminala lub zrzutem ekranu.</description><link>https://www.bwitek.dev/blog/</link><language>pl-PL</language><item><title>GhostPizza: strona restauracji z Lighthouse 100 i bez JavaScriptu na publicznych stronach</title><link>https://www.bwitek.dev/blog/ghostpizza-lighthouse-100/</link><guid isPermaLink="true">https://www.bwitek.dev/blog/ghostpizza-lighthouse-100/</guid><description>Przepisałem stronę pizzerii z Laravela na Bun i Hono tak, żeby właściciel nie zauważył żadnej zmiany wizualnej, a telefon klienta zauważył wszystkie.</description><pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate><category>Bun</category><category>Hono</category><category>TypeScript</category></item><item><title>Przeprowadzka control-plane&apos;u bez dramatu: etcd na nowy węzeł</title><link>https://www.bwitek.dev/blog/przeprowadzka-control-plane-etcd/</link><guid isPermaLink="true">https://www.bwitek.dev/blog/przeprowadzka-control-plane-etcd/</guid><description>Przed końcem umowy na dwie małe maszyny produkcyjnego klastra przeniosłem etcd i wszystko inne na jeden serwer dedykowany, bez stawiania klastra od nowa. Metoda zajęła jedną noc, a dwa zaskoczenia po drodze nauczyły mnie więcej niż sam plan.</description><pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate><category>Kubernetes</category><category>Talos Linux</category><category>etcd</category></item><item><title>Stary telewizor jako czysty ekran: debloat zamiast kosza</title><link>https://www.bwitek.dev/blog/stary-telewizor-debloat/</link><guid isPermaLink="true">https://www.bwitek.dev/blog/stary-telewizor-debloat/</guid><description>Samsung UE60J6240 z 2015 roku ma wciąż akceptowalny panel, ale jego własny system zrobił z niego elektrośmieć – wolny, z reklamami w interfejsie i wysyłający telemetrię do producenta. Zamiast go wyrzucić, odchudziłem fabryczny system do jednego zadania: obraz i dźwięk z HDMI, bez reklam i bez telemetrii.</description><pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate><category>Linux</category><category>Reverse engineering</category><category>Home Assistant</category></item><item><title>Cilium zamiast domyślnej sieci: polityki sieciowe, które naprawdę działają</title><link>https://www.bwitek.dev/blog/cilium-polityki-sieciowe-hubble/</link><guid isPermaLink="true">https://www.bwitek.dev/blog/cilium-polityki-sieciowe-hubble/</guid><description>Mój klaster przyjmował reguły sieciowe bez słowa sprzeciwu i żadnej z nich nie egzekwował. Wymiana sieci na Cilium w obu klastrach to historia o tym, że „Synced” w Argo CD to jeszcze nie dowód.</description><pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate><category>Cilium</category><category>Kubernetes</category><category>Talos Linux</category></item><item><title>GitOps w praktyce: Gitea Actions, tag obrazu w gicie i Argo CD z ręczną synchronizacją</title><link>https://www.bwitek.dev/blog/gitops-gitea-actions-argo-cd/</link><guid isPermaLink="true">https://www.bwitek.dev/blog/gitops-gitea-actions-argo-cd/</guid><description>Wdrożenie u mnie to commit, który zmienia jeden tag obrazu, i świadome kliknięcie synchronizacji. Opisuję, jak działa ta pętla, dlaczego nic nie wdraża się samo i co dołożył do niej Renovate.</description><pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate><category>Gitea Actions</category><category>Argo CD</category><category>Renovate</category></item><item><title>Talos Linux: serwer bez SSH i dlaczego to dobrze</title><link>https://www.bwitek.dev/blog/talos-linux-serwer-bez-ssh/</link><guid isPermaLink="true">https://www.bwitek.dev/blog/talos-linux-serwer-bez-ssh/</guid><description>Po dwóch tygodniach z k3s przebudowałem domowy klaster od zera na Talos Linux, systemie, na który nie da się zalogować. Trzy maszyny wirtualne zamieniłem w jedną, a cała jej konfiguracja mieści się w jednym pliku w gicie.</description><pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate><category>Talos Linux</category><category>Kubernetes</category><category>IncusOS</category></item><item><title>Kubernetes od zera w domu: k3s, Helm, Argo CD i Sealed Secrets</title><link>https://www.bwitek.dev/blog/kubernetes-od-zera-w-domu/</link><guid isPermaLink="true">https://www.bwitek.dev/blog/kubernetes-od-zera-w-domu/</guid><description>Kubernetes był moją największą luką, więc zamiast czytać o nim, postawiłem go na domowym serwerze i uruchomiłem tam kopie prawdziwych usług. Po kilku dniach cały klaster dało się odtworzyć z jednego repozytorium, razem z hasłami.</description><pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate><category>Kubernetes</category><category>Helm</category><category>Argo CD</category><category>Sealed Secrets</category></item><item><title>Włamanie na serwer Playergency i automat, który odbanował wszystkich</title><link>https://www.bwitek.dev/blog/playergency-wlam-i-masowy-unban/</link><guid isPermaLink="true">https://www.bwitek.dev/blog/playergency-wlam-i-masowy-unban/</guid><description>W październiku 2024 ktoś wyrzucił i zbanował członków serwera Discord społeczności, dla której od lat robię bota. Discord nie miał przycisku „odbanuj wszystkich”, więc napisałem go sam w discord.js.</description><pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate><category>discord.js (boty Discord)</category><category>JavaScript i Node.js</category></item></channel></rss>