Setup Guide
This guide covers installation and initial setup of the DevOps AI Toolkit Controller.
Recommended: For the easiest setup, we recommend installing the complete dot-ai stack which includes all components. See the Stack Installation Guide.
The stack automatically applies CapabilityScanConfig and ResourceSyncConfig CRs. For RemediationPolicy and Solution CRs, see the Remediation Guide and Solution Guide to configure them based on your needs.
Continue below if you want to install this component individually (for non-Kubernetes setups or granular control).
Prerequisites
- kubectl v1.11.3+
- Helm v3.0+
- Kubernetes cluster v1.11.3+
Optional: Test Cluster Setup
If you don't have a Kubernetes cluster, create one locally using Kind:
# Use isolated kubeconfig
export KUBECONFIG=$PWD/kubeconfig.yaml
# Create test cluster
kind create cluster --name dot-ai-controller-test
# Verify cluster access
kubectl cluster-info
Install Controller
The controller provides four features:
- Solution CRD: Resource tracking and lifecycle management (standalone)
- RemediationPolicy CRD: Event-driven remediation (requires DevOps AI Toolkit MCP)
- ResourceSyncConfig CRD: Resource visibility and semantic search (requires DevOps AI Toolkit MCP)
- CapabilityScanConfig CRD: Autonomous capability discovery (requires DevOps AI Toolkit MCP)
Install via Helm
# Set the version from https://github.com/vfarcic/dot-ai-controller/pkgs/container/dot-ai-controller%2Fcharts%2Fdot-ai-controller
export DOT_AI_CONTROLLER_VERSION="..."
helm install dot-ai-controller oci://ghcr.io/vfarcic/dot-ai-controller/charts/dot-ai-controller \
--version $DOT_AI_CONTROLLER_VERSION \
--namespace dot-ai \
--create-namespace \
--wait
This installs:
- Controller deployment
- Solution CRD
- RemediationPolicy CRD
- ResourceSyncConfig CRD
- CapabilityScanConfig CRD
- RBAC permissions
Configuration Reference
| Parameter | Description | Default |
|---|---|---|
annotations | Global annotations applied to all resources (e.g., reloader.stakater.com/auto: "true") | {} |
image.repository | Container image repository | ghcr.io/vfarcic/dot-ai-controller |
image.tag | Container image tag | Chart appVersion |
image.pullPolicy | Image pull policy | IfNotPresent |
resources.requests.memory | Memory request | 128Mi |
resources.requests.cpu | CPU request | 10m |
resources.limits.memory | Memory limit | 512Mi |
resources.limits.cpu | CPU limit | 500m |
Verify Installation
# Check controller is running
kubectl get pods --selector app.kubernetes.io/name=dot-ai-controller --namespace dot-ai
# Check controller logs
kubectl logs --selector app.kubernetes.io/name=dot-ai-controller --namespace dot-ai --tail 10
# Verify CRDs are installed
kubectl get crds | grep dot-ai.devopstoolkit.live
You should see all four CRDs:
capabilityscanconfigs.dot-ai.devopstoolkit.live
remediationpolicies.dot-ai.devopstoolkit.live
resourcesyncconfigs.dot-ai.devopstoolkit.live
solutions.dot-ai.devopstoolkit.live
Optional: Install DevOps AI Toolkit MCP
Required for RemediationPolicy, ResourceSyncConfig, and CapabilityScanConfig features. If you're only using the Solution CRD, skip this step.
For MCP installation instructions, see the DevOps AI Toolkit documentation.
The controller expects the MCP service at:
- RemediationPolicy:
http://dot-ai-mcp.dot-ai.svc.cluster.local:3456/api/v1/tools/remediate - ResourceSyncConfig:
http://dot-ai-mcp.dot-ai.svc.cluster.local:3456/api/v1/resources/sync - CapabilityScanConfig:
http://dot-ai-mcp.dot-ai.svc.cluster.local:3456/api/v1/tools/manageOrgData
What's Next
Choose which features you want to use:
- Solution CRD: Solution Guide - Resource tracking and lifecycle management (works standalone, no MCP needed)
- RemediationPolicy CRD: Remediation Guide - Event-driven remediation (requires MCP)
- ResourceSyncConfig CRD: Resource Sync Guide - Resource visibility and semantic search (requires MCP)
- CapabilityScanConfig CRD: Capability Scan Guide - Autonomous capability discovery (requires MCP)
Cleanup
Remove Controller
# Uninstall controller
helm uninstall dot-ai-controller --namespace dot-ai
# Delete namespace
kubectl delete namespace dot-ai
Remove Test Cluster
If you used Kind:
# Delete cluster
kind delete cluster --name dot-ai-controller-test
# Remove kubeconfig
rm kubeconfig.yaml