Services
ARK provides a rich ecosystem of services that extend the platform’s capabilities. These services are modular, Kubernetes-native components that can be installed and configured as needed.
Installing Services
Use make services
to install and configure additional service capabilities. The command will scan for services with manifest files and let you choose to install, run in dev mode, or uninstall each service.
make services
Service Manifest Format
Each service must include a manifest.yaml
file that describes the service and its capabilities:
name: postgres-memory
description: PostgreSQL-based memory storage
supports:
- dev
- install
- uninstall
post-install-instructions: |
You need to execute: kubectl port-forward service/postgres-memory 5432:5432
The post-install-instructions
field is optional and will be displayed after successful installation.
Service Commands
Services follow a standard idiom using Make targets:
make <service-name>-dev
- Run the service in development mode locallymake <service-name>-install
- Build the container, push to cluster registry, and deploy using Helmmake <service-name>-uninstall
- Remove the service deployment from the cluster
The install
command uses the scripts/build-and-push.sh
helper to build and push container images to the cluster registry, then deploys the service using Helm charts.
Exposing Services
Services are exposed through Kubernetes Gateway API using HTTPRoute resources. The ARK quickstart sets up a gateway that services can use for external access.
Individual services can also be exposed using kubectl port-forward
(as shown in post-install instructions).
Available Services
Core Services
- A2A Gateway - Agent-to-Agent Gateway implementing A2A protocol
- PostgreSQL Memory - Persistent memory storage using PostgreSQL
- Execution Engine - Framework adapter for Langchain and other AI frameworks
Execution Engines
- Langchain Execution Engine - Framework adapter for Langchain workflows
Development Tools
- ARK Dashboard - Next.js-based web interface for ARK management
- ARK API - REST API for managing ARK resources
Specialized Services
- Evaluator LLM - AI-powered query evaluation service using LLM-as-a-Judge
- Evaluation Operator - Automated evaluation and scoring of agent responses
Service Discovery and Annotations
ARK services use a standardized annotation system for discovery and integration:
Service Annotations
Helm Charts can be annotated to provide metadata for discovery:
# Chart.yaml
annotations:
ark.mckinsey.com/service: "my-service"
ark.mckinsey.com/resources: "service,deployment"
Annotation Schema
Annotation | Description | Example |
---|---|---|
ark.mckinsey.com/service | Service identifier for ARK discovery | langfuse |
ark.mckinsey.com/resources | Resource types created by chart | service,a2aserver |