Skip to main content
Version: 1.0

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:

  1. Reads the target AdvisorAgent spec (which tenant vCluster it targets)
  2. Transitions the resource's status to Deploying
  3. Deploys or updates the app-advisor-srv Deployment 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:

PurposeDefault bind address
Metrics:8080
Health/readiness probes:8081

Environment Variables​

VariableDescription
KUBECONFIGPath to the host cluster's kubeconfig (omit for in-cluster config)