Connected Clusters in Loft
Loft can be run in a single cluster but it can also run in one cluster but users work with other clusters that are connected to Loft.
flowchart LR;
CLI(Loft CLI / UI) --> Loft
kubectl(kubectl, helm, ...) --> Loft
Loft("<img src='/docs/media/loft-logo.svg' width='60' height='30' />")
Loft -- uses --> ClusterAccess(Cluster Access)
ClusterAccess --> ClusterA(Kubernetes Cluster A)
ClusterAccess --> ClusterB(Kubernetes Cluster B)
ClusterAccess --> ClusterC(Kubernetes Cluster ...)
class Loft loft
Configuration
Metadata
Display Name
JSONPath in Cluster CRD:
spec.displayName (type: string)
Kubernetes Name
JSONPath in Cluster CRD:
metadata.name (type: string)
Description
JSONPath in Cluster CRD:
spec.description (type: string)
Labels
JSONPath in Cluster CRD:
metadata.labels (type: map[string]string)
Annotations
JSONPath in Cluster CRD:
metadata.annotations (type: map[string]string)
Kube-Config
JSONPath in Cluster CRD:
spec.config (type: SecretRef)
Default Templates
For Spaces
JSONPath in Cluster CRD:
metadata.annotations["space.loft.sh/default-template"] (type: string)
For Virtual Clusters
JSONPath in Cluster CRD:
metadata.annotations["virtualcluster.loft.sh/default-template"] (type: string)
Loft Agent
Ignore Agent
JSONPath in Cluster CRD:
metadata.annotations["loft.sh/cluster-ignore-agent"] (type: string)
Agent Values
JSONPath in Cluster CRD:
metadata.annotations["loft.sh/agent-values"] (type: string)
Direct Cluster Endpoint
JSONPath in Cluster CRD:
metadata.annotations["loft.sh/direct-cluster-endpoint"] (type: string)
Insecure Endpoint
JSONPath in Cluster CRD:
metadata.annotations["loft.sh/direct-cluster-endpoint-insecure"] (type: string)
CA Certificate
JSONPath in Cluster CRD:
metadata.annotations["loft.sh/direct-cluster-endpoint-ca-data"] (type: string)
Access To Cluster
JSONPath in Cluster CRD:
spec.access (type: Access[])