Portal Customization
GPU Cloud Providers have extensive options to customize the end user portal, offering flexibility in both appearance and in what compute/services are visible to users. These customizations are available via the Operations Console and require the Super Admin role.
Theme Customization¶
ℹ️ Minimum Controller Version: v3.1-30
To modify the look and feel of the portal:
- Log in to the Operations Console
- Navigate to Partners → click Edit
- Select the Theme Customizations tab
- Choose a Primary Color and Secondary Color
- A preview will update in real-time as you make selections
- Click Save Changes.
Once saved, these changes will reflect in the end user portal.
Logo Customization¶
To customize the logo shown on the portal:
- Navigate to Partners → click Edit.
- Click Edit again on the profile.
- Provide the logo URL.
Customizing Compute Types¶
ℹ️ Minimum Controller Version: v3.1-30
GPU Providers can define which compute types are visible in the end user portal. For example, custom entries such as "Namespace"
can be used to reflect internal conventions.
Steps:¶
- Log in to the Operations Console.
- Navigate to Partners → click Edit.
- Select the PaaS Customizations tab.
- Edit or add to the YAML/JSON configuration using the following structure:
{
"compute": {
"nav_label": "Compute",
"types": [
{
"value": "baremetal",
"label": "Baremetal",
"icon": "zmdi zmdi-laptop",
"description": "Physical dedicated servers with direct hardware access, providing maximum performance and control for resource-intensive workloads.",
"objectLabel": "Bare Metal",
"templateCard": {
"labelClass": "text-red-700/70",
"iconClass": "border-yellow-500/10 bg-yellow-100"
},
"homeComputeCard": {
"description": "Bare Metal instances provide dedicated physical servers with direct hardware access, offering maximum performance, security isolation, and control for demanding workloads that require consistent performance or specific hardware configurations.",
"iconClass": "border-red-500/10 bg-red-100 text-red-700/70"
}
},
{
"value": "vm",
"label": "Virtual Machines",
"icon": "zmdi zmdi-cloud",
"description": "Virtualized computing environments that provide flexible, isolated instances with dedicated resources for various workload requirements.",
"objectLabel": "Virtual Machine",
"templateCard": {
"labelClass": "text-red-700/70",
"iconClass": "border-yellow-500/10 bg-yellow-100"
},
"homeComputeCard": {
"description": "Virtual Machines offer flexible, isolated computing environments with dedicated CPU, memory, and storage resources. Ideal for a wide range of applications, VMs provide OS-level isolation with the ability to scale resources based on workload demands.",
"iconClass": "border-yellow-500/10 bg-yellow-100 text-yellow-700/70"
}
},
{
"value": "k8s",
"label": "Kubernetes",
"icon": "zmdi zmdi-brain",
"description": "Container orchestration platform for deploying, scaling, and managing containerized applications with automated workload distribution.",
"objectLabel": "Kubernetes",
"templateCard": {
"labelClass": "text-red-700/70",
"iconClass": "border-blue-500/10 bg-blue-100"
},
"homeComputeCard": {
"description": "Kubernetes provides a powerful container orchestration platform for deploying, scaling, and managing containerized applications. With features like automated deployment, scaling, load balancing, and self-healing capabilities, it offers an efficient environment for modern microservices architectures.",
"iconClass": "border-purple-500/10 bg-purple-100 text-purple-700/70"
}
},
{
"value": "vcluster",
"label": "vCluster",
"icon": "zmdi zmdi-robot",
"description": "Virtual Kubernetes clusters that provide isolated environments within a shared infrastructure, enabling multi-tenant resource optimization.",
"objectLabel": "vCluster",
"templateCard": {
"labelClass": "text-red-700/70",
"iconClass": "border-pink-500/10 bg-pink-100"
},
"homeComputeCard": {
"description": "vClusters are virtual Kubernetes clusters that run inside a namespace of an underlying Kubernetes cluster, providing fully isolated environments with their own control plane. Ideal for multi-tenant scenarios, they enable efficient resource utilization while maintaining strict workload separation.",
"iconClass": "border-pink-500/10 bg-pink-100 text-pink-700/70"
}
},
{
"value": "Namespace",
"label": "Namespace",
"icon": "zmdi zmdi-robot",
"description": "Isolated namespaces in a Kubernetes cluster.",
"objectLabel": "Namespace",
"templateCard": {
"labelClass": "text-red-700/70",
"iconClass": "border-pink-500/10 bg-pink-100"
},
"homeComputeCard": {
"description": "Isolated namespaces in a Kubernetes cluster for efficient resource utilization.",
"iconClass": "border-pink-500/10 bg-pink-100 text-pink-700/70"
}
}
]
}
Note: Default compute types include: Baremetal, Virtual Machines, Kubernetes, and vCluster.
When a new compute profile is created, the corresponding compute type options become available for selection.
Migration¶
If upgrading from a controller version older than v3.1-30:
- Annotate existing compute profiles to associate the appropriate compute type, e.g.:
"paas.envmgmt.io/compute_type": "vm"
- Run the migration script to associate existing compute instances with the correct type
Important: Contact Rafay support for assistance with the migration process.
Customizing Service Types¶
Just like compute types, service types can also be customized.
Steps:¶
- Log in to the Operations Console.
- Navigate to Partners → click Edit.
- Select the PaaS Customizations tab.
- Edit or add to the YAML/JSON configuration using the following structure:
{
"service": {
"navLabel": "Services",
"types": [
{
"value": "notebook",
"label": "Notebooks",
"icon": "zmdi zmdi-laptop",
"description": "Notebooks are applications that run on compute instances.",
"objectLabel": "Notebook"
},
{
"value": "Applications",
"label": "Applications",
"icon": "zmdi zmdi-robot",
"description": "Pre-defined application configurations.",
"objectLabel": "Applications"
}
]
}
}
When a new service profile is created, the corresponding service type options become available for selection.
Renaming the Developer Hub Portal¶
To change the label of the end user portal (default is Developer Hub):
- Go to Partners → click Edit.
- In the PaaS Customizations tab, add:
"developer_hub_label": "Customer Hub"