Skip to main content
Version: 1.1.0

Services Configuration Reference

This topic provides a comprehensive reference for all services in the Obliq SRE Agent platform, including core services, optional services, and external tools.

Service Categories

CategoryDescription
Core ServicesEssential services that are always enabled as they are required for the platform.
MCP ServicesModel Context Protocol (MCP) servers required for integrating with external systems. Disabled by default.
Integration ServicesAdditional services for external integrations. Disabled by default to reduce complexity.
External ToolsThese tools can be installed separately for enhanced features.

Core Services

These services are essential for platform and cannot be disabled. They are always enabled.

Databases and Storage

ServiceStatusDescriptionRequirements
neo4jenabled: trueGraph database for relationships and topologyNone - internal service
mongodbenabled: trueDocument database for application dataNone - internal service
opentelemetry-collectorenabled: trueObservability data collection and processingNone - internal service

Application Core

ServiceStatusDescriptionRequirements
backendenabled: trueMain API server and backend functionalityOpenAI API key
avesha-unified-uienabled: trueWeb interface and dashboardNone
orchestratorenabled: trueWorkflow orchestration engineOpenAI API key

AI/ML Services

ServiceStatusDescriptionRequirements
rca-agentenabled: trueRoot cause analysis engineOpenAI API key
anomaly-detectionenabled: trueAnomaly detection and alertingOpenAI API key
auto-remediationenabled: trueAutomated fixes and responsesOpenAI API key
incident-managerenabled: trueIncident management systemOpenAI API key

Infrastructure Services

ServiceStatusDescriptionRequirements
active-inventoryenabled: trueInfrastructure inventory and discoveryNone - internal service
infra-agentenabled: trueInfrastructure monitoring agentNone - internal service

Core MCP Service

ServiceStatusDescriptionRequirements
k8s-mcpenabled: trueKubernetes Model Context Protocol serverkubeconfig file
warning

Core AI services require an OpenAI API key configured via global.env.openai.OPENAI_API_KEY. They fail to start without this credential.

MCP Services

Model Context Protocol (MCP) services are disabled by default to reduce resource usage and complexity. Enable them individually based on your integration requirements.

important

Each MCP service requires specific credentials and access configurations.

MCP ServicePurposeRequired CredentialsEnable Command
aws-mcpAWS EC2/CloudWatch integrationAWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_ROLE_ARN_AWS_MCP
--set aws-mcp.enabled=true
prometheus-mcpPrometheus metrics integrationPROMETHEUS_URL
PROMETHEUS_MCP_USERNAME
PROMETHEUS_MCP_PASSWORD
--set prometheus-mcp.enabled=true
neo4j-mcpNeo4j graph database integrationUses internal Neo4j by default, optional external credentials--set neo4j-mcp.enabled=true
loki-mcpLoki logs integrationLOKI_URL
LOKI_USERNAME (optional)
LOKI_PASSWORD (optional)
LOKI_TOKEN (optional)
--set loki-mcp.enabled=true
cloudwatch-mcpAWS CloudWatch integrationAWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
• CloudWatch permissions
--set cloudwatch-mcp.enabled=true

MCP Configuration Examples

The following section provides MCP service integration examples.

AWS MCP Integration

# Required credentials
export AWS_ACCESS_KEY_ID="your-aws-access-key"
export AWS_SECRET_ACCESS_KEY="your-aws-secret-key"
export AWS_ROLE_ARN_AWS_MCP="arn:aws:iam::123456789012:role/your-aws-mcp-role"

# Enable command
--set aws-mcp.enabled=true \
--set global.env.aws.AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
--set global.env.aws.AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
--set global.env.aws.AWS_ROLE_ARN_AWS_MCP="${AWS_ROLE_ARN_AWS_MCP}"

Prometheus MCP Integration

# Required credentials
export PROMETHEUS_URL="http://your-prometheus:9090"
export PROMETHEUS_MCP_USERNAME="your-username"
export PROMETHEUS_MCP_PASSWORD="your-password"

# Enable command
--set prometheus-mcp.enabled=true \
--set global.env.prometheus.PROMETHEUS_URL="${PROMETHEUS_URL}" \
--set global.env.prometheus.PROMETHEUS_MCP_USERNAME="${PROMETHEUS_MCP_USERNAME}" \
--set global.env.prometheus.PROMETHEUS_MCP_PASSWORD="${PROMETHEUS_MCP_PASSWORD}"

Neo4j MCP Integration

# Uses internal Neo4j by default
--set neo4j-mcp.enabled=true

# Or configure external Neo4j
--set neo4j-mcp.enabled=true \
--set global.env.database.NEO4J_USER="your-neo4j-user" \
--set global.env.database.NEO4J_PASSWORD="your-neo4j-password" \
--set global.env.mcp.NEO4J_MCP_USERNAME="your-mcp-username" \
--set global.env.mcp.NEO4J_MCP_PASSWORD="your-mcp-password"

Loki MCP Integration

# Required credentials
export LOKI_URL="http://your-loki:3100"

