API Reference
API Reference
pais.vmware.com/v1alpha1
Package v1alpha1 contains API Schema definitions for the pais v1alpha1 API group
APIRuntimeConfig
APIRuntimeConfig defines configuration/tuning parameters for all Private AI Services API
| Field | Description | Default | Validation |
|---|---|---|---|
|
deployment specifies the desired configuration for the Private AI Services API. Modify only if |
Auth
Auth describes the authentication backend for Private AI Service
| Field | Description | Default | Validation |
|---|---|---|---|
|
oidc defines the OpenID Connect connection details that the Private AI Services UI will use to authenticate users. Deprecated: Use providers instead. This field is retained for backward compatibility and will be removed in a future release. |
||
|
providers defines a list of authentication providers for the Private AI Services API and UI. |
AuthProvider
AuthProvider describes an authentication provider for Private AI Services.
| Field | Description | Default | Validation |
|---|---|---|---|
|
name is the stable, required identifier for this provider. It must be unique |
MaxLength: 8 |
|
|
displayName is an optional human-friendly label for this provider, surfaced in |
MaxLength: 253 |
|
|
oidc configures a standard OpenID Connect authentication provider. |
||
|
oidcCustom configures a customizable OpenID Connect authentication provider |
||
|
vcfa configures an authentication provider backed by VMware Cloud Foundation Automation (VCFA). |
||
|
staticCredentials configures a built-in authentication provider backed by a static user |
AutomaticUpgradeStrategy
AutomaticUpgradeStrategy means the Supervisor Service will manage upgrades
BackendAuth
BackendAuth configures authentication when connecting to a backend
| Field | Description | Default | Validation |
|---|---|---|---|
|
apiTokenRef may be used to provide a bearer token when making HTTPS requests to the backend. |
BackendTLS
BackendTLS configures TLS when connecting to a backend
| Field | Description | Default | Validation |
|---|---|---|---|
|
verification determines how to validate the HTTPS connection to the backend. Add certificate authorities to the PAISConfiguration.spec.clientTls.caBundleRefs in this namespace
|
Enum: [strict caOnly none mutual] |
CABundleReference
CABundleReference references either a ConfigMap or a Secret in the PAISConfiguration’s namespace whose data["ca.crt"] is a PEM-encoded certificate bundle to trust.
| Field | Description | Default | Validation |
|---|---|---|---|
|
kind of the resource in this namespace containing the CA bundle to trust |
ConfigMap |
Enum: [ConfigMap Secret] |
|
name of the ConfigMap or Secret in this namespace containing the CA bundle to trust |
MinLength: 1 |
ChildStatus
ChildStatus is the schema for child resources of PAISConfiguration
| Field | Description | Default | Validation |
|---|---|---|---|
|
APIGroup is the group for the resource being referenced. |
||
|
Kind is the type of resource being referenced |
||
|
Name is the name of resource being referenced |
||
|
observedGeneration describes the generation of this child observed by the PAISConfiguration controller |
ClientCredentialsGrant
ClientCredentialsGrant enables the client_credentials grant for staticCredentials providers. It is intentionally empty - its presence is the enablement marker. Additional configuration fields may be added here in the future.
ClientTLS
ClientTLS configures TLS/SSL clients used by Private AI Services to connect to remote services
| Field | Description | Default | Validation |
|---|---|---|---|
|
caBundleRefs specifies what certificates Private AI Services will trust when connecting to remote servers over TLS. Each element references either a ConfigMap or a Secret in the current namespace, Note: Name must be unique in the list, even if kind is different. In addition to being provided to PAIS pods, these CA bundles are included in VKS cluster Note that if this list is changed, or if the contents of the referenced ConfigMaps Be aware that changes to this list with an existing cluster will result in a rollout |
DBPasswordRef
DBPasswordRef describes the database connection secret reference to connect to the database
| Field | Description | Default | Validation |
|---|---|---|---|
|
name of a Secret in this namespace |
MinLength: 1 |
|
|
fieldPath is the name of the key within the Secret containing the password. In addition to this key for the password, there should also be |
MinLength: 1 |
Database
Database describes the connection details for Private AI Services to connect to a Postgres database See https://gitlab-vmw.devops.broadcom.net/moneta/dsm-tsql-provisioner/-/blob/4c2d19b30bbd5da3857aa2cad93270cf336874b2/dsm-apis/api/databases/v1alpha1/database_common.go#L381
| Field | Description | Default | Validation |
|---|---|---|---|
|
host is the network hostname of a PostgreSQL server to use |
MinLength: 1 |
|
|
port is the TCP port to connect to on the database server |
5432 |
|
|
username to use when connecting to the database server |
MinLength: 1 |
|
|
passwordRef is a reference to a Secret in this namespace containing the password for this database user |
||
|
dbname is the name of the logical database to use within the server |
MinLength: 1 |
|
|
sslMode configures how to validate the connection with the database server |
Enum: [VerifyFull VerifyCA Require Allow] |
DatabaseSslMode
Underlying type: string
DatabaseSslMode describes how the Private AI Services instance validates the SSL connection to the database.
-
Enum: [VerifyFull VerifyCA Require Allow]
Driver
Driver selects the GPU driver. Set exactly one of the subfields.
-
MaxProperties: 1
-
MinProperties: 1
| Field | Description | Default | Validation |
|---|---|---|---|
|
version selects a GPU driver version that ships in the PAIS GPU-operator |
Pattern: |
|
|
image is the full OCI reference of a custom GPU driver image |
MinLength: 1 |
EnvVar
EnvVar represents an environment variable present in a Container.
NOTE: We do not use corev1.EnvVar, as we cannot implement all sources of data
that it supports in EnvVarSource (since we’d have to mount these values into
the VKS cluster)
NOTE: Immutability for both properties is already provided by the struct referencing
this type. Adding the XValidation rules here as well exceeds complexity allowed by the
k8s API
| Field | Description | Default | Validation |
|---|---|---|---|
|
name is the key for an environment variable override to be passed to the inference engine |
MaxLength: 128 |
|
|
value is the value for an environment variable override to be passed to the inference engine |
GPUDriverType
Underlying type: string
GPUDriverType defines types of GPU drivers
-
Enum: [NVAIE OSS]
IndexingMCPServerRuntimeConfig
IndexingMCPServerRuntimeConfig defines configuration/tuning parameters for Private AI Services Indexing MCP server
| Field | Description | Default | Validation |
|---|---|---|---|
|
deployment specifies the desired configuration for the Private AI Services Indexing MCP server. |
IndexingWorkersRuntimeConfig
IndexingWorkersRuntimeConfig defines configuration/tuning parameters for all Private AI Services indexing workers
| Field | Description | Default | Validation |
|---|---|---|---|
|
deployment specifies the desired configuration for the Private AI Services workers performing |
||
|
workerThreads specifies the desired number of threads for each Private AI Services worker performing |
10 |
Maximum: 100 |
|
workerRateLimit specifies the desired rate-limit at which the Private AI Services workers performing |
10000/s |
MinLength: 1 |
InferenceEngine
Underlying type: string
InferenceEngine describes the valid types of engines for ModelEndpoint.
-
Enum: [Infinity vLLM LlamaCPP]
InferenceGatewayRoute
InferenceGatewayRoute describes a routing rule for the Inference Gateway
| Field | Description | Default | Validation |
|---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
MinProperties: 1 |
InferenceGatewayRouteBackend
InferenceGatewayRouteBackend describes a model running on an inference server either in this namespace or elsewhere.
| Field | Description | Default | Validation |
|---|---|---|---|
|
httpBaseUrl defines the base url of the server hosting the model to use. For ModelEndpoints managed by the Private AI Services instance within this namespace For ModelEndpoints managed by a Private AI Services instance in a different namespace, To use a model hosted on a remote API (e.g. cloud hosted model), provide the base URL of Do not include the |
Format: uri |
|
|
modelId defines the name of the model used inside a request sent to the inference server. For requests to ModelEndpoints managed by the Private AI Services instance in this namespace, For models managed by a Private AI Services instance in another namespace, For a remote API (e.g. a cloud hosted model) this should be the "modelId" defined by that API. |
pais |
MinLength: 1 |
|
tls configures transport level security for the HTTPS connection to this backend. |
{ verification:strict } |
|
|
auth configures authentication to this backend |
InferenceGatewayRouteEngine
Underlying type: string
InferenceGatewayRouteEngine describes the valid types of engines for InferenceGatewayRoute.
-
Enum: [Infinity vLLM LlamaCPP OpenAI GoogleOpenAI GoogleGemini GoogleVertexAI Mistral]
InferenceGatewayRouteMatches
InferenceGatewayRouteMatches describes the matching rules for a route
| Field | Description | Default | Validation |
|---|---|---|---|
|
routingName is the name that this namespace’s instance of Private AI Services |
MaxLength: 253 |
InferenceGatewayRouteModelTypeWithEngine
InferenceGatewayRouteModelTypeWithEngine describes a type of model inference and an engine to use for that inference for InferenceGatewayRoute
| Field | Description | Default | Validation |
|---|---|---|---|
|
type defines if the model is designed for completions or embeddings |
Enum: [Completions Embeddings] |
|
|
engine describes what inference engine is running this model. For a remote model accessible via OpenAI-compatible chat completion API For a remote model hosted on the Google Cloud Gemini Enterprise Agent For a remote model hosted on Google Cloud via the native Gemini API, For a remote model hosted on Google Cloud via its OpenAI compatibility The "Mistral" engine value is reserved for future use and is not |
Enum: [Infinity vLLM LlamaCPP OpenAI GoogleOpenAI GoogleGemini GoogleVertexAI Mistral] |
InferenceGatewayRouteSpec
InferenceGatewayRouteSpec specifies the details of the routing rule
| Field | Description | Default | Validation |
|---|---|---|---|
|
type defines if the model is designed for completions or embeddings |
Enum: [Completions Embeddings] |
|
|
engine describes what inference engine is running this model. For a remote model accessible via OpenAI-compatible chat completion API For a remote model hosted on the Google Cloud Gemini Enterprise Agent For a remote model hosted on Google Cloud via the native Gemini API, For a remote model hosted on Google Cloud via its OpenAI compatibility The "Mistral" engine value is reserved for future use and is not |
Enum: [Infinity vLLM LlamaCPP OpenAI GoogleOpenAI GoogleGemini GoogleVertexAI Mistral] |
|
|
matches describes how traffic will get routed to this model by the local instance of Private AI Services |
||
|
backend describes where inference requests should be forwarded to |
InferenceGatewayRouteStatus
InferenceGatewayRouteStatus reports the current status of an InferenceGatewayRoute
-
MinProperties: 1
| Field | Description | Default | Validation |
|---|---|---|---|
|
conditions represent the current state of the InferenceGatewayRoute. |
||
|
observedGeneration is the metadata.generation of the InferenceGatewayRoute resource that |
InferenceServerCustomization
InferenceServerCustomization describes the extra customization that can be provided to the inference server
| Field | Description | Default | Validation |
|---|---|---|---|
|
cliArgs describe additional command-line arguments to append when starting the inference engine |
||
|
envVars describe additional environment variables to set when starting the inference engine |
MaxItems: 1024 |
|
|
engineImage will override the inference server container image. |
MinLength: 1 |
|
|
engineImageCompressedSize should be set to the compressed size of the engineImage, if that field is set. The compressed size of an image is the sum of the layers, and is typically displayed on the web UI of container registries like Docker Hub. This field is used when sizing the /var/lib/containerd mount on the VKS worker nodes hosting this ModelEndpoint. In future versions of Private AI Services, this field may no longer be required and may be deprecated. |
15Gi |
|
|
sharedMemoryMountSize determines the size of the /dev/shm mount point inside |
64Mi |
|
|
tempMountSize determines the size in bytes of the /tmp mount point available to the inference server. |
1Gi |
Ingress
Ingress defines the desired state for how the Private AI Services runtime is accessible in the cluster
| Field | Description | Default | Validation |
|---|---|---|---|
|
serviceType determines how the Private AI Services runtime will be exposed as a Kubernetes Service. |
LoadBalancer |
Enum: [ClusterIP LoadBalancer] |
|
tlsSecretRef references a Secret of type kubernetes.io/tls in this namespace. |
IngressRuntimeConfig
IngressRuntimeConfig defines configuration/tuning parameters for the Private AI Services ingress
| Field | Description | Default | Validation |
|---|---|---|---|
|
deployment specifies the desired configuration for the Private AI Services ingress. Modify only if |
LLMTracesConfig
LLMTracesConfig defines the configuration for trace collection.
| Field | Description | Default | Validation |
|---|---|---|---|
|
endpoint specifies the target URL or address for the OpenTelemetry backend |
Format: uri |
|
|
protocol specifies the OpenTelemetry transport protocol. |
Enum: [grpc http/protobuf] |
|
|
projectName specifies the "openinference.project.name" resource attribute in accordance |
MinLength: 1 |
|
|
headersSecretRef selects a key field within a Secret in this namespace The value should be a semicolon-separated list of HTTP headers For example: Authorization=Bearer%20token123; X-Custom-Header=custom-value |
ManualUpgradeStrategy
ManualUpgradeStrategy is currently unsupported
MistralBackend
MistralBackend enables the Mistral AI engine for InferenceGatewayRoute. It is intentionally empty - its presence is the enablement marker. Additional configuration fields may be added here in the future.
ModelEndpoint
ModelEndpoint is a request to serve an AI model using a particular engine on 1 or more VMs
| Field | Description | Default | Validation |
|---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
MinProperties: 1 |
ModelEndpointSpec
ModelEndpointSpec defines the desired state of ModelEndpoint
| Field | Description | Default | Validation |
|---|---|---|---|
|
type defines if the model is designed for completions or embeddings |
Enum: [Completions Embeddings] |
|
|
engine describes what inferencing engine should be used when running a particular model |
Enum: [Infinity vLLM LlamaCPP] |
|
|
model describes the model which should be run for inference |
||
|
replicas describes how many instances of this model should be running Note that currently, all replicas of a ModelEndpoint will run in a single vSphere Zone |
1 |
Minimum: 0 |
|
routingName defines how this model will appear in the data plane API |
MaxLength: 253 |
|
|
virtualMachineClassName specifies the virtual machine class to use for running this model endpoint Note this value may interact with FailureDomain. Ensure your chosen FailureDomain has hardware |
MinLength: 1 |
|
|
storageClassName specifies the storage class to use for running this model endpoint |
MinLength: 1 |
|
|
failureDomain specifies the failure domain (vSphere Zone) to use for running this model endpoint. This choice of Zone may limit the available hardware (e.g. GPUs) available for this ModelEndpoint. Note that currently, all replicas of a ModelEndpoint will run in this 1 specified failureDomain. If this value is unset, the system will fallback to a default value, which may be customized via the special |
MinLength: 1 |
|
|
inferenceServerCustomization describes additional customization that can be appended |
{ } |
|
|
overrides is not yet implemented. Once implemented, it will enable a user to provide ytt overlays to customize the |
ModelEndpointSpecModel
ModelEndpointSpecModel describes a model which should be run for inference
| Field | Description | Default | Validation | ||
|---|---|---|---|---|---|
|
ociRef is a reference to an OCI artifact containing the model to run for inference. |
MaxLength: 1024 |
|||
|
pullSecrets describe a list of references to Kubernetes secrets to use
We recommend the engine image be hosted in a different repository than the model |
MaxItems: 1 |
ModelEndpointStatus
ModelEndpointStatus defines the observed state of ModelEndpoint
-
MinProperties: 1
| Field | Description | Default | Validation |
|---|---|---|---|
|
conditions update as changes occur in the status. |
||
|
observedGeneration describes the generation observed by the ModelEndpoint controller. |
||
|
children reports status information about child resources owned by this ModelEndpoint |
||
|
controllerVersion reports a version string for the controller-manager which has most recently reconciled this resource |
MinLength: 1 |
ModelType
Underlying type: string
ModelType describes the valid types of models.
-
Enum: [Completions Embeddings]
ModelTypeWithEngine
ModelTypeWithEngine describes a type of model inference and an engine to use for that inference for ModelEndpoint
| Field | Description | Default | Validation |
|---|---|---|---|
|
type defines if the model is designed for completions or embeddings |
Enum: [Completions Embeddings] |
|
|
engine describes what inferencing engine should be used when running a particular model |
Enum: [Infinity vLLM LlamaCPP] |
NonInteractiveGrants
NonInteractiveGrants holds dev-only non-interactive grant overrides for the staticCredentials auth provider.
| Field | Description | Default | Validation |
|---|---|---|---|
|
clientCredentials enables the OAuth2 client_credentials grant for all |
NvidiaGPUOperatorObservedState
NvidiaGPUOperatorObservedState holds the last-observed state of the NVIDIA GPU Operator running in the VKS guest cluster.
| Field | Description | Default | Validation |
|---|---|---|---|
|
clusterPolicySpec is the raw spec of the nvidia.com/v1 ClusterPolicy named |
MinLength: 1 |
|
|
clusterPolicyState is the value of status.state on the ClusterPolicy |
MinLength: 1 |
|
|
clusterPolicyConditions mirrors the status.conditions[] reported by the |
NvidiaGPURuntimeConfig
NvidiaGPURuntimeConfig defines NVIDIA GPU Driver software configuration (e.g. license config, nvcr.io image pull secrets etc.)
| Field | Description | Default | Validation |
|---|---|---|---|
|
gpuDriverType determines which type of NVIDIA GPU driver to use. Allowed values are NVAIE (default) and OSS. NVAIE supports both vGPU and passthrough devices, and requires a license key and pull secret from NVIDIA. OSS supports passthrough devices (no vGPU support). In this case the licenseConfigRef must not be set. |
NVAIE |
Enum: [NVAIE OSS] |
|
licenseConfigRef names a ConfigMap in this namespace containing Nvidia license access token and Nvidia GRID configuration. |
||
|
imagePullSecretRef names a Secret in this namespace containing NGC access token ("personal key") to be used as ImagePullSecret for access to Nvidia GPU operator container images (e.g. gpu-operator, vGPU driver). Secret must be of type |
||
|
gpuOperatorOverridesRef names a ConfigMap in this namespace containing Helm chart values for Nvidia gpu-operator. ConfigMap data must have a key named |
||
|
gpuOperatorVersion specifies the version of the NVIDIA GPU Operator Package to install. |
25.10.1 |
MinLength: 1 |
|
driver selects the GPU driver. |
MaxProperties: 1 |
OIDCCustomProvider
OIDCCustomProvider describes a customizable OpenID Connect authentication provider. It supports direct discovery URL configuration, optional static discovery config, JWKS caching, response header injection, and CEL-based authentication/authorization rules.
The OIDC provider must issue Access Tokens in JWT (JSON Web Token) format; opaque tokens requiring server-side introspection are not supported.
| Field | Description | Default | Validation |
|---|---|---|---|
|
discoveryUrl is the URL of the OpenID Connect discovery document |
Format: uri |
|
|
insecureSkipTLSVerify disables TLS certificate verification for HTTP requests made |
||
|
discoveryConfigRef references a ConfigMap key containing a static OpenID Connect |
||
|
signingKeysSecretRef references a Secret in the current namespace containing the |
||
|
scope defines what scopes are requested when initiating the auth flow. |
||
|
tokenMatch is a list of CEL expressions evaluated against the unverified |
items:MinLength: 1 |
|
|
validation defines CEL expression rules for authentication and authorization. |
OIDCCustomValidationDenyStatus
Underlying type: string
OIDCCustomValidationDenyStatus defines the HTTP status code returned when an OIDC custom validation rule denies a request.
-
Enum: [UNAUTHORIZED FORBIDDEN]
OIDCCustomValidationDenyWith
OIDCCustomValidationDenyWith defines the response to return when a validation expression evaluates to false.
| Field | Description | Default | Validation |
|---|---|---|---|
|
statusCode is the HTTP status code to return when the CEL expression evaluates to false. |
Enum: [UNAUTHORIZED FORBIDDEN] |
|
|
message is a human-readable static error message returned in the response body |
MinLength: 1 |
|
|
messageExpression is a CEL expression that evaluates to a string error message |
MinLength: 1 |
OIDCCustomValidationRule
OIDCCustomValidationRule defines a single CEL expression validation rule with an associated HTTP status code to return on failure.
| Field | Description | Default | Validation |
|---|---|---|---|
|
expression is a CEL expression that must evaluate to true for the request to pass this rule. |
MinLength: 1 |
|
|
denyWith defines the response returned when the CEL expression evaluates to false. |
OIDCProvider
OIDCProvider describes the details of the upstream OIDC provider Private AI Services will use.
The OIDC provider must issue Access Tokens in JWT (JSON Web Token) format; opaque tokens requiring server-side introspection are not supported.
| Field | Description | Default | Validation |
|---|---|---|---|
|
issuerUrl is the url of an OpenID provider endpoint that publishes the metadata for clients to use to construct a request to an OpenID server. |
Format: uri |
|
|
insecureSkipTLSVerify disables TLS certificate verification for HTTP requests made |
||
|
scope defines what scopes are requested when initiating the auth flow. |
||
|
clientId is the client ID used for communicating with the OIDC provider. The client must |
MinLength: 1 |
|
|
extraAudiences allows for additional OAuth2.0 client that Private AI Services will accept when validating the Access Token. |
||
|
extraIssuers allows for additional OIDC issuers that Private AI Services will accept when validating the Access Token. |
||
|
groupsClaim is an OIDC claim that the Private AI Services runtime will expect to exist in the clientId Token. |
groups |
MinLength: 1 |
|
authorizedGroups is the list of group names that are used to authorize user access |
ObservabilitySpec
ObservabilitySpec configures observability features
-
MinProperties: 1
| Field | Description | Default | Validation |
|---|---|---|---|
|
prometheusRuntime deploys and configures additional components to collect metrics from |
||
|
llmTraces configures collection of traces from LLM components |
OpenTelemetryTransportProtocol
Underlying type: string
OpenTelemetryTransportProtocol defines the transport protocol for OpenTelemetry export. See https://opentelemetry.io/docs/specs/otlp
-
Enum: [grpc http/protobuf]
PAISConfiguration
PAISConfiguration is the Schema for the paisconfigurations API
| Field | Description | Default | Validation |
|---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
MinProperties: 1 |
PAISConfigurationSpec
PAISConfigurationSpec defines the desired state of the Private AI Services instance within this namespace
| Field | Description | Default | Validation |
|---|---|---|---|
|
clientTls configures TLS/SSL clients used by Private AI Services to connect to remote services |
||
|
worker sets configuration for the Private AI Services Data Indexing and Retrieval workers |
||
|
database defines the connection parameters for the PostgreSQL database used by the Private AI Services. The database is required when at least one of the Agent Builder or Data Indexing and |
||
|
auth defines the authentication configuration for the Private AI Services API and UI |
||
|
ingress defines how the Private AI Services will be accessible |
{ serviceType:LoadBalancer } |
|
|
vksControlPlane specifies attributes of PAIS-managed vSphere Kubernetes Service cluster control plane |
||
|
nvidiaConfig defines pointers to configuration needed for Nvidia NVAIE software |
||
|
runtimeConfig defines the desired state for the Private AI Services runtime configuration |
||
|
upgradeStrategy defines how this instance of Private AI Services will be upgraded Currently only the "automatic" strategy is supported, which means that this instance will be |
{ automatic:map[] } |
|
|
observability configures metrics and trace collection for this instance of Private AI Services. |
MinProperties: 1 |
|
|
defaultStorageClassName sets the storage class used by components of this instance of Private AI Services. |
MinLength: 1 |
PAISConfigurationStatus
PAISConfigurationStatus defines the observed state of PAISConfiguration
-
MinProperties: 1
| Field | Description | Default | Validation |
|---|---|---|---|
|
conditions update as changes occur to this resource |
||
|
ingressServiceRef references the Service where this instance of Private AI Services is reachable |
||
|
observedGeneration describes the generation of this resource observed by the PAISConfiguration controller. |
||
|
children reports status information about child resources owned by this PAISConfiguration |
||
|
controllerVersion reports a version string for the controller-manager which has most recently reconciled this resource |
MinLength: 1 |
|
|
databaseRequired reports whether the current spec configuration requires a |
||
|
plannedComponents lists the component names that the controller |
||
|
gpuOperator reports the last-observed state of the NVIDIA GPU Operator deployed |
PrometheusRuntimeConfig
PrometheusRuntimeConfig defines the desired state for the metrics collection configuration.
| Field | Description | Default | Validation |
|---|---|---|---|
|
metricsRetention defines limit on how long (in number of days) to keep observability metrics data. |
90d |
Pattern: |
|
storageClassName can be used to customize the storage class for metrics data. |
MinLength: 1 |
|
|
prometheusOverridesRef is not yet supported. |
RoutingName
Underlying type: string
RoutingName a user-readable string to route to a particular model
-
MaxLength: 253
-
MinLength: 1
RuntimeConfig
RuntimeConfig defines configuration/tuning parameters for all Private AI Services components
| Field | Description | Default | Validation |
|---|---|---|---|
|
logVerbosity specifies the desired log verbosity used for all Private AI Services components. |
Enum: [Debug Info Warning Error] |
|
|
apiRuntimeConfig specifies the desired state of the configuration for the Private AI Services API |
||
|
ingressRuntimeConfig specifies the desired state of the configuration for the Private AI Services ingress |
||
|
indexingWorkersRuntimeConfig specifies the desired state of the configuration for the |
||
|
indexingMCPServerRuntimeConfig specifies the desired state of the configuration for the |
||
|
disableAgentBuilder disables the Agent Builder component of Private AI Services Agent Builder and Data Indexing and Retrieval (see disableIndexing) can be disabled |
||
|
disableIndexing disables the Data Indexing and Retrieval component of Private AI |
||
|
telemetryRuntimeConfig configures telemetry data collection for this instance of Private AI Services. |
RuntimeConfigLogVerbosity
Underlying type: string
RuntimeConfigLogVerbosity describes the valid types of log levels of the Private AI Services API.
-
Enum: [Debug Info Warning Error]
RuntimeDeploymentConfig
RuntimeDeploymentConfig defines configuration/tuning parameters for a Private AI Services component
| Field | Description | Default | Validation |
|---|---|---|---|
|
replicas specifies the desired replicas for the Private AI Services component. |
1 |
Minimum: 1 |
|
resources describes the desired compute resource requirements for the |
StaticCredentialsAPITokens
StaticCredentialsAPITokens configures Personal Access Token (PAT) issuance for a staticCredentials auth provider.
| Field | Description | Default | Validation |
|---|---|---|---|
|
expirationDefault is the PAT lifetime applied when a mint request does not |
720h |
MaxLength: 32 |
m |
s)([0-9]+(h |
m |
s))*$` |
|
expirationMax caps the maximum lifetime a caller may request when minting an |
8760h |
MaxLength: 32 |
m |
s)([0-9]+(h |
m |
s))*$` |
StaticCredentialsAccessTokens
StaticCredentialsAccessTokens configures the lifetime of OIDC access and id tokens issued by a staticCredentials auth provider.
| Field | Description | Default | Validation |
|---|---|---|---|
|
ttl is the lifetime applied to issued access tokens and id tokens. |
1h |
MaxLength: 32 |
m |
s)([0-9]+(h |
m |
s))*$` |
StaticCredentialsProvider
StaticCredentialsProvider describes a built-in authentication provider backed by a static user database stored in a Kubernetes Secret. The provider runs an embedded OIDC issuer, enabling interactive browser login and optionally issuing long-lived Personal Access Tokens (PATs) for non-interactive API clients.
Security note: this is a built-in (embedded) IdP. Unlike external OIDC providers, all credential exchanges go through the PAIS API surface itself - there is no separate third-party identity provider. A compromise of the PAIS service is also a compromise of the credential store. This provider is designed for demos, labs, and proof-of-concept deployments only and must not be used in environments with production data or network exposure beyond a trusted lab network.
| Field | Description | Default | Validation |
|---|---|---|---|
|
issuerBaseUrl is the externally reachable HTTPS base URL for this PAIS deployment, |
MaxLength: 2048 |
|
|
credentialsSecretRef references the Secret key containing the user database JSON. |
||
|
apiTokens configures API token issuance and verification. |
||
|
accessTokens configures the lifetime of OIDC access and id tokens issued by |
||
|
refreshTokens configures OAuth2 refresh-token issuance. When omitted, refresh |
StaticCredentialsRefreshTokens
StaticCredentialsRefreshTokens configures OAuth2 refresh-token issuance for a staticCredentials auth provider.
| Field | Description | Default | Validation |
|---|---|---|---|
|
ttl is the lifetime of each issued refresh token. Each successful refresh |
720h |
MaxLength: 32 |
m |
s)([0-9]+(h |
m |
s))*$` |
TLSVerification
Underlying type: string
TLSVerification describes how to verify TLS connections to the backend.
-
Enum: [strict caOnly none mutual]
TelemetryRuntimeConfig
TelemetryRuntimeConfig defines configuration for telemetry data collection.
| Field | Description | Default | Validation |
|---|---|---|---|
|
disabled specifies if telemetry data collection (usage metrics) is disabled. |
||
|
schedule is a cron schedule for the telemetry CronJob (e.g. "*/1 * * * *" for every minute). |
||
|
supercolliderUrl is the URL for the SuperCollider telemetry collector. If empty, the telemetry collector uses the default SuperCollider URL. |
||
|
collectionTimeoutSeconds is the maximum time in seconds allowed for telemetry collection (all collectors). If unset, the app default (60s) is used. |
Minimum: 1 |
|
|
uploadTimeoutSeconds is the maximum time in seconds for uploading telemetry to SuperCollider. If unset, the app default (35s) is used. |
Minimum: 1 |
UpgradeStrategy
UpgradeStrategy defines how this instance of Private AI Services will be upgraded
| Field | Description | Default | Validation |
|---|---|---|---|
|
automatic means the Supervisor Service will manage upgrades of this instance of Private AI Services |
||
|
manual is currently unsupported |
VCFAProvider
VCFAProvider describes an authentication provider backed by VMware Cloud Foundation Automation (VCFA).
| Field | Description | Default | Validation |
|---|---|---|---|
|
issuerUrl is the OIDC issuer URL of the VCFA authentication endpoint. |
Format: uri |
|
|
clientId identifies the VCFA relying party registered for this PAIS instance. |
MinLength: 1 |
|
|
insecureSkipTLSVerify disables TLS certificate verification for HTTP requests made |
||
|
scope defines what scopes are requested when initiating the auth flow. |
||
|
allowedOrgs is a static list of VCFA organization names permitted to access |
||
|
orgConfigRef references a ConfigMap key containing a list of VCFA organization names |
||
|
authorizedRoles is the list of VCFA role names required to access this Private AI Services |
||
|
authorizedGroups is the list of VCFA group names required to access this Private AI Services |
VKSControlPlaneConfig
VKSControlPlaneConfig defines configuration for the control plane of the VKS cluster used by Private AI Services.
| Field | Description | Default | Validation |
|---|---|---|---|
|
virtualMachineClassName specifies the virtual machine class to use for the control plane node of the VKS cluster. |
MinLength: 1 |
|
|
storageClassName can be used to customize the storage of the control plane node of the |
MinLength: 1 |
|
|
upgradeStrategy configures how the backing VKS cluster is upgraded. If unset, the cluster upgrade strategy will not be under user control. In the current version of Private AI Services, an unset value is equivalent to a Manual strategy using Future versions of Private AI Services may change the default behavior for this field, e.g. to automatically |
VKSManualUpgradeStrategy
VKSManualUpgradeStrategy describes the manual upgrade strategy for upgrading the VKS cluster
| Field | Description | Default | Validation |
|---|---|---|---|
|
version specifies the Kubernetes Release version to use for the VKS cluster hosting ModelEndpoints. A valid version string is formatted like "v1.32.0+vmware.6-fips-vkr.2" To list versions available in your Supervisor cluster, run Changing this field will cause temporary downtime for ModelEndpoints with only 1 replica. Please test changes in a non-production environment, and plan for an outage window. Only use release versions which have been documented as supported for PAIS. Warning: Other version strings, such as "v1.31" may be accepted by the API, It is also possible to specify the version by setting configuration on the PAIS |
MinLength: 1 |
VKSUpgradeStrategy
VKSUpgradeStrategy describes the strategy for upgrading the VKS cluster
| Field | Description | Default | Validation |
|---|---|---|---|
|
manual upgrade strategy means that the VKS Kubernetes release version is set by |
WorkerConfig
WorkerConfig defines the configuration for Data Indexing and Retrieval workers
| Field | Description | Default | Validation |
|---|---|---|---|
|
storageClassName is now deprecated. Deprecated: Set the top-level spec.defaultStorageClassName instead. As of Private AI Services 2.1, Data Indexing workers use ephemeral storage (emptyDir volumes). |
MinLength: 1 |