argos-setup/README.md

74 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

# ARGOS SOC — Setup & Installer
Tecnotel Servizi SRL — [www.tecnotelsrl.com](https://www.tecnotelsrl.com)
Repository pubblico contenente l'installer di prima fase e il Web Setup Wizard di ARGOS SOC.
## Installazione rapida (one-liner)
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
Su una macchina Ubuntu 24.04 o 26.04 LTS vergine, esegui:
```bash
curl -fsSL https://repo.argosdefense.io/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:
```bash
sudo apt update && sudo apt install -y git
git clone https://repo.argosdefense.io/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).
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
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.
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
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.
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
## 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
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
- Ubuntu **24.04 LTS** o **26.04 LTS** (verificato dallo script)
- Accesso root (sudo)
- Connessione internet verso `repo.argosdefense.io` (Gitea: codice e aggiornamenti) e `license.argosdefense.io` (vendor heartbeat e licenze)
- Una licenza ARGOS valida emessa da Tecnotel per il `machine_id` del server
## Repository correlati
- [`tecnotel/argos`](https://repo.argosdefense.io/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`).
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