Daniele
D'Annibale
Java Backend Developer · Architecture & Cloud Enthusiast
Cluster k3s interamente gestito via GitOps con Fleet + Kustomize. Stack di osservabilità completo, sicurezza Zero Trust e applicazioni custom sviluppate da zero e deployate in produzione.
Stack Tecnologico
Ogni risorsa vive in Git — nessun intervento manuale. Fleet riconcilia continuamente; Kustomize gestisce base + overlays per ambiente.
Applicazioni Deployate
Sviluppate da zero o adottate per uso personale — gestite con la stessa pipeline GitOps sul cluster.
Time-Ledger
App web per il tracciamento delle ore lavorative. Calcolo straordinari automatico, accrual ferie/ROL, dashboard con widget configurabili, panel admin multi-utente e autenticazione OIDC via Zitadel.
Curriculum Vitae
Portfolio online generato da JSON Resume, self-hosted sul cluster. Accessibile pubblicamente con theme Kendall — la stessa pipeline GitOps aggiorna il CV ad ogni push su main.
Helmsman
Lab personale di ricerca e decisione su azioni/ETF costruito su NautilusTrader. Il libro principale è un wallet buy & hold DCA a lungo orizzonte; un portafoglio momentum cross-asset come secondario. Paper-first e di sola lettura — non invia mai ordini. Dashboard FastAPI accessibile via WARP.
Fantacalcio Reminder
Bot Telegram che ricorda di schierare la formazione prima della chiusura della giornata di Serie A. Legge il calendario da football-data.org, deriva la deadline dal primo calcio d'inizio utile e avvisa un giorno prima e un'ora prima, gestendo i rinvii.
🤖 Bot Telegram: long polling, nessuna porta esposta e nessun Ingress — stato persistito su PVC.
Directus
Headless CMS e data platform open-source self-hosted su PostgreSQL. Interfaccia web (Data Studio) accessibile solo via Cloudflare WARP sulla rete interna.
Trek
App self-hosted per il tracciamento dei viaggi. Mappe interattive con Mapbox, arricchimento luoghi via Google Places API, dati meteo integrati (Open-Meteo) e autenticazione OIDC via Zitadel.
🔒 Accesso riservato — solo utenti autorizzati in Zitadel
Docling
Parsing intelligente di documenti PDF e Office con il motore open-source di IBM Research, accelerato da GPU NVIDIA. L'interfaccia è custom — un binario Go che serve insieme API e frontend Angular — scritta perché quella inclusa perdeva i documenti: sveglia il motore prima dell'upload, tiene le immagini fuori dal risultato e conserva le conversioni su disco, riscaricabili.
⚡ On-demand: il motore GPU resta a 0 repliche a riposo — la UI lo sveglia e attende che sia pronto prima di inviare il documento, così nessun upload si perde durante l'avvio. Il primissimo avvio può richiedere qualche minuto (caricamento modelli).
Stirling-PDF
Suite open-source per la manipolazione di documenti PDF. Offre oltre 50 operazioni: unione, divisione, compressione, conversione, OCR e firma digitale. Deployato per uso personale, accessibile via WARP.
⚡ On-demand: a riposo gira a 0 repliche per liberare risorse — si avvia automaticamente al primo accesso e si rispegne dopo l'inattività.
FossFlow
Editor di diagrammi open-source (draw.io) self-hosted, accessibile via Cloudflare WARP sulla rete interna. Usato per i diagrammi di architettura del cluster.
⚡ On-demand: a riposo gira a 0 repliche per liberare risorse — si avvia automaticamente al primo accesso e si rispegne dopo l'inattività.
AFFiNE
Workspace collaborativo self-hosted (documenti, whiteboard e database) in stile Notion/Miro. Stack dedicato con PostgreSQL (pgvector) e Redis. In scale-to-zero via Sablier, accessibile solo via Cloudflare WARP.
⚡ On-demand: a riposo gira a 0 repliche per liberare risorse — si avvia automaticamente al primo accesso e si rispegne dopo l'inattività.
Stato del Cluster
Metriche raccolte da node-exporter (DaemonSet) ed aggregate in Prometheus. Utilizzo medio — aggiornate ad ogni deploy.
Accesso pubblico — Cloudflare Tunnel
Prometheus · Grafana · Tempo · Loki
Stack completo sui tre pilastri: metriche, tracing distribuito e log aggregation. Alerting email via Resend con 26 regole attive.
Distributed Tracing — OpenTelemetry
Log Aggregation — Loki + Alloy
Defense in Depth
Zero porte aperte sul router, segreti cifrati in Git, container hardened e identità centralizzata — ogni livello copre il precedente.
Zero Trust Network
Cloudflare Tunnel per accesso pubblico, WARP per remoto privato. Zero porte aperte sul router.
Sealed Secrets
Segreti cifrati committati in Git. Decifrabili solo dal controller nel cluster — GitOps-safe.
Zitadel OIDC
IdP self-hosted con Code flow, JWT claims per RBAC e backend PostgreSQL dedicato.
Container Hardening
Non-root user, read-only FS, dropped ALL capabilities, no privilege escalation.
TLS Ovunque
cert-manager gestisce CA interna per LAN e Let's Encrypt via DNS-01 Cloudflare per dominio pubblico.
Cloudflare WAF
100% richieste malevole mitigate. TLS terminato in edge, DDoS protection, 0 errori 5xx origin.
Vault Obsidian
Ogni componente documentato: architettura, deployment, runbook operativi e decision log. Grafo di conoscenza interattivo navigabile da Obsidian con query Dataview live.