Skip to content

MaaSSubscription

BFF representation of a MaaSSubscription Kubernetes custom resource

Type: object

Properties

Property Type Required Description
name string Yes

Name of the MaaSSubscription resource (metadata.name)

Example: premium-team-sub

displayName string No

Display name for the subscription (from openshift.io/display-name annotation)

Example: Premium Team Subscription

description string No

Description of the subscription (from openshift.io/description annotation)

Example: This subscription is for the premium team

namespace string Yes

Namespace of the MaaSSubscription resource

Example: maas-system

phase string No

Current phase of the subscription (from status)

Allowed values: Pending, Active, Failed

Example: Active

statusMessage string No

Human-readable status message from the Ready condition in status.conditions

Example: successfully reconciled

reason string No

Reason from the Ready condition in status.conditions

Example: Reconciled

status string No

Status from the Ready condition in status.conditions (e.g. True, False, Unknown)

Example: True

conditionType string No

Condition type from the Ready condition in status.conditions

Example: Ready

lastTransitionTime string (date-time) No

lastTransitionTime from the Ready condition in status.conditions

Example: 2026-01-01T00:00:00Z

inferencePriority integer (int32) No

Subscription inference priority (higher = higher priority). Omitted when unset; the scheduler applies default 0.

Example: 10

inferenceObjectivesReady ConditionSummary No

InferenceObjectivesReady condition from status.conditions when present (only written by the controller when inferencePriority is set).

inferenceObjectivesReady.type string Yes

Condition type

Example: InferenceObjectivesReady

inferenceObjectivesReady.status string Yes

Condition status (True, False, Unknown)

Example: True

inferenceObjectivesReady.reason string No

Machine-readable reason

Example: Reconciled

inferenceObjectivesReady.message string No

Human-readable message

Example: Inference objectives are ready

inferenceObjectivesReady.lastTransitionTime string (date-time) No

When the condition last transitioned

Example: 2026-01-01T00:00:00Z

owner OwnerSpec Yes
modelRefs array of ModelSubscriptionRef Yes

Models included in this subscription with per-model rate limits and optional read-only inference status from flowControlStatuses

Constraints: minimum items 1

tokenMetadata TokenMetadata No
creationTimestamp string (date-time) No

When the resource was created

deletionTimestamp string (date-time) No

When set, the subscription is marked for deletion (Kubernetes metadata.deletionTimestamp)

Example

{
  "name": "premium-team-sub",
  "displayName": "Premium Team Subscription",
  "description": "This subscription is for the premium team",
  "namespace": "maas-system",
  "phase": "Active",
  "statusMessage": "successfully reconciled",
  "reason": "Reconciled",
  "status": "True",
  "conditionType": "Ready",
  "lastTransitionTime": "2026-01-01T00:00:00Z",
  "inferencePriority": 10,
  "inferenceObjectivesReady": {
    "type": "InferenceObjectivesReady",
    "status": "True",
    "reason": "Reconciled",
    "message": "Inference objectives are ready",
    "lastTransitionTime": "2026-01-01T00:00:00Z"
  },
  "owner": {
    "groups": [
      {
        "name": "premium-users"
      }
    ]
  },
  "modelRefs": [
    {
      "name": "llama-2-7b-chat",
      "namespace": "maas-models",
      "tokenRateLimits": [
        {
          "limit": 100000,
          "window": "24h"
        }
      ],
      "billingRate": {
        "perToken": "0.0001"
      },
      "objectiveName": "maas-models-as-a-service-gold-maas-model-user-inference-pool-a1b2c3d4e5",
      "targetPool": "maas-model-user-inference-pool",
      "ready": true,
      "reason": "ObjectiveReconciled",
      "message": "InferenceObjective sets priority 10"
    }
  ],
  "tokenMetadata": {
    "organizationId": "org-123",
    "costCenter": "engineering",
    "labels": {
      "key": "string"
    }
  },
  "creationTimestamp": "2024-01-31T09:30:00Z",
  "deletionTimestamp": "2024-01-31T09:30:00Z"
}