Configure Project Settings
Use Project Settings to manage configurations for a single Project in the PaletteAI UI. From this page, you can manage Project configuration such as display information, integrations, OpenID Connect (OIDC) group access, GPU resource limits, compute inventory, Compute Configs, Scaling Policies, Model as a Service Mappings, and target namespace access control.
To modify settings at the Tenant Scope, refer to Configure Tenant Settings. For more information on the different scopes, refer to Tenants and Projects.
Prerequisites
-
You have access to the Project in the PaletteAI UI.
-
To update Project settings, you must have the Project editor or admin role. For details, refer to Project Role Permissions.
Configure Project Settings
-
Log in to PaletteAI and select the Tenant that contains your Project.
-
From the Projects Menu in the top-left, select the Project you want to manage.
-
From the left main menu, select Project Settings.
Manage Basic Information
Use the Basic Information tab to update Project display values that appear elsewhere in the PaletteAI UI.
-
Update Project Name or Description. To add or remove Annotations and Labels, expand Metadata.
-
Select Save changes.
Manage Settings Ref
The Settings Ref tab manages the integrations the Project uses to connect to external systems such as Palette, Hugging Face, and NVIDIA NIMs. A Project can own its own Settings resource or inherit one from the Tenant.
For background on how Settings inheritance works, refer to Settings and Integrations and Configure Settings.
When No Settings Exist
When no Project Settings Ref exists and the Tenant has no default Settings, the tab shows an empty state.
-
Select Create Settings to open the creation dialog.
-
Enter a Settings Name.
The name must be 63 characters or fewer and contain only lowercase alphanumeric characters or hyphens, beginning and ending with an alphanumeric character. The name cannot be changed after creation.
-
Add at least one Palette, Hugging Face, or NVIDIA Inference Microservices (NIMs) integration. The create dialog requires at least one integration before you can save. For field-level guidance per integration type, refer to Add an Integration.
-
Select Confirm.
When the Project Owns a Settings Ref
When the Project has its own Settings Ref, the tab shows the Settings Ref header with a Ready or Not Ready status badge and the Integrations table.
Add an Integration
Each integration represents a connection to an external system. Each integration type can be added once per Settings Ref.
-
Select Add Integration to open the Add Integration drawer.
-
Choose an Integration Type — Palette, Hugging Face, or NVIDIA NIMs. The form fields update to match the selected type.
-
Complete the fields for the chosen integration type:
-
Palette integration — used to provision compute resources from your Palette tenant. Provide:
- Integration Name — display name, for example,
Palette-Docs. - Host URL — the Palette host URL, for example,
https://console.spectrocloud.com. - Tenant — the Palette tenant slug, for example,
acme. - Project ID — the default Palette project UID that PaletteAI uses when provisioning clusters.
- (Optional) Toggle Skip SSL Certificate Verification on to bypass certificate validation when connecting to the Palette server.
- API Key — the Palette API key. Select Validate to verify the credentials against the Palette server.
- (Optional) Toggle Cert Secret Ref on to reference a Kubernetes Secret containing a custom certificate authority bundle for the Palette server.
- Integration Name — display name, for example,
-
Hugging Face integration — enables Hugging Face model management features. Provide:
- Integration Name — display name, for example,
HuggingFace-Docs. - API Key — your Hugging Face Hub API key, which begins with
hf_. Select Validate to verify the key against the Hugging Face API.
- Integration Name — display name, for example,
-
NVIDIA NIMs integration — enables NVIDIA NGC model management features. Provide:
- Integration Name — display name, for example,
NVIDIA-Docs. - API Key — your NVIDIA NGC API key, which begins with
nvapi-. Select Validate to check the key format. The Validate action does not yet contact NVIDIA NGC.
- Integration Name — display name, for example,
-
-
(Optional) Expand Metadata to add Kubernetes labels and annotations to the integration.
-
Select Confirm to add the integration.
Edit or Delete an Integration
Use the action menu on each row of the Integrations table to edit or delete an integration.
-
Edit opens the integration drawer so you can update fields. To replace the API key for an existing integration, clear the masked value and re-enter the key, and then select Validate before saving.
-
Delete removes the integration. When the integration is used by active model deployments, PaletteAI requires you to confirm by typing the integration name.
Palette integrations cannot be deleted from the Project Settings Ref. To rotate Palette credentials, use Edit to update the existing entry.
Edit Basic Information
To update the Settings Ref's labels and annotations, select the Settings dropdown next to the Settings Ref name, and then select Edit basic information. The Settings Ref name itself cannot be changed after creation.
When the Project Inherits Tenant Settings
When the Project does not have its own Settings Ref and the Tenant has a default Settings configured, the tab shows the inherited Tenant integrations as read-only rows. Integrations shared from the Tenant display a Tenant scope badge.
-
For Hugging Face and NVIDIA NIMs integrations that the Tenant has shared with this Project and not locked, you can select Replace with project settings to create a Project-owned Settings with that integration, overriding the Tenant version.
-
If the Tenant has locked an integration, the Project cannot override it. The row is read-only.
To switch between Project-owned and inherited Settings, use the Settings dropdown next to the Settings Ref name and select Use Tenant Settings to remove the Project's own Settings Ref and fall back to the Tenant default.
Manage User Access
On the User Access tab, control which OIDC groups map to Project Viewer, Editor, and Admin roles.
-
Add or remove OIDC groups in Viewer Groups, Editor Groups, and Admin Groups.
Each role requires at least one OIDC group. Blank entries are ignored.
-
Select Save changes.
PaletteAI creates the corresponding Kubernetes RBAC roles and bindings for the configured groups.
Manage Target Namespaces
On the Target Namespaces tab, configure which Kubernetes namespaces on spoke clusters are permitted deployment targets for workloads in this Project.
-
Add or remove namespace entries in the admission configuration.
By default, workloads can deploy only to the Project namespace. Add additional namespaces to allow workloads to target other namespaces on spoke clusters.
-
Select Save changes.
Manage Resource Limits
On the Resource Limits tab, set GPU limits and requests for the Project. GPU limits cap the total number of GPUs that may be used within the Project, keyed by GPU family. GPU requests define the maximum number of GPUs that can be requested per GPU family for an individual AIWorkload and its associated Compute Pool.
-
In the GPU Limits section, add or edit GPU families and their corresponding limit values.
-
In the GPU Requests section, specify request values for each GPU family.
-
To add a new GPU family, select Add limit or Add request and choose the GPU family from the dropdown.
-
To remove a GPU family entry, use the delete icon next to the row.
-
Select Save changes to apply the updated configuration.
Project GPU limits must not exceed the Tenant GPU limits. If the Tenant has GPU limits configured, the webhook rejects Project limit values that exceed the Tenant ceiling. Increase the Tenant limits or reduce the Project limits to resolve validation errors.
Manage Compute
On the Compute tab, review the worker and control plane nodes that the Project has discovered through its Palette integration. This tab is read-only.
-
Review the node inventory.
The table includes Node Name, Status (Free or In use), Type (Worker or Control Plane), Architecture, GPU family, GPU count, GPU memory, CPU, and Memory.
-
Filter the list with Filter by name, or with the Status, Compute Pool, and GPU family selectors.
Create Compute Config
Create a Project-scoped Compute Config that Compute Pools in this Project can use as an infrastructure baseline. Each Compute Config captures cluster defaults such as Secure Shell (SSH) keys, Network Time Protocol (NTP) servers, and the network overlay. The Project must have a default Compute Config set via spec.computeConfigRef.
Enablement
-
On the Compute Config tab, select Create Compute Config to open the Create project compute config wizard.
-
Complete the wizard steps:
- General Information — set the Compute Config Name and Deletion Policy, and optionally add SSH Keys.
- Edge Configuration — configure NTP servers and the network overlay.
- Control plane defaults — set the node count, architecture, CPU, memory, labels, annotations, taints, single-node cluster mode, and worker-node eligibility.
- Worker Pool Defaults — define one or more worker pools with their node defaults.
- Review — confirm the configuration and select Create.
Manage Compute Configs
Review and adjust the Project Compute Configs. Tenant Compute Configs that have been shared with this Project also appear in the list.
-
Review the Compute Configs table.
The table includes the Compute Config Name, the virtual IP (VIP), Control plane nodes, Deployment Type, Scope badge (Project or Tenant), and an action menu.
-
For Project-scoped configs, use the action menu to edit, clone, or delete.
Cloning populates the wizard from the source. Deletion is blocked while a Compute Config is in use by a Compute Pool.
-
For Tenant-scoped configs shared into the Project, the action menu supports Clone only. Cloning creates a Project-scoped copy that you can customize.
-
To set a Compute Config as the Project default, select Set as default from the action menu. The default Compute Config is used when creating new Compute Pools.
Create Scaling Policy
Create a Project-scoped Scaling Policy that Compute Pools in this Project can reference to autoscale workloads.
For background on autoscaling and the YAML reference, refer to Create and Manage Scaling Policies.
Enablement
-
On the Autoscaling Policies tab, select Create Autoscaling Policy at the top of the table to open the Create Auto-Scaling Policy dialog.
-
Provide the following:
- Scaling Policy Name — a unique Kubernetes-compliant name.
- Metrics — add one or more CPU or GPU metrics with scale-up and scale-down thresholds and durations. At least one CPU or GPU metric is required.
- Resource Bounds — optional minimum and maximum CPU counts, plus minimum and maximum GPU counts per family. Each GPU family in Resource Bounds must have a matching entry in Metrics.
- Cool Down Duration — minimum wait time between scaling actions. Defaults to 15 minutes.
- Timeout Duration — maximum duration for an ongoing scaling operation. Defaults to 30 minutes.
-
Select Create to save the policy.
Manage Scaling Policies
Review the Scaling Policies available to this Project, and edit, clone, or delete existing Project-scoped policies. System and Tenant-shared policies also appear in the list.
-
Review the Scaling Policies table.
The table includes Scaling Policy Name, Metrics, In use Compute Pools, Cool Down, Timeout, Scope, and an action menu. System policies appear with a System scope badge and only support Clone. Tenant-shared policies appear with a Tenant scope badge and only support Clone.
-
Select the In use Compute Pools count to open a drawer that lists the Compute Pools referencing the policy.
-
For Project-scoped policies, use the action menu to edit, clone, or delete.
Editing modifies the policy in place. Cloning opens the dialog populated from the source policy. Deletion is disabled while the policy is referenced by any Compute Pool.
Create Model as a Service Mappings
Create a mapping on the Model as a Service Mappings tab to route incoming Model Deployments to a chosen Profile Bundle based on the model's source and attributes. When a Model Deployment matches the source and filters defined for a mapping, PaletteAI deploys the model using the target Profile Bundle.
-
Select Add Mapping to open the Add Mapping drawer. The drawer has two columns.
-
In the Model Source column on the left, choose Hugging Face or NVIDIA NIMs as the source type, then define the Model Match filter. Each mapping supports one filter, which is a key-value pair that a model must match for the mapping to apply.
For Hugging Face, the filter key is apps with values
vllmorollama. For NVIDIA NIMs, the filter is fixed tonims=trueand cannot be edited. -
In the Target Profile Bundle column on the right, pick the Profile Bundle that PaletteAI uses when a model matches the filter.
The table lists each Profile Bundle's Name, Version, and Type. Only Application and Fullstack Profile Bundles are eligible; Infrastructure bundles do not appear.
-
Select Confirm to save the mapping, or Cancel to discard it. Confirmed mappings are saved to the Project automatically.
Manage Model as a Service Mappings
Review existing mappings, and edit or delete them. Changes are saved to the Project automatically.
-
Review the mappings table.
The table includes Target Profile Bundle, Source Type, Model Filters, and an action menu. Filter the list by Source Type or use Filter by name to search.
-
Edit or delete an existing mapping from the action menu on each row.
Manage Models List
On the Models List tab, configure which models from Hugging Face and NVIDIA NGC are available for Model Deployments in this Project.
-
For each model source (Hugging Face, NVIDIA NIMs), configure the access control list by adding allowed or denied model repository names or NIM images.
-
Changes are saved to the Project automatically.
When the Tenant has shared and locked a model integration with this Project, the Models List is read-only. To override a Tenant model configuration that is not locked, select Use Project Models List to switch to Project-owned model settings. Select Use Tenant Models List to revert to the inherited Tenant configuration.
Validate
- Refresh the Project Settings page and confirm your saved changes persist on the applicable tab.
Next Steps
-
Settings and Integrations to learn how Tenant-level and Project-level Settings inheritance works.
-
Configure Settings for detailed guidance on Settings creation, secret management, and deletion behavior.
-
Create and Manage Tenant Settings to manage Tenant-wide configuration that Projects can inherit.
-
Compute Config to learn how Compute Configs define cluster deployment defaults.
-
Create and Manage Scaling Policies for the Scaling Policy YAML reference and field definitions.
-
Roles and Permissions for an overview of Tenant and Project Role-Based Access Control (RBAC).