← Terug naar overzicht

Artikelen

Projecten

Praktijkprojecten rond automatisering, Kubernetes en observability.

Assessment: moet logdata versleuteld worden opgeslagen?

Een onderbouwd antwoord op de vraag of encryptie van logs, metrics en traces nodig is. Uitkomst: gemaskeerd is niet anoniem, dus encryptie is risicogebaseerd nodig, met een verbeterplan en besluitpunten voor de productie-inrichting.

SecurityPrivacyAVGEncryptieS3LokiAssessment
Lees project →

GitOps in de praktijk: Flux op het werk, Gitea Actions thuis

Een werkwijze waarin Git de enige weg naar productie is: Flux voor Kubernetes op het werk, Gitea Actions voor het homelab en deze website. Met de valkuilen die je pas tegenkomt als je het echt doet.

GitOpsFluxKubernetesHelmKustomizeGitea ActionsGitLab CIIstio
Lees project →

Concept: dure SAN-opslag terugbrengen met JuiceFS op S3

Een plan om grote hoeveelheden data van dure SAN- en block-storage naar S3-objectopslag te verhuizen, zonder snelheid in te leveren: JuiceFS als POSIX-bestandssysteem met een lokale cache. De verwachte besparing loopt op tot enkele duizenden euro's per maand.

ConceptJuiceFSS3StorageKubernetesKostenbesparingPostgreSQLRedis
Lees project →

Van Graylog naar Loki zonder één applicatie aan te passen

Applicatielogs van een acceptatieomgeving verhuisd van Graylog naar Loki. Geen codewijziging bij de developers, omschakeling via DNS, en onderweg twee bugs gevonden en gepatcht in de GELF-ontvanger van Grafana Alloy.

LokiGrafana AlloyGELFGraylogGoGitLab CIGrafana
Lees project →

Een logcluster van 24 TB dat volloopt: meten, stabiliseren en een koers kiezen

Een Graylog-cluster met data vanaf 2019, 15.000 shards en een journal die volliep. Hoe ik het die dag stabiliseerde, met alleen-lezen metingen voorspelde wanneer de schijf vol zou zijn, en waarom de oplossing niet 'meer Graylog' is.

GraylogElasticsearchLokiGrafana AlloyCapaciteitsplanningLogging
Lees project →

Security monitoring: Wazuh verhuisd naar Kubernetes

Een verouderde Wazuh-server met eigen Elasticsearch vervangen door een Wazuh-manager in Kubernetes, met de alerts in Loki, dashboards in Grafana, maskering van persoonsgegevens en een migratie per agent die met één regel terug te draaien is.

WazuhKubernetesLokiGrafanaGrafana AlloynginxSIEMSecurity
Lees project →

Eén observability-stack voor productie en acceptatie

Metrics, logs en traces van Kubernetes én een vloot VM's in één Grafana: Prometheus met Thanos voor lange retentie, Loki voor logs, Tempo voor traces, alles via GitOps en met privacy ingebouwd.

PrometheusThanosLokiTempoGrafanaGrafana AlloyOpenTelemetryFluxKubernetes
Lees project →

Veilig werken met kubectl: installatiekit en een lokaal testcluster

Een installatiekit waarmee collega's op Windows, WSL of Linux in een paar minuten toegang hebben tot de clusters, en een lokaal kind-cluster met een ingebouwde vangrail tegen per ongeluk productie raken.

Kuberneteskubectlk9skindWSLPowerShellBashOIDC
Lees project →

Een scanner die niet kon mailen: SMTP-relay met eigen gehard image

Een multifunctional kon niet mailen omdat de mailprovider alleen moderne TLS-ciphers accepteert. De oplossing: een kleine Postfix-relay met een zelf gebouwd image, een Trivy-gate in de deploy en automatische rollback.

PostfixDockerTrivyGitLab CITLSSecurity
Lees project →

Concept: één tijdlijn bij elke storing

