stela ops usage fixes roles propagation and timoeut, one account to support multi tenants, migrations consolidation, search to support documentation, doctor and open api vector db search

This commit is contained in:
master
2026-02-22 19:27:54 +02:00
parent a29f438f53
commit bd8fee6ed8
373 changed files with 832097 additions and 3369 deletions

View File

@@ -66,6 +66,85 @@ For the detailed contract, see `docs/api/overview.md`. The stable rules to keep
- Streaming: some endpoints use NDJSON (`application/x-ndjson`) for deterministic, resumable tile/record streams.
- Offline-first: workflows must remain runnable in air-gapped mode using Offline Kit bundles and locally verifiable signatures.
## stella system migrations-run / migrations-status / migrations-verify
Database migration command group for SQL migrations managed by the shared PostgreSQL migration tooling.
### Synopsis
```bash
stella system migrations-status [--module <name>|all] [--connection <connection-string>]
stella system migrations-verify [--module <name>|all] [--connection <connection-string>]
stella system migrations-run [--module <name>|all] [--category <startup|release|seed|data>] [--dry-run] [--force]
```
### Options
| Option | Description |
| --- | --- |
| `--module` | Module name filter (`AirGap`, `Authority`, `Concelier`, `Excititor`, `Notify`, `Platform`, `Policy`, `Scanner`, `Scheduler`, `TimelineIndexer`, `all`). |
| `--category` | Migration category: `startup`, `release`, `seed`, `data`. |
| `--dry-run` | Preview migrations without executing SQL. |
| `--force` | Required to execute `release` category migrations. |
| `--connection` | Override PostgreSQL connection string for command execution. |
| `--timeout` | Timeout in seconds per migration command execution. |
### Examples
```bash
# Status across currently registered modules
stella system migrations-status --module all
# Checksum validation
stella system migrations-verify --module all
# Preview release migrations
stella system migrations-run --module all --category release --dry-run
# Execute release migrations
stella system migrations-run --module all --category release --force
```
### Current Coverage Notes
- CLI module coverage is currently defined in `src/Platform/__Libraries/StellaOps.Platform.Database/MigrationModuleRegistry.cs`.
- CLI module coverage is auto-discovered from one migration plug-in per web service (`IMigrationModulePlugin`).
- Registry ownership is platform-level so the same module catalog is reused by CLI and Platform migration admin APIs.
- Current registry coverage includes: `AirGap`, `Authority`, `Concelier`, `Excititor`, `Notify`, `Platform`, `Policy`, `Scanner`, `Scheduler`, `TimelineIndexer`.
- Not all migration folders in the repository are currently wired to runtime execution.
- Use `docs/db/MIGRATION_INVENTORY.md` for the current full matrix of migration locations, counts, and runner entrypoints.
- Consolidation target policy and cutover waves are defined in `docs/db/MIGRATION_CONSOLIDATION_PLAN.md`.
- For upgradeable on-prem operations, this command group is the canonical release-migration entrypoint.
### Platform Migration Admin API (UI / backend orchestration)
UI-driven migration operations must execute through Platform WebService (server-side only, no browser-direct PostgreSQL access).
- Base route: `/api/v1/admin/migrations`
- Authorization: `platform.setup.admin` (`PlatformPolicies.SetupAdmin`)
- Backing registry: `src/Platform/__Libraries/StellaOps.Platform.Database/MigrationModuleRegistry.cs`
- Endpoint implementation: `src/Platform/StellaOps.Platform.WebService/Endpoints/MigrationAdminEndpoints.cs`
API operations:
- `GET /api/v1/admin/migrations/modules`
- `GET /api/v1/admin/migrations/status?module=<name|all>`
- `GET /api/v1/admin/migrations/verify?module=<name|all>`
- `POST /api/v1/admin/migrations/run`
- body: `{"module":"all","category":"release","dryRun":true,"force":false,"timeoutSeconds":300}`
Release safety guard:
- `category=release` requires either `dryRun=true` or `force=true`.
### Related Commands
```bash
# Seed demo datasets (seed migrations)
stella admin seed-demo --dry-run
stella admin seed-demo --confirm
```
## stella scan diff
Compare ELF binaries between two container images using section hashes.
@@ -385,3 +464,78 @@ stella advise chat-settings update --requests-per-day 100
# Clear user overrides
stella advise chat-settings clear --scope user
```
## stella search
Search AdvisoryAI Knowledge Search (AKS) across docs, API operations, and Doctor checks.
### Synopsis
```bash
stella search "<query>" [options]
```
### Options
| Option | Description |
| --- | --- |
| `--type` | Result type filter: `docs`, `api`, `doctor` (repeatable or comma-separated). |
| `--product` | Product filter. |
| `--version` | Version filter. |
| `--service` | Service filter (especially for API operations). |
| `--tag` | Tag filter (repeatable or comma-separated). |
| `--k` | Top result count (`1..100`). |
| `--json` | Emit stable machine-readable payload. |
| `--verbose`, `-v` | Include debug scoring fields when available. |
### Examples
```bash
stella search "docker login fails with x509 unknown authority"
stella search "endpoint for agent registration token" --type api --json
stella search "OIDC readiness checks" --type doctor --k 20
```
## stella doctor suggest
Use AKS to suggest Doctor checks, docs, and API references for a symptom string.
### Synopsis
```bash
stella doctor suggest "<symptom-or-error>" [options]
```
### Options
| Option | Description |
| --- | --- |
| `--product` | Product filter. |
| `--version` | Version filter. |
| `--k` | Top result count (`1..100`). |
| `--json` | Emit stable machine-readable payload. |
| `--verbose`, `-v` | Include debug scoring fields when available. |
### Examples
```bash
stella doctor suggest "database unavailable and timeout expired"
stella doctor suggest "gateway returns 404 on known route" --json
```
## stella advisoryai index rebuild
Rebuild the AdvisoryAI deterministic knowledge index from local markdown, OpenAPI specs, and Doctor metadata.
### Synopsis
```bash
stella advisoryai index rebuild [--json] [--verbose]
```
### Examples
```bash
stella advisoryai index rebuild
stella advisoryai index rebuild --json
```