Jak to działa

Moje projekty i ta strona działają na infrastrukturze, którą sam zbudowałem i utrzymuję. Najpierw po ludzku, potem technicznie.

W skrócie

  • Dwa klastry Kubernetes: jeden w domu, do nauki i testów, drugi produkcyjny, na serwerach dedykowanych.
  • Cały stan klastrów jest zapisany w gicie. Zmiany wprowadzam przez repozytorium, a każde wdrożenie uruchamiam świadomie, więc każdą zmianę da się przejrzeć i cofnąć.
  • Monitoring sprawdza strony z zewnątrz, certyfikaty, dyski i bazy danych, a alerty przychodzą na telefon.
  • Bazy danych i pliki aplikacji mają automatyczne kopie zapasowe. Jeśli świeżej kopii brakuje, też dostaję alert.
  • Aktualizacje zależności przychodzą same jako propozycje zmian. Nic nie scala się automatycznie: każdą przeglądam i wdrażam sam.
System na serwerach
Talos Linux
Orkiestracja
Kubernetes
Sieć i polityki ruchu
Cilium
Wdrożenia z gita (GitOps)
Argo CD
Sekrety w repozytorium
Sealed Secrets
Monitoring i alerty
Prometheus, Grafana, Alertmanager
Ruch z internetu
Traefik, cert-manager
Kod, rejestr obrazów i CI
Gitea, Gitea Actions
Aktualizacje zależności
Renovate
Bazy danych
operatory CloudNativePG i MariaDB
Serwery i konfiguracja
Ansible, OpenTofu

Jak powstaje ta strona

  • To statyczna strona w Astro: sam HTML i CSS. Jedyny skrypt to przełącznik jasnego i ciemnego motywu.
  • Nie ma panelu administracyjnego ani bazy danych. Cała treść to pliki w repozytorium.
  • Zmiana trafia na produkcję dopiero po testach i moim przeglądzie. Strona jest serwowana z obrazu kontenera z serwerem Caddy.
  • Wdrożenie to zmiana wersji obrazu w gicie; po przejrzeniu synchronizuję ją w Argo CD.

Jak agenci AI aktualizują tę stronę

  • Tę stronę aktualizują agenci AI, pracując na repozytorium w gicie: wpisy na blogu, statusy projektów, zrzuty ekranu i listę umiejętności.
  • Każdą zmianę sprawdzam, zanim trafi na stronę. Bez mojej akceptacji nic nie jest publikowane.
  • Przy wpisie agent zbiera materiał z historii moich repozytoriów i notatek, proponuje 2–3 tematy, a po moim wyborze pisze szkic po polsku i po angielsku, zawsze z prawdziwym zapisem z terminala albo zrzutem ekranu.
  • Skrypt sprawdza każdą zmianę pod kątem danych, których nie publikuję (adresy, nazwy wewnętrznych maszyn), i pustych fraz.
  • Od tej wersji strony tak wygląda każda aktualizacja. Agent robi żmudną część, a ja decyduję, sprawdzam i odpowiadam za efekt.