Arkeep: backup, inventario e gestione dell’infrastruttura in un’unica piattaforma open

Arkeep

Gestire più server può diventare rapidamente complicato. Macchine fisiche, macchine virtuali, container Docker e servizi distribuiti richiedono spesso strumenti diversi per eseguire backup, controllare lo stato dei sistemi, pianificare aggiornamenti e intervenire in caso di guasti.

Arkeep affronta questo problema con una piattaforma open source basata su un’architettura server/agent. L’idea è quella di installare un server centrale una sola volta e distribuire agent leggeri sulle macchine da amministrare. Da una singola interfaccia web è così possibile avere una panoramica dell’infrastruttura e coordinare diverse operazioni.

Alla base del progetto c’è una filosofia precisa: il backup deve essere verificato prima di intervenire su sistemi e servizi. Inventario, aggiornamenti e procedure di recupero ruotano quindi attorno alla possibilità di sapere se esiste una copia dei dati effettivamente utilizzabile.

Backup centralizzati e gestione di server, VM e container

Arkeep può essere utilizzato per amministrare infrastrutture composte da server tradizionali, sistemi bare metal, macchine virtuali e container. Il pannello centrale permette di tenere sotto controllo le operazioni senza dover accedere separatamente a ogni macchina.

Il progetto sfrutta Restic per la gestione dei backup e Rclone per il collegamento con differenti destinazioni di archiviazione. Questa scelta offre un vantaggio importante: i dati non dipendono da un formato proprietario o da un servizio specifico.

Anche senza utilizzare il server centrale di Arkeep, le copie di sicurezza rimangono accessibili attraverso gli strumenti sui quali la piattaforma è costruita. Per chi vuole evitare il vendor lock-in, questo rappresenta uno degli aspetti più interessanti del progetto.

Tra le funzionalità principali troviamo:

  • gestione centralizzata di server, container, VM e sistemi bare metal;
  • rilevamento automatico di container e volumi Docker;
  • supporto per più destinazioni di backup secondo la strategia 3-2-1;
  • cifratura dei backup lato client;
  • inventario delle macchine amministrate;
  • orchestrazione degli aggiornamenti;
  • avvisi e pianificazione delle operazioni;
  • registrazione delle attività tramite audit trail;
  • log e aggiornamenti sullo stato delle operazioni in tempo reale;
  • autenticazione tramite provider compatibili con OIDC, tra cui Zitadel, Keycloak e Authentik.

L’integrazione con Docker è pensata per adattarsi automaticamente alle modifiche dell’infrastruttura. L’aggiunta o la rimozione di servizi e container può quindi essere rilevata senza richiedere il riavvio della piattaforma.

Particolare attenzione viene dedicata alle operazioni potenzialmente rischiose. Prima di modificare un sistema, Arkeep può verificare la presenza di un backup considerato valido e, in base alla situazione, avvisare l’amministratore oppure impedire l’operazione.

Architettura server-agent, API e interfaccia web

Dal punto di vista tecnico, Arkeep utilizza un’architettura composta da un server centrale e da agent installati sulle macchine da proteggere o amministrare.

Il server espone una REST API utilizzata dall’interfaccia grafica sulla porta 8080 e un servizio gRPC dedicato alla comunicazione con gli agent sulla porta 9090. Si occupa inoltre della pianificazione dei processi, delle notifiche e della gestione dello stato generale della piattaforma.

Le informazioni possono essere archiviate utilizzando SQLite, soluzione prevista come impostazione predefinita, oppure PostgreSQL per installazioni che richiedono un database differente.

Un aspetto interessante riguarda il funzionamento degli agent. Ogni agent stabilisce una connessione gRPC persistente in uscita verso il server e non rimane in ascolto su porte locali. Questa impostazione può semplificare la gestione di macchine collocate dietro NAT, firewall aziendali o reti dove non è pratico aprire ulteriori porte in ingresso.

La comunicazione utilizza un limite massimo di 16 MB per messaggio RPC, applicato sia dal server sia dagli agent. Gli agent inviano inoltre segnali di keepalive ogni 30 secondi, con un timeout di 10 secondi, così da individuare rapidamente eventuali connessioni non più valide.

L’interfaccia grafica è realizzata come PWA con Vue 3 ed è distribuita direttamente dal server sotto forma di file statici incorporati. Non è quindi necessario predisporre un web server separato soltanto per utilizzare il pannello di gestione.

Arkeep si rivolge soprattutto a chi gestisce più sistemi Linux o infrastrutture self-hosted e desidera ridurre il numero di strumenti necessari per controllare backup, inventario, aggiornamenti e procedure di recupero. La combinazione tra gestione centralizzata, agent leggeri, cifratura lato client e tecnologie open source come Restic e Rclone rende il progetto particolarmente interessante per homelab, piccole infrastrutture professionali e ambienti dove il controllo diretto sui dati rappresenta una priorità.

Lascia un commento