AsterionDocumentation v0.4.1

Database

The MariaDB schema of Polaris: areas, tables, columns and foreign keys — generated from the migrated database of this release.

Polaris keeps everything in one MariaDB database (utf8mb4). The schema is created and upgraded by Laravel migrations when the web container starts. Each area below has a diagram with every column and the foreign keys inside the area; dashed boxes are tables of other areas.

Areas of the database and the number of foreign keys between them.
Areas of the database and the number of foreign keys between them.

Conventions

  • Every table has an id primary key and, where useful, created_at / updated_at.
  • tenant_id scopes data to a tenant. Satellites and notification channels with tenant_id null are global.
  • Columns ending in ? in the diagrams are nullable. JSON columns appear as longtext (MariaDB stores JSON as text with a check).
  • Secrets are encrypted with APP_KEY in the application before they reach the database: satellite secrets, TOTP secrets and recovery codes, notification channel settings, the system mail password.
  • Deleting a tenant, host or satellite cascades to its dependent rows (see on delete per column).
Tenants, users and settings Tenants, users and settings: tables and foreign keys. Dashed lines lead to tables of other areas. tenants Mandators. Every host, plan, … Satellites Satellites: tables and foreign keys. Dashed lines lead to tables of other areas. satellites Pulsar satellites: tenant (null = global), … Targets, hosts and services Targets, hosts and services: tables and foreign keys. Dashed lines lead to tables of other areas. groups Tree of groups per tenant … Test plans and runs Test plans and runs: tables and foreign keys. Dashed lines lead to tables of other areas. test_plans One check with its options … Certificates Certificates: tables and foreign keys. Dashed lines lead to tables of other areas. certificates Every certificate once, by SHA-256: PEM, … Domains and DNS Domains and DNS: tables and foreign keys. Dashed lines lead to tables of other areas. domains Zones you monitor and domains discovered from … IP registry and routing IP registry and routing: tables and foreign keys. Dashed lines lead to tables of other areas. ip_enrichments Per public IP: announced … Findings and exposure policy Findings and exposure policy: tables and foreign keys. Dashed lines lead to tables of other areas. findings Problems the analyzers found … Notifications and reports Notifications and reports: tables and foreign keys. Dashed lines lead to tables of other areas. notification_channels SMTP or ntfy channels … Framework tables Framework tables (Laravel): tables and foreign keys. Dashed lines lead to tables of other areas. cache Laravel cache in the database, also …