Skip to main content
Version: v1.1.x

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

  1. Log in to PaletteAI and select the Tenant that contains your Project.

  2. From the Projects Menu in the top-left, select the Project you want to manage.

  3. 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.

  1. Update Project name or Description. To add or remove Annotations and Labels, expand Metadata.

  2. Select Save.

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 define its own Settings resource, or omit settingsRef to fall back to the parent Tenant's Settings resource. Palette integrations are not inherited from the Tenant, so a Project that deploys Compute Pools defines its own Palette integration.

For background on how Tenant and Project Settings interact, refer to Settings and Integrations and Configure Settings.

When No Settings Exist

When no Project Settings Ref exists, the tab shows an empty state. From the empty state, you can select Assign Settings Ref to reference an existing Settings resource, or Create Settings to create a new one.

  1. Select Create Settings to open the creation dialog.

  2. In the Settings Ref Name field, enter a name for the settings resource.

    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.

  3. Add at least one integration. The create dialog requires at least one integration before you can save. A Palette integration is required to deploy Compute Pools. For field-level guidance per integration type, refer to Add an Integration.

  4. 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.

  1. Select Add Integration to open the Add Integration drawer.

  2. Choose an Integration TypePalette, Hugging Face, or NVIDIA NIMs. The form fields update to match the selected type.

  3. Complete the fields for the chosen integration type:

    • Palette integration — used to provision compute resources from your Palette tenant. Every Project must define its own Palette integration. 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.
    • 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. Select Validate to verify the key against the Hugging Face API.
    • 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. Select Validate to check that a key is provided. The Validate action does not verify the key format or contact NVIDIA NGC.
  4. (Optional) Expand Metadata to add Kubernetes labels and annotations to the integration.

  5. 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. PaletteAI always requires you to confirm the deletion by typing the integration name, because the integration may be used by active model deployments.

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 Tenant Integrations Are Shared

When the Tenant has shared Hugging Face or NVIDIA NGC integrations with this Project, those integrations appear in the Integrations table with a Tenant scope badge.

  • Palette integrations are not shared from the Tenant Settings Ref. Every Project must define its own Palette integration.

  • For Hugging Face and NVIDIA NGC integrations that the Tenant has shared with this Project and not locked, you can select Override Tenant Integration from the row's action menu to create a Project-owned version of that integration, overriding the Tenant version.

  • If the Tenant has locked an integration, the Project cannot override it. The row is read-only.

Manage User Access

On the User Access tab, control which OIDC groups map to Project Viewer, Editor, and Admin roles.

  1. 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.

  2. Select Save.

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.

  1. Use Add namespace to add entries to the Allow List (namespaces where workloads and their resources can be deployed) or the Deny List (namespaces where workloads and their resources cannot be deployed), and remove entries you no longer need.

    By default, workloads can deploy only to the Project namespace. Add additional namespaces to the Allow List to allow workloads to target other namespaces on spoke clusters.

  2. (Optional) Enable Allow all to permit all namespaces by default. This clears the allow list; use the deny list to block specific namespaces. Similarly, enable Deny all to block all namespaces by default and use the allow list to permit specific namespaces.

  3. (Optional) Enable the Allow cluster-scoped resources checkbox to permit workloads to create cluster-scoped resources.

  4. Select Save.

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.

  1. In the GPU > Limits section, add or edit GPU families and their corresponding limit values. Limits cap the total GPUs this Project may use per GPU type across all Compute Pools and AI Workloads.

  2. In the GPU > Requests section, specify request values for each GPU family. Requests cap the GPUs a single Compute Pool or AI Workload in this Project may request per GPU type.

  3. If the Tenant has configured per-Project limit overrides, a read-only GPU > Limit Overrides section also appears. It shows the maximum GPUs the Tenant allows this Project to use per GPU type. When both limits are set, the lower value applies.

  4. To add a new GPU family, select Add limit or Add Request and choose the GPU family from the dropdown.

  5. To remove a GPU family entry, use the delete icon next to the row.

  6. Select Save to apply the updated configuration.

warning

Project GPU limits and requests must not exceed the Tenant GPU ceilings. When the Tenant has GPU requests configured, the webhook rejects Project request or limit values that exceed the corresponding Tenant values. Increase the Tenant values or reduce the Project values 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.

  1. Choose between the Control Plane Resources and Worker Resources sub-tabs.

  2. Review the node inventory.

    The Control Plane Resources table includes Name, Resource Groups, Architecture, CPU, Memory, and Status. The Worker Resources table additionally includes GPU Family, GPU Count, and GPU Memory. The Status column reports available, in-use, unhealthy, or unknown.

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

  1. On the Compute Config tab, select Create Compute Config to open the Create Compute Config wizard.

  2. Complete the wizard steps:

    • Basic Information — set the Compute Config Name and Deletion Policy, and optionally add SSH Keys.
    • Edge Configuration — configure NTP servers and the network overlay.
    • Node Pool Defaults — configure the control plane pool and worker pool default settings, such as node count, architecture, CPU, memory, labels, annotations, taints, single-node cluster mode, and worker-node eligibility.
    • 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.

  1. Review the Compute Configs table.

    The table includes a Default radio column, Compute Config Name, Control Plane Pools, Worker pools, Scope badge (Project or Tenant), and an action menu.

  2. For Project-scoped configs, use the action menu to Edit or Delete.

    Deletion is disabled while the Compute Config is the Project default.

  3. For Tenant-scoped configs shared into the Project, the action menu supports Clone only. Cloning creates a Project-scoped copy that you can customize.

  4. To set a Compute Config as the Project default, select its radio button in the Default column. 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

  1. On the Autoscaling Policies tab, select Create Scaling Policy at the top of the table to open the policy dialog.

  2. 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.
  3. 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.

  1. Review the Scaling Policies table.

    The table includes Scaling Policy Name, Metrics, In use Compute Pools, Cooldown, 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.

  2. Select the In use Compute Pools count to open a drawer that lists the Compute Pools referencing the policy.

  3. 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.

  1. Select Add Mapping to open the Add Mapping drawer. The drawer has two columns.

  2. In the Model Source column on the left, choose Hugging Face or NVIDIA NIMs as the source type. For Hugging Face, define the Model Match filters (AND). Each mapping supports at most 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 vllm or ollama. NVIDIA NIMs mappings do not use filters.

  3. 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.

  4. 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.

  1. 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.

  2. 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.

  1. For each model source (Hugging Face, NVIDIA NIMs), configure the access control list by adding allowed or denied model repository names or NIM images.

  2. Select Save to apply the updated access control list.

info

When the Tenant has shared and locked a model integration with this Project, the Models List is read-only. If the Project has overridden a Tenant model configuration that is not locked, select Use Tenant Models List to revert to the inherited Tenant configuration.

Validate

  1. Refresh the Project Settings page and confirm your saved changes persist on the applicable tab.

Next Steps