Skip to main content
Last Updated: 2025-10-14 This document tracks all infrastructure component versions across deployment methods and provides upgrade guidance.

Current Versions

Application Dependencies

ComponentVersionSourceNotes
LangGraph0.6.10requirements-pinned.txtLatest stable
LangChain Core0.3.79requirements-pinned.txtLatest stable
LiteLLM1.52.3requirements-pinned.txtMulti-LLM support
MCP1.1.2requirements-pinned.txtModel Context Protocol
FastAPI0.119.0requirements-pinned.txtWeb framework
Pydantic2.12.0requirements-pinned.txtData validation
OpenTelemetry SDK1.37.0requirements-pinned.txtObservability

Infrastructure Components (Docker Compose)

ServiceImageCurrent VersionPrevious VersionUpdated
Authorization & Auth
OpenFGAopenfga/openfgav1.10.2v1.5.02025-10-14
Keycloakquay.io/keycloak/keycloak26.4.023.02025-10-14
Databases
PostgreSQLpostgres16-alpine15-alpine2025-10-14
Redisredis7-alpine7-alpine✓ Current
Observability
OpenTelemetry Collectorotel/opentelemetry-collector-contrib0.137.00.91.02025-10-14
Jaegerjaegertracing/all-in-one1.74.01.53.02025-10-14
Prometheusprom/prometheusv3.2.1v2.48.02025-10-14
Grafanagrafana/grafana11.5.110.2.32025-10-14

Kubernetes Base Manifests

ComponentImageCurrent VersionNotes
Init Containersbusybox1.36Latest stable
Keycloakquay.io/keycloak/keycloak26.4.0Updated 2025-10-14
Redis Sessionredis7-alpineCurrent stable
PostgreSQLpostgres16-alpineNew deployment
OpenFGAopenfga/openfgav1.10.2New deployment

Helm Chart Dependencies

ChartRepositoryVersionApp VersionNotes
OpenFGAopenfga.github.io0.2.121.10.2Updated 2025-10-14
PostgreSQLcharts.bitnami.com16.6.216.xUpdated 2025-10-14
Redischarts.bitnami.com20.6.27.xUpdated 2025-10-14
Keycloakcharts.bitnami.com24.2.226.xUpdated 2025-10-14

Upgrade Summary (2025-10-14)

Critical Updates

  1. OpenFGA: v1.5.0 → v1.10.2 (5 minor versions)
    • Risk: Medium
    • Breaking Changes: None affecting our usage
    • Features Added: ReverseExpand improvements, performance optimizations
    • Action: Test authorization flows after upgrade
  2. Keycloak: 23.0 → 26.4.0 (3 major versions)
    • Risk: High
    • Breaking Changes: Review Keycloak Upgrading Guide
    • Features Added: Passkeys, improved OAuth 2.0 support, federated client auth
    • Action: Review realm configurations, test SSO flows
  3. OpenTelemetry Collector: 0.91.0 → 0.137.0 (46 versions!)
    • Risk: High
    • Breaking Changes: Multiple config schema changes
    • Action: Review otel-collector.yaml configuration compatibility

Major Updates

  1. Jaeger: 1.53.0 → 1.74.0 (21 versions)
    • Risk: Medium
    • Features: Performance improvements, v2 architecture available
    • Action: Test trace visualization
  2. PostgreSQL: 15-alpine → 16-alpine (1 major version)
    • Risk: Medium
    • Breaking Changes: Minor, mostly backward compatible
    • Action: Test database migrations, backup before upgrade
  3. Prometheus: v2.48.0 → v3.2.1 (Major version bump!)
    • Risk: High
    • Breaking Changes: Review Prometheus 3.0 Migration Guide
    • Features: Native histograms, improved performance
    • Action: Test PromQL queries, review dashboard compatibility
  4. Grafana: 10.2.3 → 11.5.1 (1 major version)
    • Risk: Medium
    • Features: Enhanced alerting, new visualizations
    • Action: Test dashboards, review plugin compatibility

New Components

  1. PostgreSQL StatefulSet (New)
    • Now deployed as StatefulSet with persistent storage
    • Includes multi-database initialization script
    • Shared by OpenFGA and Keycloak
  2. OpenFGA Kubernetes Deployment (New)
    • High-availability setup with 2 replicas
    • Uses PostgreSQL backend (previously memory only)
    • Proper health checks and resource limits

Breaking Changes

Keycloak 23.0 → 26.4.0

Potential Issues:
  • Deprecated features from 23.x may be removed in 26.x
  • Admin console UI changes
  • Some REST API endpoints may have changed
Migration Steps:
  1. Backup Keycloak database: kubectl exec -it postgres-0 -- pg_dump -U postgres keycloak > keycloak-backup.sql
  2. Review release notes
  3. Test authentication flows in staging environment
  4. Update client configurations if needed

OpenTelemetry Collector 0.91.0 → 0.137.0

Configuration Changes:
  • Review monitoring/otel-collector/otel-collector.yaml
  • Some processor configurations may need updates
  • New recommended practices for pipeline setup
Migration Steps:
  1. Validate config: docker run otel/opentelemetry-collector-contrib:0.137.0 validate --config=/etc/otel-collector-config.yaml
  2. Review changelog
  3. Test metric export to Prometheus
  4. Test trace export to Jaeger

Prometheus v2 → v3

