Help us shape the future of Go! Take the 2026 Go Developer Survey

lightspeed-hub

module
v0.0.0-...-5b07b30 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2026 License: Apache-2.0

README

lightspeed-hub

Multicluster hub operator for OpenShift Lightspeed. Runs on a central hub cluster and manages a fleet of spoke clusters, coordinating agentic operations across the fleet.

The hub operator validates spoke connectivity, provisions credentials for standalone adapters, and monitors spoke health — all driven by two CRDs: HubConfig (cluster-wide configuration) and SpokeCluster (one per registered spoke).

Prerequisites

The following must be installed on the hub cluster before deploying lightspeed-hub:

  • lightspeed-operator — provides OLSConfig, the lightspeed-service, and LLM provider configuration
  • lightspeed-agentic-operator — reconciles AgenticRun CRs targeting spoke clusters

Installation

Deploy the operator via Helm into the openshift-lightspeed namespace, then create a HubConfig CR to configure how spoke clusters are registered.

apiVersion: hub.openshift.io/v1alpha1
kind: HubConfig
metadata:
  name: cluster
spec:
  clusterRegistryMode: secret

Note: MCE-based auto-discovery (clusterRegistryMode: mce) will be supported in a future release.

Registering Spoke Clusters

SpokeCluster is a cluster-scoped CR. Each instance represents one spoke cluster.

Create a Secret containing the spoke's kubeconfig, then reference it:

apiVersion: hub.openshift.io/v1alpha1
kind: SpokeCluster
metadata:
  name: spoke-east
spec:
  apiServer: https://api.spoke-east.example.com:6443
  credentialSource:
    secret:
      name: spoke-east-kubeconfig
      namespace: openshift-lightspeed

Re-applying a SpokeCluster CR is safe — the reconciler is idempotent and converges without side effects.

Status and Health

The hub continuously monitors each spoke's API server reachability and reflects the result in status conditions. Check a spoke's health with:

kubectl get spokecluster spoke-east -o jsonpath='{.status.conditions}'

Key conditions:

Condition Meaning
Connected Spoke API server is reachable via the credential broker
AdaptersReady Per-spoke adapter credentials have been provisioned

An unhealthy spoke does not block operations on other spokes.

Development

make build      # Build the operator binary
make test       # Run unit tests
make lint       # Run golangci-lint
make generate   # Regenerate DeepCopy implementations
make manifests  # Regenerate CRD YAML and RBAC ClusterRole
make fmt        # Run go fmt
make vet        # Run go vet

License

Apache License 2.0 — see LICENSE.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the hub v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the hub v1alpha1 API group.
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL