Concelier Astra Linux Connector — Operations Runbook

Last updated: 2026-05-10

Audience: Stella Ops operators running the Concelier Astra Linux connector.

1. Overview

The Astra Linux connector ingests official Astra OVAL XML definitions into Concelier canonical advisories. The connector is production-wired, but the source catalog remains disabled by default for export-control/operator approval reasons. Operators must explicitly enable the astra source before any public or local mirror payloads are ingested.

Host reachability evidence in docs/qa/feature-checks/runs/2026-05-09-host-connectivity-aggregation/REPORT.md shows both current x86-64 feeds respond to ranged reads with HTTP 206 and application/xml:

Do not commit downloaded OVAL payloads into the repository. Feed payloads are large and upstream redistribution terms have not been reviewed for vendoring. Air-gapped deployments should stage operator-managed XML or ZIP payloads outside the repo and retain transfer/provenance metadata with the deployment evidence.

1.1 Data Source

1.2 Default Gate

The migration seed keeps the source row disabled:

UPDATE vuln.sources SET enabled = true WHERE key = 'astra';

Only run that change after the jurisdiction/export-control decision is approved. Local seed fallback does not bypass this source-level gate.

2. Configuration

concelier:
  sources:
    astra:
      bulletinBaseUri: "https://astra.ru/en/support/security-bulletins/"
      ovalRepositoryUri: "https://download.astralinux.ru/astra/oval/"
      ovalFeedUris:
        - "https://download.astralinux.ru/astra/oval/1.7_x86-64/oval-definitions-alse-1.7.xml"
        - "https://download.astralinux.ru/astra/oval/1.8_x86-64/oval-definitions-alse-1.8.xml"
      maxDefinitionsPerFetch: 100
      requestTimeout: "00:02:00"
      failureBackoff: "00:15:00"
      offlineSeedEnabled: false
      offlineSeedPath: null
      offlineSeedOperatorChecked: false
OptionDefaultDescription
ovalRepositoryUrihttps://download.astralinux.ru/astra/oval/Base URL for current Astra OVAL downloads.
ovalFeedUris1.7 and 1.8 x86-64 XML feedsConcrete feeds fetched by the connector.
maxDefinitionsPerFetch100Per-payload cap; definitions beyond the cap are logged as dropped by cap.
offlineSeedEnabledfalseExplicit operator approval to use local mirror/offline payload fallback.
offlineSeedPathnullRaw .xml, .zip, or directory containing XML/ZIP payloads.
offlineSeedOperatorCheckedfalseMarks local payloads as operator_checked_mirror; otherwise they are mirror_unverified.
offlineCachePathnullLegacy alias for offlineSeedPath; still requires offlineSeedEnabled=true.

3. Ingestion Behavior

  1. Fetch configured official ovalFeedUris.
  2. Parse OVAL definitions and preserve inline Astra package comments such as libfoo DPKG is earlier than 1.2.3-1+astra4.
  3. Map definitions to canonical advisories with Debian EVR version ranges.
  4. Persist the OVAL XML source document and advisory provenance.
  5. If any official feed fails and offlineSeedEnabled=true, read the operator-managed seed path as fallback.

Seed fallback accepts:

4. Provenance and Trust Metadata

Every retained source document includes Astra-specific metadata:

Canonical advisory provenance carries the same decision reason so downstream evidence can distinguish direct official fetches from operator-managed mirror/offline payloads.

5. Diagnostics

Fetch logs include per-feed and summary counters:

These counters make cap drops, invalid ZIP entries, duplicate seed entries, and parse failures visible without requiring direct database inspection.

6. Common Failure Modes

SymptomCauseResolution
Source produces no rowsvuln.sources.enabled=falseConfirm operator approval, then enable the astra source.
Official fetch timeoutLarge OVAL file or restricted networkIncrease requestTimeout or stage an approved local seed.
Local seed ignoredofflineSeedEnabled=falseSet offlineSeedEnabled=true after approval.
Local seed trust is mirror_unverifiedOperator did not mark the seed checkedSet offlineSeedOperatorChecked=true only after verifying the mirror/transfer record.
OvalParseExceptionMalformed or non-OVAL XMLReplace the seed payload and keep the failed digest for incident review.