Breaking Changes:
  • Native histogram format changes
  • Some PromQL functions updated
  • TSDB format changes (backward compatible for reads)
Migration Steps:
  1. Review dashboards for deprecated PromQL functions
  2. Test alert rules compatibility
  3. Backup Prometheus data: kubectl cp prometheus-xxx:/prometheus ./prometheus-backup
  4. Consider running v2 and v3 in parallel initially

Compatibility Testing Checklist

Before Deploying

  • Review all release notes and changelogs
  • Backup all databases (PostgreSQL, Redis if persistent)
  • Export Keycloak realm configurations
  • Export Grafana dashboards
  • Document current OpenFGA authorization model

After Deploying (Docker Compose)

## Start all services
docker compose up -d

## Check service health
docker compose ps
docker compose logs openfga
docker compose logs keycloak
docker compose logs otel-collector
docker compose logs prometheus
docker compose logs jaeger
docker compose logs grafana

## Test OpenFGA
curl http://localhost:8080/healthz

## Test Keycloak
curl http://localhost:8180/health/ready

## Test OTEL Collector
curl http://localhost:13133

## Test Prometheus
curl http://localhost:9090/-/healthy

## Test Jaeger
curl http://localhost:16686/api/services

## Test Grafana
curl http://localhost:3000/api/health

After Deploying (Kubernetes)

## Deploy with Kustomize
kubectl apply -k deployments/kustomize/overlays/staging

## Check all pods
kubectl get pods -n mcp-server-langgraph

## Check service endpoints
kubectl get svc -n mcp-server-langgraph

## Test PostgreSQL
kubectl exec -it postgres-0 -n mcp-server-langgraph -- psql -U postgres -c "SELECT version();"

## Test OpenFGA
kubectl run curl-test --rm -it --restart=Never --image=curlimages/curl -- \
  curl -f http://openfga.mcp-server-langgraph:8080/healthz

## Test Keycloak
kubectl run curl-test --rm -it --restart=Never --image=curlimages/curl -- \
  curl -f http://keycloak.mcp-server-langgraph:8080/health/ready

## Check logs
kubectl logs -n mcp-server-langgraph -l app=mcp-server-langgraph --tail=50
kubectl logs -n mcp-server-langgraph -l app=openfga --tail=50
kubectl logs -n mcp-server-langgraph -l app=keycloak --tail=50

Integration Tests

  • Test user authentication (Keycloak)
  • Test authorization checks (OpenFGA)
  • Test session management (Redis)
  • Test LLM API calls with tracing
  • Verify traces in Jaeger UI
  • Verify metrics in Prometheus
  • Verify dashboards in Grafana
  • Test health check endpoints
  • Verify database connectivity
  • Test graceful shutdown/restart

Version Update Policy

Semantic Versioning

We follow this upgrade cadence:
  • Patch versions (x.y.Z): Apply immediately in development, test, then production
  • Minor versions (x.Y.z): Test in staging for 1 week before production
  • Major versions (X.y.z): Extended testing (2-4 weeks), create rollback plan

Update Frequency

  • Security patches: Within 48 hours
  • Minor updates: Monthly
  • Major updates: Quarterly or as needed
  • Dependency updates: Bi-weekly (automated via Dependabot)

Rollback Procedures

Docker Compose Rollback

## Stop current services
docker compose down

## Restore previous docker-compose.yml from git
git checkout HEAD~1 docker-compose.yml

## Restore data if needed
docker volume restore prometheus-data
docker volume restore grafana-data
docker volume restore postgres-data

## Start previous versions
docker compose up -d

Kubernetes Rollback

## Rollback specific deployment
kubectl rollout undo deployment/mcp-server-langgraph -n mcp-server-langgraph
kubectl rollout undo deployment/keycloak -n mcp-server-langgraph
kubectl rollout undo deployment/openfga -n mcp-server-langgraph

## Check rollout status
kubectl rollout status deployment/mcp-server-langgraph -n mcp-server-langgraph

## Helm rollback (if using Helm)
helm rollback mcp-server-langgraph 1 --namespace mcp-server-langgraph

References

Support Matrix

ComponentMinimum VersionRecommendedMaximum Tested
Kubernetes1.251.28+1.31
Helm3.03.12+3.16
Docker20.1024.0+28.2
Python3.103.123.12

Known Issues

Keycloak 26.4.0

  • Some older themes may need updates
  • Check realm import/export compatibility
  • Review custom extensions for API changes

OpenTelemetry Collector 0.137.0

  • Configuration validation may be stricter
  • Some deprecated processors removed
  • Review pipeline configurations for new best practices

Prometheus 3.2.1

  • Native histograms enabled by default (can disable)
  • TSDB compaction behavior changed
  • Some legacy recording rules may need updates

Change Log

DateComponentFromToNotes
2025-10-14OpenFGAv1.5.0v1.10.2Added PostgreSQL backend
2025-10-14Keycloak23.026.4.0Major upgrade, test SSO
2025-10-14OTEL Collector0.91.00.137.0Review config schema
2025-10-14Jaeger1.53.01.74.0Performance improvements
2025-10-14PostgreSQL15-alpine16-alpineAdded StatefulSet
2025-10-14Prometheusv2.48.0v3.2.1Major upgrade, test queries
2025-10-14Grafana10.2.311.5.1Test dashboard compatibility
2025-10-14Helm ChartsVariousUpdatedAll Bitnami charts updated