fix: no self-hosted ANIS model, license key is dashboard-only, remove dead ANIS_SHARE_ATTACKERS

Three corrections, driven by explicit product decisions plus code
verification:

- There is no self-hosted-ANIS deployment model going forward. ANIS_URL
  is now hardcoded to https://anis.weboria.eu in docker-compose.yml, not
  a customer-configurable env var -- removed from env.example and the
  README entirely.
- The ANIS license key is dashboard-only (Threat Intel -> ANIS
  Connection, write-only there per the earlier security fix) -- never
  set via .env. ANIS_LICENSE_KEY hardcoded to an empty string in
  docker-compose.yml (community tier by default) rather than left as a
  pass-through env var with no real path to ever being set.
- Removed ANIS_SHARE_ATTACKERS -- confirmed dead via grep, zero
  references anywhere in the Go source. This was incorrectly kept as
  "real" in the previous env.example cleanup pass; ROADMAP.md in the
  appliance repo already documented this exact variable as dead.

ANIS_ENABLED remains the one real customer-facing ANIS toggle.
This commit is contained in:
2026-07-25 17:16:57 +00:00
parent db132c9f92
commit 4dbb7613d9
3 changed files with 27 additions and 26 deletions
+13 -10
View File
@@ -123,16 +123,19 @@ services:
API_HOST_PORT: ${API_HOST_PORT:-9080}
API_HOST: ${API_HOST:-}
# ANIS community intelligence — on by default against the public
# Community Edition hub (empty license key = community tier, no signup
# required). These three only matter on first boot; manage the
# connection afterward from Threat Intel -> ANIS Connection in the
# dashboard. (No ANIS_ADMIN_KEY here: it's ANIS's own admin-dashboard
# credential, unrelated to the ARGUS<->ANIS protocol, which ARGUS never
# sends — a prior version of this file carried it by mistake.)
ANIS_ENABLED: ${ANIS_ENABLED:-true}
ANIS_URL: ${ANIS_URL:-https://anis.weboria.eu}
ANIS_LICENSE_KEY: ${ANIS_LICENSE_KEY:-}
ANIS_SHARE_ATTACKERS: ${ANIS_SHARE_ATTACKERS:-false}
# Community Edition hub (community tier, no signup required). There is
# no self-hosted-ANIS deployment model: the URL is fixed, not
# customer-configurable. A license key upgrades the tier, but is only
# ever set from Threat Intel -> ANIS Connection in the dashboard
# (write-only there — never round-trips back to the client), not from
# this file, so it's seeded empty (community tier) here.
# (No ANIS_ADMIN_KEY or ANIS_SHARE_ATTACKERS here: both confirmed dead
# via grep, zero references anywhere in internal/config.go or the ANIS
# client. A prior version of this file carried ANIS_ADMIN_KEY and
# falsely claimed ARGUS "fails closed at startup" without it.)
ANIS_ENABLED: ${ANIS_ENABLED:-true}
ANIS_URL: https://anis.weboria.eu
ANIS_LICENSE_KEY: ""
DNS_SECURITY_LISTEN_ADDR: ":53"
ports:
- "127.0.0.1:${API_HOST_PORT:-9080}:8080"