checkId: check.storage.evidencelocker plugin: stellaops.doctor.storage severity: fail tags: [storage, evidence, write, permissions]

Evidence Locker Write Access

This Doctor check helps operators confirm that Stella Ops can write to the evidence locker with verifiable integrity, so policy-gated releases can always produce the attestations and audit trails they depend on.

What It Checks

Verifies evidence locker write permissions and performance. The check:

The check only runs when an evidence locker path is configured. When gated self-healing is explicitly enabled, Doctor can offer the non-destructive heal.storage.evidence-locker-directory.create action to create the configured directory idempotently. Auto-execution remains off by default and is subject to the Doctor remediation gate.

Why It Matters

The evidence locker stores cryptographically signed release evidence – attestations, SBOM snapshots, policy evaluation results, and audit trails. If the locker is not writable, releases cannot produce verifiable evidence, blocking policy-gated promotions and breaking auditability guarantees. This is a severity-fail check because evidence integrity is a core platform invariant.

Common Causes

How to Fix

Docker Compose

environment:
  EvidenceLocker__Path: "/var/lib/stellaops/evidence"
volumes:
  - evidence-data:/var/lib/stellaops/evidence
# Check permissions inside container
docker exec <platform-container> ls -la /var/lib/stellaops/evidence

# Fix permissions
docker exec <platform-container> chown -R stellaops:stellaops /var/lib/stellaops/evidence

Bare Metal / systemd

# Create directory
mkdir -p /var/lib/stellaops/evidence

# Set ownership and permissions
chown -R stellaops:stellaops /var/lib/stellaops/evidence
chmod 750 /var/lib/stellaops/evidence

# Check disk space
df -h /var/lib/stellaops/evidence

# Check mount status
mount | grep $(df --output=source /var/lib/stellaops/evidence | tail -1)

Kubernetes / Helm

evidenceLocker:
  path: "/var/lib/stellaops/evidence"
  persistence:
    enabled: true
    size: 50Gi
    storageClass: "fast-ssd"  # use fast storage to avoid latency warnings

Verification

stella doctor run --check check.storage.evidencelocker