Een voorstel om wijzigingen, Kubernetes-events en VM-logs als gebeurtenissen in Loki te zetten, zodat je bij een storing met één script ziet wat er vlak daarvoor veranderde.

ConceptLokiGrafana AlloyFluxIncident responseObservability
Lees project →

PoC: kwetsbaarheden automatisch matchen met wat er echt draait

Een proof of concept dat de openbare CSAF-feed van het NCSC combineert met de pakketlijsten van servers en de OSV-database, zodat je bij een security-advisory direct ziet of en waar je geraakt bent.

PoCSecurityCSAFOSVVulnerability managementPython
Lees project →

Kubernetes-platform: upgrade, NetworkPolicies en rightsizing

Een productiecluster op managed Kubernetes (Gardener) naar 1.34 gebracht, NetworkPolicies ontworpen op basis van gemeten verkeer, en de gereserveerde capaciteit teruggebracht van 45 naar 27 GiB, alles via GitOps met Flux.

KubernetesGardenerCiliumHubbleFluxHelmRabbitMQGitOps
Lees project →

PostgreSQL in Kubernetes met high availability en point-in-time recovery

Een PostgreSQL 17-cluster met CloudNativePG: drie instances over drie zones, continue WAL-archivering naar S3, dagelijkse base backups en een geteste hersteltest naar een willekeurig tijdstip, alles uitgerold door Flux.

PostgreSQLCloudNativePGKubernetesFluxS3BackupIstio
Lees project →

Van prototype naar Kubernetes: interne apps productieklaar maken

Twee interne applicaties van een werkend prototype naar een veilige uitrol in Kubernetes: containerisatie, CI met gepinde builders, veilige databasemigraties, healthchecks, sleutelrotatie en een overbrugging die zichzelf opruimt.

DockerKubernetesGitLab CIBuildahNode.jsTypeScriptPostgreSQLDevOps
Lees project →

Redis in productie migreren met nul seconden downtime

Een productie-Redis met Sentinel overgezet naar een nieuwe release met een geharde image, ACL's per applicatie en een nieuwe chart. Naast de oude uitgerold, in twee rondes gemigreerd, en de volgorde aangepast omdat de secrets-manager zelf de enige gebruiker was.

RedisSentinelKubernetesHelmFluxInfisicalTrivyMigratie
Lees project →

1,6 miljard auditregels terughalen uit S3, met bewijs dat er niets mist

Een gearchiveerde audittabel per jaar opgeslagen in versleutelde S3-opslag, met manifests en checksums, en een herstelkit die hem als Job in Kubernetes terugzet. Plus de query-valkuil die het verschil maakt tussen seconden en uren.

PostgreSQLKubernetesS3rcloneArchiveringAudit
Lees project →

Homelab setup

Een homelab met Proxmox, ZFS, PostgreSQL met Patroni, lokale AI op een RTX 3060 (35B-model met MoE expert-offload, 40 tokens/s), Jellyfin en een Pi-edge met DNS, VPN en reverse proxy.

ProxmoxZFSNFSRaspberry PiWireGuardDockerPostgreSQLPatroniPrometheusGrafanaLokiAnsibleGitea Actionsllama.cppJellyfin
Lees project →

Toegangsbeheer uit Excel: een Django-app voor medewerkers, rechten en audits

Een interne webapplicatie die Excel-formulieren voor in-, door- en uitstroom vervangt: medewerkers, service accounts, rollen, systemen, rechten en assets op één plek, met een auditspoor voor changemanagement en versleutelde documentopslag.

DjangoPythonPostgreSQLDockerKubernetesS3EncryptieSecurity
Lees project →

PoC: een publieke statuspagina die geen interne details lekt

Een eigen statuspagina voor klanten, gevoed door Prometheus en Alertmanager, die alleen gesaniteerde status publiceert. Met beheer voor incidenten en onderhoud, een auditlog, en een GitOps-pipeline die de image-tag zelf terugschrijft.

PoCDjangoPrometheusAlertmanagerGitOpsFluxKubernetesTrivy
Lees project →