Skip to main content
Version: 1.3.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 integration• AWS_ACCESS_KEY_ID
• AWS_SECRET_ACCESS_KEY
• AWS_ROLE_ARN_AWS_MCP
--set aws-mcp.enabled=true
prometheus-mcpPrometheus metrics integration• PROMETHEUS_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 integration• LOKI_URL
• LOKI_USERNAME (optional)
• LOKI_PASSWORD (optional)
• LOKI_TOKEN (optional)
--set loki-mcp.enabled=true
cloudwatch-mcpAWS CloudWatch integration• AWS_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 mapping• DD_API_KEY
• DD_APP_KEY
• DD_SITE (optional)
--set service-graph-engine.enabled=true
slack-ingesterSlack message ingestion• SLACK_BOT_TOKEN
• SLACK_WEBHOOK_URL (optional)
--set slack-ingester.enabled=true
kubernetes-events-ingesterK8s events collection• kubeconfig file
• Cluster access permissions
--set kubernetes-events-ingester.enabled=true
aws-ec2-cloudwatch-alarmsAWS CloudWatch monitoring• AWS_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.