- Add ConsoleSessionStore for managing console session state including tenants, profile, and token information. - Create OperatorContextService to manage operator context for orchestrator actions. - Implement OperatorMetadataInterceptor to enrich HTTP requests with operator context metadata. - Develop ConsoleProfileComponent to display user profile and session details, including tenant information and access tokens. - Add corresponding HTML and SCSS for ConsoleProfileComponent to enhance UI presentation. - Write unit tests for ConsoleProfileComponent to ensure correct rendering and functionality.
		
			
				
	
	
	
		
			6.8 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			6.8 KiB
		
	
	
	
	
	
	
	
Container Deployment Guide — AOC Update
Audience: DevOps Guild, platform operators deploying StellaOps services.
Scope: Deployment configuration changes required by the Aggregation-Only Contract (AOC), including schema validators, guard environment flags, and verifier identities.
This guide supplements existing deployment manuals with AOC-specific configuration. It assumes familiarity with the base Compose/Helm manifests described in ops/deployment/ and docs/ARCHITECTURE_DEVOPS.md.
1 · Schema validator enablement
1.1 MongoDB validators
- Apply JSON schema validators to advisory_rawandvex_rawcollections before enabling AOC guards.
- Before enabling validators or the idempotency index, run the duplicate audit helper to confirm no conflicting raw advisories remain:
Resolve any reported rows prior to rollout.mongo concelier ops/devops/scripts/check-advisory-raw-duplicates.js --eval 'var LIMIT=200;'
- Use the migration script provided in ops/devops/scripts/apply-aoc-validators.js:
kubectl exec -n concelier deploy/concelier-mongo -- \
  mongo concelier ops/devops/scripts/apply-aoc-validators.js
kubectl exec -n excititor deploy/excititor-mongo -- \
  mongo excititor ops/devops/scripts/apply-aoc-validators.js
- Validators enforce required fields (tenant,source,upstream,linkset) and reject forbidden keys at DB level.
- Rollback plan: validators are applied with validationLevel: moderate—downgrade via the same script with--removeif required.
1.2 Migration order
- Deploy validators in maintenance window.
- Roll out Concelier/Excititor images with guard middleware enabled (AOC_GUARD_ENABLED=true).
- Run smoke tests (stella sources ingest --dry-runfixtures) before resuming production ingestion.
1.3 Supersedes backfill verification
- Duplicate audit: Confirm mongo concelier ops/devops/scripts/check-advisory-raw-duplicates.js --eval 'var LIMIT=200;'reports no conflicts before restarting Concelier with the new migrations.
- Post-migration check: After the service restarts, validate that db.advisoryis a view pointing toadvisory_backup_20251028:Themongo concelier --quiet --eval 'db.getCollectionInfos({ name: "advisory" })[0]'typeshould be"view"andoptions.viewOnshould equal"advisory_backup_20251028".
- Supersedes chain spot-check: Inspect a sample set to ensure deterministic chaining:
Each revision should reference the previousmongo concelier --quiet --eval ' db.advisory_raw.aggregate([ { $match: { "upstream.upstream_id": { $exists: true } } }, { $sort: { "tenant": 1, "source.vendor": 1, "upstream.upstream_id": 1, "upstream.retrieved_at": 1 } }, { $limit: 5 }, { $project: { _id: 1, supersedes: 1 } } ]).forEach(printjson)'_id(ornullfor the first revision). Record findings in the change ticket before proceeding to production.
2 · Container environment flags
Add the following environment variables to Concelier/Excititor deployments:
| Variable | Default | Description | 
|---|---|---|
| AOC_GUARD_ENABLED | true | Enables AOCWriteGuardinterception. Setfalseonly for controlled rollback. | 
| AOC_ALLOW_SUPERSEDES_RETROFIT | false | Allows temporary supersedes backfill during migration. Remove after cutover. | 
| AOC_METRICS_ENABLED | true | Emits ingestion_write_total,aoc_violation_total, etc. | 
| AOC_TENANT_HEADER | X-Stella-Tenant | Header name expected from Gateway. | 
| AOC_VERIFIER_USER | stella-aoc-verify | Read-only service user used by UI/CLI verification. | 
Compose snippet:
environment:
  - AOC_GUARD_ENABLED=true
  - AOC_ALLOW_SUPERSEDES_RETROFIT=false
  - AOC_METRICS_ENABLED=true
  - AOC_TENANT_HEADER=X-Stella-Tenant
  - AOC_VERIFIER_USER=stella-aoc-verify
Ensure AOC_VERIFIER_USER exists in Authority with aoc:verify scope and no write permissions.
3 · Verifier identity
- Create a dedicated client (stella-aoc-verify) via Authority bootstrap:
clients:
  - clientId: stella-aoc-verify
    grantTypes: [client_credentials]
    scopes: [aoc:verify, advisory:read, vex:read]
    tenants: [default]
- Store credentials in secret store (Kubernetes Secret,Docker swarm secret).
- Bind credentials to stella aoc verifyCI jobs and Console verification service.
- Rotate quarterly; document in ops/authority-key-rotation.md.
4 · Deployment steps
- Pre-checks: Confirm database backups, alerting in maintenance mode, and staging environment validated.
- Apply validators: Run scripts per § 1.1.
- Update manifests: Inject environment variables (§ 2) and mount guard configuration configmaps.
- Redeploy services: Rolling restart Concelier/Excititor pods. Monitor ingestion_write_totalfor steady throughput.
- Seed verifier: Deploy read-only verifier user and store credentials.
- Run verification: Execute stella aoc verify --since 24hand ensure exit code0.
- Update dashboards: Point Grafana panels to new metrics (aoc_violation_total).
- Record handoff: Capture console screenshots and verification logs for release notes.
5 · Offline Kit updates
- Ship validator scripts with Offline Kit (offline-kit/scripts/apply-aoc-validators.js).
- Include pre-generated verification reports for air-gapped deployments.
- Document offline CLI workflow in bundle README referencing docs/cli/cli-reference.md.
- Ensure stella-aoc-verifycredentials are scoped to offline tenant and rotated during bundle refresh.
6 · Rollback plan
- Disable guard via AOC_GUARD_ENABLED=falseon Concelier/Excititor and rollout.
- Remove validators with the migration script (--remove).
- Pause verification jobs to prevent noise.
- Investigate and remediate upstream issues before re-enabling guards.
7 · References
- Aggregation-Only Contract reference
- Authority scopes & tenancy
- Observability guide
- CLI AOC commands
- Concelier architecture
- Excititor architecture
8 · Compliance checklist
- Validators documented and scripts referenced for online/offline deployments.
- Environment variables cover guard enablement, metrics, and tenant header.
- Read-only verifier user installation steps included.
- Offline kit instructions align with validator/verification workflow.
- Rollback procedure captured.
- Cross-links to AOC docs, Authority scopes, and observability guides present.
- DevOps Guild sign-off tracked (owner: @devops-guild, due 2025-10-29).
Last updated: 2025-10-26 (Sprint 19).