Files
git.stella-ops.org/docs/23_FAQ_MATRIX.md

7.6 KiB
Raw Permalink Blame History

#23 · FAQ Matrix —StellaOps 

#FAQ & Support Matrix

A living list of the questions we get every day, plus a compact matrix of what is SupportedNow, InPreview, and OntheRoadmap (TODO).


##0QuickLegend

Mark Meaning
Fully supported in the current release
🅿️ Preview / optin behind a feature flag
🛠 Planned in the 6month roadmap (Feature Matrix “TODO”)
🚧 Longerterm; 912month horizon or beyond

##1General

# Question ShortAnswer Status
G1 Why launch another DevSecOps product? Existing scanners are either SaaSonly, slow, or lack offline & Russian language feeds. StellaOps focuses on speed(<5s), modularity, airgap friendliness, and an AGPL codebase that enterprises can extend inhouse.
G2 What tech stack? Backend .NET 9 + Redis; runners are OCI images (Trivy, Syft, Grype). UI Angular17.
G3 License? AGPLv3 for all core repos; plugins inherit if linked.
G4 Where do I report bugs? Open an issue in git.stella-ops.ru/stella/core or ping #stella-ops on Matrix.

##2Installation & Upgrades

# Question Answer Status
I1 How do I pull agent images now? All official images are in the anonymous readonly registry registry.git.stella-ops.ru. No auth token required for pull. (new)
I2 Can I still use GHCR? Images remain mirrored for convenience but are not signed; internal registry is the source of truth.
I3 How to upgrade from ≤v0.8? Regenerate dockercompose.yml with the bootstrap script; volumes remain intact. Import legacy muterules via /policy/import.
I4 Helm charts? K8s Helm chart is under deploy/helm; undefaulted (requires values.yaml). 🅿️

##3SBOM & Scanning

# Question ShortAnswer Status
--- ---------- ------------- --------
S1 Why exactly 333 scans? Covers p95 workload of SMBs (~290 builds/day) while keeping infra costs <$5/mo per user and nudging larger orgs toward Plus/Pro.
S2 How is the limit technically enforced? Each /scan request carries a ClientJWT. The Quota plugin atomically increments quota:<token>:<date> in Redis. Soft (5s) and hard (60s) waitwalls ensure fair use.
S3 What if my site is fully offline? Every OUK tarball contains a fresh ClientJWT valid 30days. Uploading the OUK refreshes the token automatically; no Internet required.
S4 Can I pool multiple tokens? Yes, but each token has its own 333/day budget. Use distinct tokens per CI line if you need more throughput.
S5 Does quota enforcement affect performance? No. Legitimate scans still complete in <5s; blocked scans incur only their specified waitwall.
S6 Which SBOM formats does Stella emit? Builtin: trivy-json-v2, spdx-json, cyclonedx-json.
S7 What is ΔSBOM and how fast is it? Uploads only new layers; P951s on cached bases.
S8 Windows container scanning? Runner binaries compile on Windows, but layerunpack path is unoptimised; full support 🚧. 🚧

##4PolicyasCode

# Question Answer Status
P1 How are mutes & blocks stored now? Default: YAML (scan-policy.yaml) in Mongo (versioned). Import / export via /policy/{import,export} or Settings → Policies.
P2 Why YAML over OPA? YAML lowers entry barrier; advanced users may embed Rego snippets. Firstclass Rego evaluation is 🛠. 🛠
P3 CLI enforcement? Pass --policy-file path plus --enforce to fail builds on violations. Exitcode reflects policy gate.
P4 Audit history? Every policy change writes an immutable record (audit_policies collection) and appears in UI History tab.

##5Registry & Offline Use

# Question Answer Status
R1 Is the internal registry mandatory? No, but recommended for sovereignty & signature verification (cosign verify).
R2 How to mirror for OUK? oras pull registry.git.stella-ops.ru/library/* --output ./ouk-bundle → import on the target via ctr images import.
R3 Does the backend fetch external feeds? Only when --feeds.auto=1; OUK installs run fully offline with NVD packed in the tarball.

##6Performance

# Scenario Target Achieved (July2025)
Local SBOM scan (alpine) 5s 4.2s P95
ΔSBOM warm base 1s 0.8s P95
Image unpack (200MB) 10s 8.6s P95

Numbers measured on 4vCPU / 8GB Ubuntu22.04 runner.


##7Security & Compliance

# Question Answer Status
C1 How are images signed? Cosign signatures pushed alongside each tag (*.sig). Santech verifies on pull.
C2 Supplychain attestation (SLSA)? SLSAgen at build time and verification in runner is 🛠 (≤6months). 🛠
C3 Rekor transparency log? Local Rekor mirror for offline installs is 🚧 (912months). 🚧
C4 TLS ciphers? Default OpenSSL suites; plugin allows GOST/SM (via ITlsProvider).

##8Roadmap / FutureFeatures

Area Feature ETA Notes
UI Modular route plugins Q12026 Dynamic Angular module loader
SBOM Multiarch ΔSBOM Q12026 Layer digest per arch
Policy Rego native engine Q12026 opa eval inproc
Supply chain SLSA provenance Q12026 Level 3 target
Integrity Rekor mirror Q22026 Airgap friendly
Ecosystem Community plugin market Q22026 Curated index in UI
Scale Redis Cluster autoshard Q32026 Transparent failover

##9Troubleshooting

Symptom Likely Cause Fix
ER_BAD_SV error on scan SBOM format flag mismatch Set correct --sbom-type or let autodetect.
ΔSBOM still uploads full SBOM Cache cold or digest mismatch Check docker history shows reused layers; bump builder version.
“Policy file invalid” YAML schema error Run /policy/validate endpoint; lint with VS Code schema.
Pull fails with 401 Corporate proxy intercepts registry Mirror to onpremise Harbor; set --registry flag.

##10Licensing & Community

# Question Answer
L1 Can I build a commercial fork? AGPL allows commercial services but derivatives must remain AGPL if distributed.
L2 Commercial support? Community only today; paid support partners in discussion.
L3 How to contribute a plugin? Fork → implement DI contract (IScannerRunner, etc.) → PR + ADR.

##11Change Log

Date Highlights
20250714 Added internal registry, multiformat SBOM, ΔSBOM, PolicyasCode, updated roadmap (SLSA/Rekor)
20250630 Initial public FAQ matrix

(End of FAQ Matrix v2.0)