PaletteAI Components
PaletteAI is installed through the Mural umbrella Helm chart, which deploys a set of cooperating services. Some of these services are built by Spectro Cloud, and others are established open-source projects that PaletteAI configures and manages for you. This page explains what each component is, what it does, and where it runs, so you can recognize the services in your cluster and understand how they fit together.
For the configuration options each component exposes, refer to the Helm Configuration Reference.
PaletteAI Services
The following services are built by Spectro Cloud and form the core of PaletteAI.
| Component | Runs On | Role |
|---|---|---|
| Canvas | Hub | The PaletteAI web console. Canvas provides the user interface for deploying applications and models, creating Compute Pools, and managing tenants, projects, and settings. |
| Hue | Hub and spokes | The workload engine. Hue turns your deployment requests into Kubernetes resources, manages Definitions and Workload Profiles, and reconciles workloads on every cluster. |
| Brush | Hub | The spoke installer. When a new spoke cluster joins the hub, Brush automatically installs and manages the PaletteAI services that the spoke needs. You never install PaletteAI on spoke clusters manually. |
| Curator | Spokes | The hardware inventory agent. Curator reads the hardware characteristics of each node, such as GPU model and count, and reports them to the hub so that PaletteAI can track Compute Pool capacity. |
| FluxCD Manager | Hub | A controller that installs and maintains the Flux CD components on spoke clusters, keeping the GitOps machinery consistent across the fleet. |
| Mural CRDs | Hub and spokes | The Kubernetes Custom Resource Definitions (CRDs) for all PaletteAI resources, such as ComputePool, ProfileBundle, and Workload. The mural-crds chart must be installed before, and upgraded before, the main mural chart. |
Open-Source Components
PaletteAI packages the following open-source projects in the Mural Helm chart. PaletteAI configures them automatically, but operators can tune or, in some cases, replace them.
| Component | Runs On | Role |
|---|---|---|
| Dex | Hub | An OpenID Connect (OIDC) identity provider. Dex signs users in to Canvas and can federate to your existing identity provider, such as Keycloak or LDAP. You can turn off Dex to use an external OIDC provider. |
| Traefik | Hub | The ingress controller. Traefik routes HTTPS traffic to Canvas and Dex and terminates TLS. You can turn off Traefik to use an existing ingress controller. |
| Flux CD | Hub and spokes | A GitOps toolkit. Flux delivers and reconciles Helm releases and manifests, and is the mechanism PaletteAI uses to install services and workloads on clusters. |
| Zot | Hub | An OCI registry. Zot stores PaletteAI artifacts, such as Definitions and workload revisions, that spoke clusters pull from the hub. Refer to OCI Registries for details. |
| Open Cluster Management | Hub and spokes | The multi-cluster federation layer. The FleetConfig controller on the hub registers spoke clusters and manages the Open Cluster Management (OCM) agents that let the hub deliver resources to spokes. |
| Alertmanager | Hub | The audit log sink. PaletteAI services send audit events to Alertmanager, which can forward them to your logging or alerting systems. Refer to Audit Logging for setup. |
| cert-manager | Hub and spokes | Certificate management. cert-manager issues and renews the TLS certificates that secure communication between PaletteAI services. |
Where Components Run
The hub cluster hosts the control plane services, while spoke clusters run only what they need to receive and operate workloads. Brush installs and manages all spoke components automatically.
| Component | Hub | Spokes |
|---|---|---|
| Canvas | ✅ | ❌ |
| Dex | ✅ | ❌ |
| Traefik | ✅ | ❌ |
| Brush | ✅ | ❌ |
| Zot | ✅ | ❌ |
| Alertmanager | ✅ | ❌ |
| FleetConfig controller | ✅ | ❌ |
| FluxCD Manager | ✅ | ❌ |
| Hue | ✅ | ✅ |
| Flux CD | ✅ | ✅ |
| Mural CRDs | ✅ | ✅ |
| cert-manager | ✅ | ✅ |
| Open Cluster Management | ✅ | ✅ |
| Curator | ❌ | ✅ |
By default, the hub cluster also acts as a spoke, so it can run workloads alongside its control plane role. In this hub-as-spoke mode, the hub runs both sets of components. Refer to the Hub and Spoke Model for details.
Next Steps
- Hub and Spoke Model — Learn how the hub coordinates spoke clusters.
- OCI Registries — Learn how artifacts move between the hub and spokes.
- Helm Configuration Reference — Configure each component in the Mural Helm chart.