# Enable command
--set loki-mcp.enabled=true \
--set global.env.loki.LOKI_URL="${LOKI_URL}"
# Optional authentication:
# --set global.env.loki.LOKI_USERNAME="${LOKI_USERNAME}" \
# --set global.env.loki.LOKI_PASSWORD="${LOKI_PASSWORD}" \
# --set global.env.loki.LOKI_TOKEN="${LOKI_TOKEN}"

CloudWatch MCP Integration

# Required credentials
export AWS_ACCESS_KEY_ID="your-aws-access-key"
export AWS_SECRET_ACCESS_KEY="your-aws-secret-key"

# Enable command
--set cloudwatch-mcp.enabled=true \
--set global.env.aws.AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
--set global.env.aws.AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}"

Integration Services

Integration services are disabled by default to prevent deployment failures when credentials are not available. Enable them individually based on your integration requirements.

ServicePurposeRequired CredentialsEnable Command
service-graph-engineDataDog service topology mappingDD_API_KEY
DD_APP_KEY
DD_SITE (optional)
--set service-graph-engine.enabled=true
slack-ingesterSlack message ingestionSLACK_BOT_TOKEN
SLACK_WEBHOOK_URL (optional)
--set slack-ingester.enabled=true
kubernetes-events-ingesterK8s events collectionkubeconfig file
• Cluster access permissions
--set kubernetes-events-ingester.enabled=true
aws-ec2-cloudwatch-alarmsAWS CloudWatch monitoringAWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_ROLE_ARN_EC2_CLOUDWATCH_ALARMS
--set aws-ec2-cloudwatch-alarms.enabled=true

Integration Configuration Examples

DataDog Integration

This is requried for the service-graph-engine service.

# Required credentials
export DD_API_KEY="your-datadog-api-key"
export DD_APP_KEY="your-datadog-app-key"

# Enable command
--set service-graph-engine.enabled=true \
--set global.env.sg.DD_API_KEY="${DD_API_KEY}" \
--set global.env.sg.DD_APP_KEY="${DD_APP_KEY}" \
--set global.env.sg.DD_SITE="us5.datadoghq.com" \
--set global.env.sg.DD_ENVIRONMENTS="production"

Slack Integration

This is required for the slack-ingester service.

# Required credentials
export SLACK_BOT_TOKEN="xoxb-your-slack-bot-token"

# Enable command
--set slack-ingester.enabled=true \
--set global.env.slack.SLACK_BOT_TOKEN="${SLACK_BOT_TOKEN}" \
--set global.env.slack.SLACK_WEBHOOK_URL="${SLACK_WEBHOOK_URL}" # Optional

Kubernetes Events Ingestion

# Enable command
--set kubernetes-events-ingester.enabled=true \
--set-file global.kubeconfig.content=./kubeconfig

AWS CloudWatch Alarms

# Required credentials
export AWS_ACCESS_KEY_ID="your-aws-access-key"
export AWS_SECRET_ACCESS_KEY="your-aws-secret-key"
export AWS_ROLE_ARN_EC2_CLOUDWATCH="arn:aws:iam::123456789012:role/your-cloudwatch-role"

# Enable command
--set aws-ec2-cloudwatch-alarms.enabled=true \
--set global.env.aws.AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
--set global.env.aws.AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
--set global.env.aws.AWS_ROLE_ARN_EC2_CLOUDWATCH_ALARMS="${AWS_ROLE_ARN_EC2_CLOUDWATCH}"

External Tools

These external tools are NOT included in the Obliq chart, but they can be installed separately for enhanced features.

ToolPurposeStatusInstallation
cert-managerSSL certificate managementExternal Add-onInstall from upstream
ingress-nginxHTTP/HTTPS routing and load balancingExternal Add-onInstall from upstream

External Installation Requirements

ComponentDescription
cert-managerInstall separately if SSL is needed. See official cert-manager documentation.
ingress-nginxInstall separately for external access. See official ingress-nginx documentation.

JIRA Integration

Jira integration is optional. Enable Jira integration by providing credentials that affect multiple services as shown below.

# Enable JIRA integration (affects multiple services)
--set global.env.jira.JIRA_BASE_URL="${JIRA_BASE_URL}" \
--set global.env.jira.JIRA_EMAIL="${JIRA_EMAIL}" \
--set global.env.jira.JIRA_API_TOKEN="${JIRA_API_TOKEN}" \
--set global.env.jira.JIRA_PROJECT_KEY="${JIRA_PROJECT_KEY}"

Complete Configuration Examples

Minimal Core Services Only Deployment

helm install obliq-sre-agent obliq-charts/obliq-sre-agent \
--namespace avesha \
--create-namespace \
--set-file global.kubeconfig.content=./kubeconfig \
--set global.env.openai.OPENAI_API_KEY="${OPENAI_API_KEY}" \
--set backend.ingress.enabled=true \
--set avesha-unified-ui.ingress.enabled=true

AWS Integration Deployment

