ARGOS SOC — Installer e Web Setup Wizard
Go to file
tecnotel a68324725f feat(setup): Ubuntu 26.04 LTS support + cert autofirmato + 3 file .example
Modifiche di compatibilita' e miglioramenti UX dopo analisi del 12/05/26
del codice argos main repo vs argos-setup.

1. Multi-version Ubuntu (24.04 e 26.04 LTS):
   - first-setup.sh: SUPPORTED_VERSIONS array per check
   - Aggiunto openssl esplicito alle dipendenze apt
   - README aggiornato con compatibility matrix
   - ARGOS code (Python 3.14-ready: no distutils/imp/pkg_resources)
     gia' compatibile, requirements.txt pin gia' build 2026

2. Certificato SSL autofirmato come 3a opzione:
   - UI: bottone '🔐 Autofirmato' nel Tab Rete & SSL
   - Backend: openssl req -x509 -newkey rsa:4096 -days 3650
   - SAN dinamica: tutti i DNS (hostname + aliases) + IP server
   - Subject: C=IT, O=<cliente_full>, OU=ARGOS SOC, CN=<hostname>
   - Warning UI prominente sulla non-attendibilita' browser
   - Utile per installazioni LAN/dev senza DNS pubblico

3. Rimozione campi M365:
   - sp_tenant (SharePoint tenant) rimosso da Tab Cliente
   - sharepoint_tenant non piu' nel argos.json generato
   - M365/Entra ID configurabile dall'UI Integrazioni post-install

4. Textarea ai_context opzionale nel Tab Cliente:
   - Iniettato nei prompt AI per contestualizzare il cliente
   - Hint con esempio ASREM
   - Salvato in argos.json -> cliente.ai_context (letto da config.py)

5. Copia di 3 file .example che il setup non gestiva:
   - automations.json (config feed TI sources + cron daemon)
   - siem_integrations.json (catalogo SIEM Integration Builder)
   - subnet_registry.json (mapping sede/reparto da subnet)
   Necessari dopo i lavori marzo-maggio 2026.

6. Rimozione gen_config.py legacy:
   - Schema obsoleto (manca ai_context, console_url, network,
     vendor_heartbeat)
   - Non piu' richiamato da nessuno (verificato con grep)
   - Sostituito completamente da setup_server.py inline

7. README aggiornato:
   - Sezione 'Opzioni certificato SSL' con 3 modalita'
   - Requisiti: Ubuntu 24.04 LTS o 26.04 LTS
   - Tab 2 menziona contesto AI opzionale
2026-05-12 11:20:37 +02:00
.gitignore feat(phase6): wizard licenza + bootstrap one-liner 2026-04-20 14:27:10 +02:00
README.md feat(setup): Ubuntu 26.04 LTS support + cert autofirmato + 3 file .example 2026-05-12 11:20:37 +02:00
bootstrap.sh feat(phase6): wizard licenza + bootstrap one-liner 2026-04-20 14:27:10 +02:00
first-setup.sh feat(setup): Ubuntu 26.04 LTS support + cert autofirmato + 3 file .example 2026-05-12 11:20:37 +02:00
gen_config.py chore: initial commit 2026-04-20 10:28:40 +02:00
setup.html feat(setup): Ubuntu 26.04 LTS support + cert autofirmato + 3 file .example 2026-05-12 11:20:37 +02:00
setup_server.py feat(setup): Ubuntu 26.04 LTS support + cert autofirmato + 3 file .example 2026-05-12 11:20:37 +02:00

README.md

ARGOS SOC — Setup & Installer

Tecnotel Servizi SRL — www.tecnotelsrl.com

Repository pubblico contenente l'installer di prima fase e il Web Setup Wizard di ARGOS SOC.

Installazione rapida (one-liner)

Su una macchina Ubuntu 24.04 o 26.04 LTS vergine, esegui:

curl -fsSL https://argos-update.tecnotelsrl.com/tecnotel/argos-setup/raw/branch/main/bootstrap.sh | sudo bash

Il bootstrap scaricherà il repository e avvierà first-setup.sh.

Installazione manuale

Se preferisci eseguire gli step separatamente:

sudo apt update && sudo apt install -y git
git clone https://argos-update.tecnotelsrl.com/tecnotel/argos-setup.git /opt/argos-setup-pkg
cd /opt/argos-setup-pkg
sudo bash first-setup.sh

Contenuto

File Scopo
bootstrap.sh One-liner installer: scarica il repo e avvia first-setup.sh
first-setup.sh Installer ambiente base: sistema, utenti, firewall, nginx temp, avvia wizard web
setup_server.py Backend Python del Web Installer (porta 8888, self-contained)
setup.html Frontend del Web Installer — wizard in 6 step

Flusso d'installazione

  1. Il cliente esegue il bootstrap (o il clone manuale + first-setup.sh).
  2. first-setup.sh predispone l'ambiente base Ubuntu (pacchetti, utente argos, cartelle, firewall) e avvia il Web Installer su http://IP:8888.
  3. Il cliente apre il browser e segue il wizard in 6 step:
    1. Licenza ARGOS — il wizard mostra il machine_id di questo server. Il cliente lo invia a Tecnotel, riceve license.json, lo carica nel wizard.
    2. Informazioni cliente (nome, dominio, logo, contesto AI opzionale)
    3. Rete & SSL (hostname, certificato: Let's Encrypt / caricamento / autofirmato)
    4. SIEM (OpenSearch)
    5. Utente admin
    6. Riepilogo & Installazione — il wizard clona il repository privato tecnotel/argos usando il token della licenza, crea virtualenv, configura servizi e avvia ARGOS SOC.

Al termine il Web Installer viene disattivato automaticamente e la porta 8888 chiusa.

Opzioni certificato SSL

Il wizard offre tre modalità per il certificato:

  • 🔒 Let's Encrypt — automatico e gratuito. Richiede DNS pubblico già puntato al server.
  • 📄 Certificato esistente — caricamento di file .crt e .key esistenti (es. cert wildcard aziendale, cert di CA interna).
  • 🔐 Autofirmato — generato localmente con RSA 4096 e validità 10 anni. Utile per installazioni in LAN / dev / ambienti isolati senza DNS pubblico. ⚠️ I browser segnaleranno il certificato come non attendibile.

Requisiti

  • Ubuntu 24.04 LTS o 26.04 LTS (verificato dallo script)
  • Accesso root (sudo)
  • Connessione internet verso argos-update.tecnotelsrl.com
  • Una licenza ARGOS valida emessa da Tecnotel per il machine_id del server

Repository correlati

  • tecnotel/argos — codice runtime di ARGOS SOC (privato, accessibile solo con licenza).

Versioning

Questo repository segue lo stesso schema di versioning di argos (SemVer tag vX.Y.Z).