Warda-DNSDocs Warda: from ward — to protect, guardian
v0.6.9

Business → Sites (business.sites, Warda Business, beta; internal/admin/orgsites.go): the boxes of distant sites (behind NAT, no port to open) gathered in an organisation, relayed by the online service of Warda (see cloud). The box that creates it is the Manager: it sees the state of every site. Phase 1 (0.6.8) enrols and removes boxes and shows their state; the actions on the sites come next.

  • Create an organisation (with the Name of this site, "Head office"): this box becomes the manager, and gets a code to join WS-XXXX-XXXX, valid 24 hours, for one box (Add a box, Make a new code).
  • On each other box, Join an organisation: the Code and the name of its site ("Lille branch", 1 to 64 characters). A box is in one organisation at most.
  • Every member (the manager too) sends its state every 15 minutes (task sites.status), and at once after joining or with Send the state now: name, version, uptime, health (ok, warn when a list could not be downloaded, bad when the DNS does not listen), queries and blocks of the last 24 hours, alerts open, devices, protection (on, paused) and whether an update is available. Counts only: never a name asked, a device or a person.
  • The manager sees the Sites: health (Good, To check, Failing), version, last state, queries and blocked (24 h), alerts, devices, protection, updates, and Remove for each site (the box learns it at its next state and goes on working on its own).
  • Leave the organisation (a site), Delete the organisation (the manager: every site goes on working on its own).
  • A box that no longer knows its organisation while the online service still counts it in one (a backup made before it joined restored): the join is refused ("The online service of Warda still counts this box in an organisation this box no longer knows …") and the page offers Leave it, then join (confirmed; when the box was the manager of that organisation, the organisation is deleted with every site).
  • The membership (and the key of the box at the online service) goes with the backups. The administration log records sites.create, sites.code, sites.join, sites.remove, sites.leave and sites.removed (removed by the manager).

Limits during the beta: 50 sites per organisation. The page says what comes next: give the rules and the policies of the company to every site, update every site at once, and the reports of every site gathered (see the design note).

APIs (administrators, system): GET /api/v1/business/sites (available, member, org, role manager/site, name, joined, last_status, last_error, code, code_expires — the code only for the accounts that change the system —, and for the manager sites — id, name, role, joined, last_seen, status, self — or list_error); POST /api/v1/business/sites/org {"name": "Head office"} (create, or a new code); POST /api/v1/business/sites/join {"code": "WS-…", "name": "Lille branch"} (409 with "leave_first": true when the online service still counts the box in an organisation); POST /api/v1/business/sites/status (send now); DELETE /api/v1/business/sites/{id} (remove a site, manager); DELETE /api/v1/business/sites (leave; the manager deletes the organisation; without a membership known here, the box is taken out of the organisation the online service may still count it in, done when it counts it in none, audit sites.leave). 409 without the online service ("The online service of Warda is not set on this installation: the sites need it.").