Odoo-moduler för att hantera SaltStack-infrastruktur. Repot innehåller flera oberoende Odoo-moduler; varje modul ligger i en egen undermapp.
| Modul | Katalog | Beskrivning | Beroenden |
|---|---|---|---|
| saltstack | saltstack/ |
Basmodul: minion-register, pillar-ankare, felinjektion, inställningar | base, mail |
| saltstack_ai | saltstack_ai/ |
AI-brygga: SaltAPI-klient, tools, skills | saltstack, ai_agent_core, mail |
| saltstack_zabbix | saltstack_zabbix/ |
Zabbix-anslutning: settings + test-knapp | saltstack_ai |
| saltstack_wazuh | saltstack_wazuh/ |
Wazuh/SIEM-anslutning: settings + test-knapp | saltstack_ai |
| saltstack_zabbix_keykeep | saltstack_zabbix_keykeep/ |
Keykeep Managed för Zabbix | saltstack_zabbix, keykeep |
| saltstack_wazuh_keykeep | saltstack_wazuh_keykeep/ |
Keykeep Managed för Wazuh | saltstack_wazuh, keykeep |
| saltstack_keykeep | saltstack_keykeep/ |
Synka pillar-hemligheter till Keykeep | saltstack, keykeep |
| saltstack_helpdesk | saltstack_helpdesk/ |
Skapa helpdesk-ärenden från incidenter | saltstack_ai, helpdesk_mgmt |
| saltstack_maintenance | saltstack_maintenance/ |
Notifiera underhållssystem | saltstack_ai, base_maintenance |
| saltstack_managementsystem | saltstack_managementsystem/ |
Dokumentera avvikelser som nonconformity | saltstack_ai, mgmtsystem_nonconformity |
Lägg repot i Odoos addons_path — ingen symlink behövs:
# /etc/odoo/odoo.conf
addons_path = /usr/share/odoo-saltstack, ...Uppdatera sedan modulerna:
sudo checkmodule -d <db> -m saltstack # basmodul
sudo checkmodule -d <db> -m saltstack_ai # AI-bryggaSe saltstack/README.md för full dokumentation.
Menyer:
SaltStack
├── Pillars (synk med Salt Master)
├── Minions (synk med Salt Master)
└── Konfiguration (sista menyvalet)
└── Inställningar (första menyvalet — SaltStack-settings)
Felinjektion (server actions på minion, admin only):
- 🛑 Stoppa Odoo
- 💾 Simulera disk full (växande loggfil)
- 🚨 Simulera Wazuh-säkerhetshot (brute force i auth.log)
- 🧹 Rensa felinjektioner
End-to-end-simulering (server actions på minion, admin only):
- 🧪 Simulera full larmkedja (stoppa odoo) — injicerar felet, bygger
webhook-payload, anropar
/saltstack/alertinternt, startar AI-diagnos - 🧪 Simulera full larmkedja (disk full)
- 🧪 Simulera full larmkedja (Wazuh brute-force)
När ett larm kommer in via /saltstack/alert startar Infrastructure Operator
coworkern en diagnos. Denna ändring (2026-08-12) tillförde:
- Chatter/writeback — diagnosstart, resultat och åtgärd postas på
saltstack.alert-posten (via mail.thread), sammanfattning på den berördasalt.minion-posten (med klickbar länk till alerten), och åtgärdsplan i Driftlarm-kanalen vid severity ≥ 12. - Auto-fix-taxonomi i diagnos-prompten: säkra fel åtgärdas automatiskt (odoo/postfix/dovecot nere → starta tjänsten, grow.log + disk > 85 % → ta bort filen, Caddy 502 → kolla upstream först, sedan reload, PostgreSQL nere på replica → starta, ALDRIG primary). Övriga (OOM, CPU-spikar) dokumenteras bara → helpdesk-ticket/nonconformity.
- Odoo ORM-verktyg från ai_agent_core (
describe_model,odoo_search,odoo_write,odoo_call_method,odoo_create,odoo_unlink,okf_search) är tilldelade Infrastructure Operator — AI:n kan svara på frågor som "Hur många minioner kör Odoo 18?" och skriva tillbaka på poster. - Zabbix Troubleshooting-skill (5-stegs metodik: problem → trigger → item-historik → korrelation → Salt-mappning) bunden till coworkern.
- Helpdesk/nonconformity-verktyg (
create_helpdesk_ticketi saltstack_helpdesk,document_nonconformityi saltstack_managementsystem) binds till coworkern när respektive modul installeras.
Tester: saltstack/tests/test_salt_alert.py (chatter, prompt, simulering)
saltstack_ai/tests/test_tool_access.py(ORM-tools, skills).
sudo checkmodule -d ledningssystem -m saltstack,saltstack_ai -t- Rena Odoo-repon — varje modul i egen undermapp, addons_path direkt mot repot
- Inga symlinks i Odoo-repon
- Inga pip-install i Odoo-repon — använd
--break-system-packagespå Ubuntu 24.04+ vid behov, aldrig i repo:t - Alla hemligheter i pillar/keykeep, aldrig i kod
Proposals och specar ligger i openspec/:
openspec list --jsonAGPL-3 — Copyright (C) 2026 Vertel Sverige AB