helm install obliq-sre-agent obliq-charts/obliq-sre-agent \
--namespace avesha \
--create-namespace \
--set-file global.kubeconfig.content=./kubeconfig \
--set global.env.openai.OPENAI_API_KEY="${OPENAI_API_KEY}" \
# Enable AWS MCP services
--set aws-mcp.enabled=true \
--set cloudwatch-mcp.enabled=true \
--set aws-ec2-cloudwatch-alarms.enabled=true \
# AWS credentials
--set global.env.aws.AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
--set global.env.aws.AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
--set global.env.aws.AWS_ROLE_ARN_AWS_MCP="${AWS_ROLE_ARN_AWS_MCP}" \
--set global.env.aws.AWS_ROLE_ARN_EC2_CLOUDWATCH_ALARMS="${AWS_ROLE_ARN_EC2_CLOUDWATCH}" \
--set backend.ingress.enabled=true \
--set avesha-unified-ui.ingress.enabled=true

Full Integration Deployment

helm install obliq-sre-agent obliq-charts/obliq-sre-agent \
--namespace avesha \
--create-namespace \
--set-file global.kubeconfig.content=./kubeconfig \
--set global.env.openai.OPENAI_API_KEY="${OPENAI_API_KEY}" \
# Enable optional MCP services
--set aws-mcp.enabled=true \
--set prometheus-mcp.enabled=true \
--set neo4j-mcp.enabled=true \
--set loki-mcp.enabled=true \
--set cloudwatch-mcp.enabled=true \
# Enable optional integration services
--set service-graph-engine.enabled=true \
--set slack-ingester.enabled=true \
--set kubernetes-events-ingester.enabled=true \
--set aws-ec2-cloudwatch-alarms.enabled=true \
# Provide all required credentials
--set global.env.aws.AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
--set global.env.aws.AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
--set global.env.aws.AWS_ROLE_ARN_AWS_MCP="${AWS_ROLE_ARN_AWS_MCP}" \
--set global.env.aws.AWS_ROLE_ARN_EC2_CLOUDWATCH_ALARMS="${AWS_ROLE_ARN_EC2_CLOUDWATCH}" \
--set global.env.sg.DD_API_KEY="${DD_API_KEY}" \
--set global.env.sg.DD_APP_KEY="${DD_APP_KEY}" \
--set global.env.slack.SLACK_BOT_TOKEN="${SLACK_BOT_TOKEN}" \
--set global.env.prometheus.PROMETHEUS_URL="${PROMETHEUS_URL}" \
--set global.env.prometheus.PROMETHEUS_MCP_USERNAME="${PROMETHEUS_MCP_USERNAME}" \
--set global.env.prometheus.PROMETHEUS_MCP_PASSWORD="${PROMETHEUS_MCP_PASSWORD}" \
--set global.env.loki.LOKI_URL="${LOKI_URL}" \
--set global.env.jira.JIRA_BASE_URL="${JIRA_BASE_URL}" \
--set global.env.jira.JIRA_EMAIL="${JIRA_EMAIL}" \
--set global.env.jira.JIRA_API_TOKEN="${JIRA_API_TOKEN}" \
--set backend.ingress.enabled=true \
--set avesha-unified-ui.ingress.enabled=true

Service Dependencies

The critical and optional service dependencies are described below.

Critical Dependencies

ParameterDescription
OpenAI API KeyRequired for all AI/ML services (rca-agent, anomaly-detection, auto-remediation, incident-manager, orchestrator, and backend).
kubeconfigRequired for k8s-mcp (core service) and kubernetes-events-ingester (optional).

Optional Dependencies

ParameterDescription
AWS CredentialsRequired for aws-mcp, cloudwatch-mcp, aws-ec2-cloudwatch-alarms
DataDog CredentialsRequired for service-graph-engine
Slack TokenRequired for slack-ingester
Prometheus CredentialsRequired for prometheus-mcp
Loki URLRequired for loki-mcp

Troubleshooting

Common Issues

IssueResolution
Service fails to startCheck if required credentials are provided.
Permission deniedVerify credential formats and permissions.
Connection timeoutsEnsure network connectivity to external services.
Authentication failuresValidate credential values and expiry.

Verify Services

  • Check the service status using the following command:
    kubectl get pods -n avesha
  • View service logs using the following command:
    kubectl logs -n avesha -l app.kubernetes.io/name=<service-name>
  • Check MCP services specifically using the following command:
    kubectl get pods -n avesha -l app.kubernetes.io/component=mcp
  • Check the configuration using the following command:
    helm get values obliq-sre-agent -n avesha

Impact of Disabled Services

ServiceImpact
service-graph-engineNo DataDog service topology visualization
slack-ingesterNo Slack notifications or message ingestion
kubernetes-events-ingesterNo Kubernetes event monitoring
aws-ec2-cloudwatch-alarmsNo CloudWatch alarm monitoring
MCP servicesLimited external system integration

Security Considerations

  • Store credentials securely using environment variables or secret management systems.
  • Use IAM roles instead of access keys whenever possible (for AWS services).
  • Regularly rotate credentials and monitor access.
  • Follow principle of least privilege for service permissions.
  • Review enabled services periodically to minimize attack surface.