github-actions[bot]
1a079a41e7
bump: version 0.52.0 → 0.52.1
2025-12-13 23:24:55 +00:00
github-actions[bot]
2b7c308188
bump: version 0.51.0 → 0.52.0
2025-12-13 22:56:03 +00:00
github-actions[bot]
264bb5475c
bump: version 0.50.2 → 0.51.0
2025-12-13 21:24:19 +00:00
github-actions[bot]
cd3e60ba4f
bump: version 0.50.1 → 0.50.2
2025-12-13 14:53:42 +00:00
github-actions[bot]
a4d4c386f7
bump: version 0.50.0 → 0.50.1
2025-12-12 17:00:34 +00:00
github-actions[bot]
a60b88b80e
bump: version 0.49.2 → 0.50.0
2025-12-11 12:58:08 +00:00
github-actions[bot]
33675c8ae8
bump: version 0.49.1 → 0.49.2
2025-12-09 17:43:25 +00:00
github-actions[bot]
edb0af2bda
bump: version 0.49.0 → 0.49.1
2025-12-09 14:46:43 +00:00
github-actions[bot]
f70d743c8b
bump: version 0.48.6 → 0.49.0
2025-12-08 06:23:14 +00:00
renovate-bot-cbcoutinho[bot]
4d3228a4a8
chore(deps): update helm release qdrant to v1.16.2
2025-12-05 11:11:34 +00:00
github-actions[bot]
630f818538
bump: version 0.48.5 → 0.48.6
2025-12-03 12:09:01 +00:00
github-actions[bot]
e48da80a4b
bump: version 0.48.4 → 0.48.5
2025-11-28 23:03:07 +00:00
renovate-bot-cbcoutinho[bot]
d911556a84
chore(deps): update helm release qdrant to v1.16.1
2025-11-26 17:04:52 +00:00
github-actions[bot]
e3a6894904
bump: version 0.48.3 → 0.48.4
2025-11-23 16:40:06 +00:00
github-actions[bot]
9ade4c65f3
bump: version 0.48.2 → 0.48.3
2025-11-23 04:44:17 +00:00
github-actions[bot]
f5764c01fc
bump: version 0.48.1 → 0.48.2
2025-11-23 03:25:23 +00:00
github-actions[bot]
852606ec8b
bump: version 0.48.0 → 0.48.1
2025-11-23 03:03:55 +00:00
github-actions[bot]
626c4bf562
bump: version 0.47.0 → 0.48.0
2025-11-23 00:53:24 +00:00
github-actions[bot]
e86b6e83ae
bump: version 0.46.2 → 0.47.0
2025-11-23 00:23:47 +00:00
github-actions[bot]
959cb8b21a
bump: version 0.46.1 → 0.46.2
2025-11-22 21:02:53 +00:00
github-actions[bot]
57db18c6a3
bump: version 0.46.0 → 0.46.1
2025-11-22 18:54:11 +00:00
github-actions[bot]
4e61d73da5
bump: version 0.45.0 → 0.46.0
2025-11-22 18:40:24 +00:00
github-actions[bot]
f9da19d1a1
bump: version 0.44.1 → 0.45.0
2025-11-22 16:14:35 +00:00
renovate-bot-cbcoutinho[bot]
debff75221
chore(deps): update helm release ollama to v1.35.0
2025-11-21 11:09:18 +00:00
github-actions[bot]
798958f20a
bump: version 0.44.0 → 0.44.1
2025-11-21 00:39:23 +00:00
github-actions[bot]
bf11f16e2f
bump: version 0.43.0 → 0.44.0
2025-11-19 22:43:03 +00:00
github-actions[bot]
441d94301e
bump: version 0.42.0 → 0.43.0
2025-11-18 12:56:15 +00:00
renovate-bot-cbcoutinho[bot]
cefb438017
chore(deps): update helm release qdrant to v1.16.0
2025-11-17 17:08:54 +00:00
github-actions[bot]
8367208a03
bump: version 0.41.0 → 0.42.0
2025-11-17 07:25:33 +00:00
github-actions[bot]
b1f7b1d30b
bump: version 0.40.0 → 0.41.0
2025-11-17 05:57:12 +00:00
github-actions[bot]
39131cefcc
bump: version 0.39.0 → 0.40.0
2025-11-16 11:09:40 +00:00
github-actions[bot]
050e9a56b9
bump: version 0.38.0 → 0.39.0
2025-11-16 11:02:48 +00:00
github-actions[bot]
b58b200452
bump: version 0.37.0 → 0.38.0
2025-11-16 10:18:37 +00:00
github-actions[bot]
10129354d9
bump: version 0.36.0 → 0.37.0
2025-11-16 10:18:00 +00:00
github-actions[bot]
7a7ed79d56
bump: version 0.35.0 → 0.36.0
2025-11-15 23:32:55 +00:00
github-actions[bot]
682923dcc8
bump: version 0.34.2 → 0.35.0
2025-11-15 00:46:11 +00:00
github-actions[bot]
56a5c63994
bump: version 0.34.1 → 0.34.2
2025-11-13 21:11:36 +00:00
github-actions[bot]
dd12c957f6
bump: version 0.34.0 → 0.34.1
2025-11-13 21:10:16 +00:00
github-actions[bot]
2f138e7539
bump: version 0.33.1 → 0.34.0
2025-11-13 16:15:29 +00:00
github-actions[bot]
bd76902932
bump: version 0.33.0 → 0.33.1
2025-11-13 12:10:42 +00:00
Chris Coutinho
4e43d15153
fix: Move grafana_folder from labels to annotations
...
Fixes Kubernetes label validation error when deploying dashboard ConfigMap.
Problem:
- Kubernetes labels cannot contain spaces (validation regex: [A-Za-z0-9][-A-Za-z0-9_.]*[A-Za-z0-9])
- Previous implementation had grafana_folder: "Nextcloud MCP" as a label
- Deployment failed with: "Invalid value: 'Nextcloud MCP'"
Solution:
- Move grafana_folder from labels to annotations (annotations allow spaces)
- Keep grafana_dashboard="1" as label for ConfigMap discovery
- Grafana sidecar reads folder name from folderAnnotation parameter
Changes:
- dashboard-configmap.yaml: Move grafana_folder to annotations section
- dashboards/README.md: Fix kubectl commands to use annotations
- values.yaml: Update comments to clarify annotation usage
This follows the standard kube-prometheus-stack pattern where:
- Labels are used for ConfigMap discovery (strict validation)
- Annotations are used for metadata like folder names (relaxed validation)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-13 13:08:45 +01:00
github-actions[bot]
15951c38fa
bump: version 0.32.1 → 0.33.0
2025-11-13 10:58:05 +00:00
Chris Coutinho
4ea5ed72d4
feat: Add Grafana dashboard and vector sync metric instrumentation
...
Implement comprehensive observability for vector database synchronization
with Grafana dashboard and Prometheus metrics.
## Part 1: Grafana Dashboard
Created all-in-one operations dashboard with 7 rows and 34 panels:
### Dashboard Structure:
- **Overview Row**: Request rate, error rate, P95 latency, active requests
- **HTTP Metrics (RED)**: Request/error rates by endpoint, latency percentiles
- **MCP Tools**: Call volume, error rates, execution duration by tool
- **Nextcloud API**: API calls/latency by app, retry patterns
- **OAuth & Authentication**: Token validations, exchanges, cache hit rate
- **Dependencies & Health**: Status for Nextcloud/Qdrant/Keycloak/Unstructured
- **Vector Sync**: Processing throughput, queue depth, Qdrant operations
### Helm Chart Integration:
- Added dashboard-configmap.yaml template for automatic provisioning
- Configured Grafana sidecar auto-discovery (label: grafana_dashboard="1")
- Added dashboards configuration section in values.yaml (opt-in)
- Updated Chart.yaml with dashboard annotations
- Enhanced NOTES.txt with dashboard deployment instructions
- Comprehensive documentation in dashboards/README.md
Dashboard supports dynamic filtering via variables:
- datasource: Prometheus data source selection
- namespace: Filter by Kubernetes namespace
- pod: Multi-select pod filtering
- interval: Query interval (1m/5m/10m/30m/1h)
## Part 2: Vector Sync Metric Instrumentation
Implemented metric recording throughout vector sync pipeline:
### metrics.py:
Added convenience functions:
- record_vector_sync_scan() - Track documents per scan
- record_vector_sync_processing() - Track processing duration/status
- record_qdrant_operation() - Track database operations
- update_vector_sync_queue_size() - Track queue depth
### scanner.py:
- Record number of documents found in each scan
- Enables monitoring of scan throughput
### processor.py:
- Record processing duration for each document
- Track success/failure status with timing
- Record Qdrant upsert/delete operations
- Handle all code paths (success, deletion, error)
### semantic.py:
- Wrap Qdrant query_points with try/except
- Record search operation success/failure
## Metrics Exposed:
- mcp_vector_sync_documents_scanned_total
- mcp_vector_sync_documents_processed_total{status}
- mcp_vector_sync_processing_duration_seconds (histogram)
- mcp_vector_sync_queue_size (gauge)
- mcp_qdrant_operations_total{operation,status}
This enables monitoring of:
- Scan and processing throughput
- Processing latency (P50/P95/P99)
- Error rates for processing and Qdrant operations
- Queue depth trends
- Complete observability of vector sync pipeline
## Testing:
Verified locally that metrics are recorded correctly:
- 36 documents scanned
- 3 documents processed (avg 7.5s each)
- 3 successful Qdrant upsert operations
- Search operations tracked
## Deployment:
Enable dashboard provisioning in Helm values:
```yaml
dashboards:
enabled: true
grafanaFolder: "Nextcloud MCP"
```
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-13 11:49:20 +01:00
github-actions[bot]
747d297008
bump: version 0.32.0 → 0.32.1
2025-11-12 02:16:57 +00:00
github-actions[bot]
49a9dd43c6
bump: version 0.31.1 → 0.32.0
2025-11-11 23:54:43 +00:00
github-actions[bot]
ce666934f2
bump: version 0.31.0 → 0.31.1
2025-11-10 22:21:48 +00:00
Chris Coutinho
a6e5f3d8ff
refactor: simplify OpenTelemetry tracing configuration
...
Simplifies the OpenTelemetry tracing setup by removing the redundant
OTEL_ENABLED flag and using the presence of OTEL_EXPORTER_OTLP_ENDPOINT
to determine if tracing should be enabled. This follows the standard
OpenTelemetry environment variable conventions more closely.
Changes:
- Remove OTEL_ENABLED/tracing_enabled flag in favor of checking if
OTEL_EXPORTER_OTLP_ENDPOINT is set
- Add OTEL_EXPORTER_VERIFY_SSL configuration option for OTLP endpoints
with self-signed certificates (defaults to false for development)
- Move HTTPXClientInstrumentor initialization to module level to ensure
httpx calls are traced across all Nextcloud API requests
- Add tracing spans to vector sync operations (scan_user_documents)
- Fix authorization header logging to only warn about missing headers
in OAuth mode (BasicAuth mode doesn't use Authorization headers)
- Update observability documentation to reflect simplified configuration
- Refactor Dockerfile to use --no-editable flag for uv sync
Breaking changes:
- OTEL_ENABLED environment variable is removed
- Tracing is now automatically enabled when OTEL_EXPORTER_OTLP_ENDPOINT
is set
Migration guide:
- Remove OTEL_ENABLED=true from environment configuration
- Tracing will be enabled automatically if OTEL_EXPORTER_OTLP_ENDPOINT
is configured
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-10 22:48:37 +01:00
github-actions[bot]
f44bf3e8f2
bump: version 0.30.0 → 0.31.0
2025-11-10 07:02:49 +00:00
github-actions[bot]
126b5a7626
bump: version 0.29.2 → 0.30.0
2025-11-10 02:50:11 +00:00
Chris Coutinho
4d3ff1abe1
Merge pull request #282 from cbcoutinho/feat/multi-embedding-model-support
...
feat(vector): Support multiple embedding models with auto-generated collection names
2025-11-10 03:49:48 +01:00