Node Manifest Persistence
During cluster initialization via colabbio-node-init.sh, the system persists the node configuration to /etc/colabbio/node-manifest.json and bootstrap logs to /var/log/colabbio/node-init.log.
The ColabBio Unified Management CLI (cb-svc-cli) provides DevOps, MLOps, pathologists, and bioinformaticians with a sovereign, terminal-native control plane for cluster observation, AI pipelines, model lifecycle, tenant auditing, user management, and conversational clinical assistance.
┌────────────────────────────────────────────────────────────────────────┐│ COLABBIO UNIFIED MANAGEMENT CLI (cb-svc-cli) │├────────────────────────────────────────────────────────────────────────┤│ • Spring Shell 3.2 + Native Wrapper (`cb-devops/scripts/colabbio`) ││ • User RBAC & Clinical Authentication (`colabbio user`) ││ • Dynamic Model Loading, Champion/Challenger & MLflow Hub ││ • Dual Execution Mode: Connected Live Cluster & Standalone Fallback ││ • Interactive AI Companion with ANSI Rich Widget Rendering ││ • Real-Time Diagnostics: MicroK8s, MedVFS, Triton, OMERO, OHDSI DQD │└────────────────────────────────────────────────────────────────────────┘The CLI is compiled into a self-contained executable Java JAR within cb-svc-parent and accessed via the convenient wrapper script colabbio.
# 1. Compile and package the CLI suitecd cb-svc-parentmvn clean package -DskipTests=false
# 2. (Optional) Add colabbio to your PATHexport PATH="$PATH:$(pwd)/../cb-devops/scripts"
# 3. Verify installationcolabbio helpThe CLI is organized into focused sub-command suites designed for hospital cluster administrators, MLOps engineers, and bioinformaticians.
colabbio user)Manage clinical pathologists, resident doctors, study managers, and data stewards per tenant.
# List clinical users registered in a specific hospital tenantcolabbio user list --tenant hospital-la-fe
# Inspect user metadata, assigned roles, and permission scopescolabbio user get --username dr.garcia
# Provision a new clinical usercolabbio user create --username dr.novo --email novo@hospital.es --password "Secret2026!" --role PATHOLOGIST --tenant hospital-la-fe
# Assign an additional clinical role to an existing usercolabbio user assign-role --username dr.novo --role ROLE_STUDY_MANAGER
# Delete a usercolabbio user delete --username dr.novo
# View the full RBAC roles and permissions catalogcolabbio user rolescolabbio model)Manage Triton GPU inference serving, hot-loading of models, and A/B version comparison.
# List all active models in Triton Inference Servercolabbio model list
# Inspect model card, tensor shapes, normalization methods, and SHA-256 digestcolabbio model inspect --name abmil-brca-v1
# Dynamically hot-load a new model into Triton GPU and Clinical Visor catalogcolabbio model load --name ki67_cell_density --version 1 --format ONNX --path /data/models/ki67.onnx --tenant hospital-la-fe
# Compare two versions (Champion v1 vs Challenger v2) on a clinical WSIcolabbio model compare --name abmil-brca-v1 --v1 1 --v2 2 --wsi WSI-BRCA-001
# Promote a challenger version to production Champion in study manifest and visorcolabbio model promote --name abmil-brca-v1 --version 2 --study slidelab-abmil-study.yamlcolabbio mlflow)Access sovereign models across tenants and global platform foundation models.
# List models available for a hospital tenant (combining Global + Tenant private)colabbio mlflow list --tenant hospital-la-fe
# List all models in the entire MLflow registrycolabbio mlflow list --tenant all
# Deploy a model from MLflow directly to Triton and activate it in the clinical visorcolabbio mlflow deploy --model abmil-brca-hospital-la-fe --version 2.1.0 --tenant hospital-la-fecolabbio node)Inspect the host machine, GPU accelerators, Tailscale mesh connectivity, and bootstrap initialization logs.
# Check node hardware, available cores, memory, and manifest statuscolabbio node status
# Query deep GPU telemetry via nvidia-smicolabbio node status --gpu
# View bootstrap and initialization logscolabbio node logs -n 50Node Manifest Persistence
During cluster initialization via colabbio-node-init.sh, the system persists the node configuration to /etc/colabbio/node-manifest.json and bootstrap logs to /var/log/colabbio/node-init.log.
colabbio cluster)Audit MicroK8s microservices, Ingress endpoints, and MedVFS storage classes.
# Audit all core pods, services, and Ingress routing in the colabbio namespacecolabbio cluster audit
# Stream logs from a specific core service (omero, triton, fhir, ai)colabbio cluster logs --service triton --lines 100colabbio study)Track execution progress, step-by-step pipeline stages (SlideLab, PyTorch WSI-MIL training, Triton registration), and generate validation reports.
# Inspect real-time status of a running study pipelinecolabbio study status --run-id run-tcga-brca-001
# Compile and display the Markdown clinical validation reportcolabbio study report --run-id run-tcga-brca-001colabbio visor)Monitor OMERO.server (Blitz), OMERO.web, and ingest Whole Slide Images (SVS, NDPI, MRXS).
# Check health of OMERO.server (port 4064) and DeepZoom rendering bridgecolabbio visor status
# Batch ingest digital pathology slides into OMERO repositorycolabbio visor ingest --path /data/wsi_samples/colabbio inference)Benchmark GPU forward-pass latency and attention heatmap computation under load.
# Run latency benchmark with concurrency level 4colabbio inference benchmark --model abmil-brca-v1 --concurrency 4colabbio tenant)Manage hospital tenants and execute Data Quality Dashboard (DQD) checks.
# List registered hospital tenants and active dataset quotascolabbio tenant list
# Run OHDSI Achilles & DQD conformance and plausibility auditcolabbio tenant audit --tenant hospital-la-feask & chat)The CLI integrates directly with the Clinical AI Companion backend (cb-svc-ai), enabling engineers and bioinformaticians to query datasets, diagnose failures, and inspect pathology slides in natural language.
# Query active models in Tritoncolabbio ask "cuales son los modelos en triton"
# Analyze a biopsy slide and generate hotspotscolabbio ask "analiza la biopsia de la slide 1092"
# Pipe AI markdown reports directly to diskcolabbio ask "Genera un reporte del paciente PAT-77402" > reporte.md# Start an interactive REPL conversational sessioncolabbio chat
# Example session:colabbio> ¿Cuál es el estado del estudio run-tcga-brca-001?companion> El estudio se encuentra en progreso (Paso 2/4: SlideLab Feature Extraction). Se han procesado 78 de 120 portaobjetos digitales (65%).
colabbio> exitThe backend emits structured Markdown with A2UI embedded widgets using the fenced code syntax:
```widget:score_bar{ "label": "Probabilidad de Malignidad", "score": 0.9412, "threshold": 0.50, "status": "HIGH_RISK"}```
```widget:omero_viewport_action{ "imageId": "1092", "x": 18450, "y": 9200, "zoom": 20, "label": "Centrar Visor en Hotspot 1"}```When rendered in the CLI, the parser transforms JSON blocks into clean, high-contrast ANSI terminal components:
┌─ [SCORE BAR: Probabilidad de Malignidad] ───────────────────────── │ Valor: 94.12% [HIGH_RISK] │ Barra: [███████████████████░] └────────────────────────────────────────────────────────────
[🔬 OMERO Viewport Action] Centrar Visor en Hotspot 1 Coordenadas: X: 18450, Y: 9200, Zoom: 20x (Slide ID: 1092) Enlace Visor: https://omero.colabbio.local/webclient/?show=image-1092To ensure operational reliability in disconnected environments (such as isolated edge VMs or air-gapped clinical networks):
🟢 Live Cluster): Connects to cb-svc-ai on http://localhost:8080 (or configured COLABBIO_AI_URL) and queries live Kubernetes API, PostgreSQL, and Triton Inference Server.🟡 Standalone): If the backend is offline or undergoing maintenance, the CLI operates locally with built-in diagnostic engines and simulated clinical models.