Advisor Controller
Repo: o-apps/advisor-controller
Not an HTTP API — advisor-controller is a Kubernetes operator (built on controller-runtime) that runs in the global/host cluster and reconciles a custom AdvisorAgent resource. Its job is to deploy and manage app-advisor-srv into each tenant vCluster, so every tenant gets their own advisor instance rather than sharing one multi-tenant deployment.
Reconcile Loop
AdvisorAgentReconciler.Reconcile watches AdvisorAgent custom resources. For each one it:
- Reads the target
AdvisorAgentspec (which tenant vCluster it targets) - Transitions the resource's status to
Deploying - Deploys or updates the
app-advisor-srvDeployment inside that tenant's vCluster, using a Kubernetes client scoped to the host cluster to reach into the vCluster
This is the same "operator manages a per-tenant workload" pattern used elsewhere in the platform for CloudSpace provisioning — it keeps per-tenant advisor state and scaling isolated instead of building multi-tenancy into app-advisor-srv itself.
Endpoints
As a controller, it exposes only the standard controller-runtime operational endpoints, not a product API:
| Purpose | Default bind address |
|---|---|
| Metrics | :8080 |
| Health/readiness probes | :8081 |
Environment Variables
| Variable | Description |
|---|---|
KUBECONFIG | Path to the host cluster's kubeconfig (omit for in-cluster config) |