Release 2.0.0: AI² with per-user auth, more OEG tools, chat memory and Helm chart

Release v2.0.0 of AI², the agent and MCP server that exposes OEG's CAMARA APIs to AI clients. Merges develop into main. Tag v2.0.0 after merge.

The agent now acts as the signed-in user, covers more OEG APIs, keeps chat memory in Redis and ships as a Helm chart.

What's new since v1.0.0-release

Authentication

  • Every request carries the user's Keycloak access token (Authorization: Bearer …).
  • The agent passes the token to the MCP server, which sends it to OEG, so the user's own roles decide what AI² may do.
  • AUTH_ENABLED=false turns this off for platforms deployed without login.

MCP tools

  • Edge Application Management: application definitions, edge zone retrieval, application instantiation, required resources for edge apps. Resources are typed to match the OEG schema.
  • Traffic Influence: create requests (device IPv4 address required).
  • Device Location: location retrieval.
  • Quality on Demand: tools updated, QoD deletion description corrected.
  • OEG error messages are shown to the user through a new ToolError.
  • OEG base URL defaults corrected for the CAMARA APIs.

Agent

  • Backend migrated from Quart to FastAPI.
  • Short per-session chat memory in Redis when REDIS_URL is set.
  • Prompt types for the tool agent, and support for multi-step operations.
  • Default model updated.

Deployment

  • Helm chart 2.0.0 with Redis integration. The platform chart deploys the same chart.
  • Image tags are 2.0.0.
  • Docker Compose for both modules and Redis.
  • Docker base images and builds fixed for slow networks.

CI and quality

  • Unit tests moved to pytest; static type checking, linting and formatting in the pipeline.
  • Image build and push as separate jobs, using buildx without provenance attestation on a docker-in-docker runner.
  • SAST configured in GitLab CI.

Housekeeping

  • Legacy MCP tools removed.
  • MCP module reads its environment variables at runtime, so a missing variable no longer fails the import.
  • Vendored Helm dependencies are no longer tracked in git.
  • Apache License 2.0 added.
  • READMEs rewritten for the module layout, authentication and memory.

Upgrade notes

  • Auth is on by default. Callers must send a bearer token, or set AUTH_ENABLED=false.
  • Redis is needed for chat memory. Without REDIS_URL the agent runs without memory.
  • OEG base URLs: check any overrides against the new defaults.
  • Removed: the Quart service and legacy MCP tools.

Specs

Implements the AI² spec in the architecture repo (ai2/).

Checks

  • CI green (tests, lint, type check, image build)
  • Helm chart installs with Redis and both images at 2.0.0
  • Authenticated call through agent → MCP → OEG works
  • Behaviour with AUTH_ENABLED=false confirmed

Release steps

  1. Merge to main.
  2. Tag v2.0.0 on the merge commit.``
Edited by Dimitrios Gogos

Merge request reports

Loading
Loading