DPU Extension Service

Create DPU Extension Service

Create a DPU Extension Service for the current Tenant.

Org must have a Tenant entity. User must have authorization role with TENANT_ADMIN suffix.

post/v2/org/{org}/nico/dpu-extension-service

Request body

namestring required

Name for the DPU Extension Service. Must be unique for a given Tenant

descriptionstring nullable

Optional description for the DPU Extension Service

serviceType'KubernetesPod' | 'DpfHelmChart' required

Type of the DPU Extension Service

siteIdstring uuid required

ID for the Site the DPU Extension Service belongs to

datastring required

Deployment spec, limited to 131072 bytes once UTF-8 encoded; characters outside ASCII count as more than one byte. KubernetesPod requires a parseable Pod manifest declaring at least one container, whose kind, when present, is Pod. DpfHelmChart requires a strict JSON object with repoURL, chartName, chartVersion, security.privileged, and optional values; repoURL must use https:// or oci://, and serviceDaemonSet.nodeSelector is unsupported.

Example request

{
  "name": "busybox",
  "description": "Single, multi-call executable that contains stripped-down versions of common Unix utilities",
  "serviceType": "KubernetesPod",
  "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
  "data": "apiVersion: apps/v1\\nkind: Deployment\\nmetadata:\\n  name: busybox-deployment\\n  labels:\\n    app: busybox\\nspec:\\n  replicas: 1 # You can adjust the number of desired replicas here\\n  selector:\\n    matchLabels:\\n      app: busybox\\n  template:\\n    metadata:\\n      labels:\\n        app: busybox\\n    spec:\\n      containers:\\n      - name: busybox-container\\n        image: busybox:latest # You can specify a different BusyBox image tag\\n        command: [\"sh\", \"-c\", \"echo \\'BusyBox container running\\' && sleep 3600\"]",
  "credentials": {
    "registryUrl": "https://registry.hub.docker.com",
    "username": "johndoe",
    "password": "password123"
  },
  "observability": {
    "configs": [
      {
        "name": "busybox-metrics",
        "prometheus": {
          "scrapeIntervalSeconds": 30,
          "endpoint": "busybox:9090"
        }
      }
    ]
  }
}

Response

Created

idstring uuid

Unique identifier for the DPU Extension Service

namestring

Name for the DPU Extension Service. Must be unique for a given Tenant

descriptionstring nullable

Optional description for the DPU Extension Service

serviceType'KubernetesPod' | 'DpfHelmChart'

Type of the DPU Extension Service

siteIdstring uuid

ID for the Site the DPU Extension Service belongs to

tenantIdstring uuid

ID for the Tenant the DPU Extension Service belongs to

versionstring nullable

Latest version of the DPU Extension Service

activeVersionsstring[]

Latest and past versions of this DPU Extension Service that have not been deleted and are available for deployment

status'Pending' | 'Ready' | 'Error' | 'Updating' | 'Deleting'

Status values for DPU Extension Service objects

createdstring date-time

Date/time when the DPU Extension Service was created

updatedstring date-time

Date/time when the DPU Extension Service was last updated

Example response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "busybox",
  "description": "Single, multi-call executable that contains stripped-down versions of common Unix utilities",
  "serviceType": "KubernetesPod",
  "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
  "tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
  "version": "V1-T1761856992374052",
  "versionInfo": {
    "version": "V1-T1761856992374052",
    "data": "apiVersion: apps/v1\\nkind: Deployment\\nmetadata:\\n  name: busybox-deployment\\n  labels:\\n    app: busybox\\nspec:\\n  replicas: 1 # You can adjust the number of desired replicas here\\n  selector:\\n    matchLabels:\\n      app: busybox\\n  template:\\n    metadata:\\n      labels:\\n        app: busybox\\n    spec:\\n      containers:\\n      - name: busybox-container\\n        image: busybox:latest # You can specify a different BusyBox image tag\\n        command: [\"sh\", \"-c\", \"echo \\'BusyBox container running\\' && sleep 3600\"]",
    "hasCredentials": true,
    "created": "2019-08-24T14:15:22Z",
    "observability": {
      "configs": [
        {
          "name": "busybox-metrics",
          "prometheus": {
            "scrapeIntervalSeconds": 30,
            "endpoint": "busybox:9090"
          }
        }
      ]
    }
  },
  "activeVersions": [
    "V1-T1761857134382532",
    "V1-T1761856992374052"
  ],
  "status": "Ready",
  "statusHistory": [
    {
      "status": "Pending",
      "message": "DPU Service Extension is ready for use",
      "created": "2019-08-24T14:15:22Z",
      "updated": "2019-08-24T14:15:22Z"
    },
    {
      "status": "Pending",
      "message": "Request received, pending processing",
      "created": "2019-08-24T14:15:22Z",
      "updated": "2019-08-24T14:15:22Z"
    }
  ],
  "created": "2019-08-24T14:15:22Z",
  "updated": "2019-08-24T14:15:22Z"
}

Changes

Changed in 2 of the 100 revisions of this API.62

  • d4cff952b75b31See the full diff
    • the request property's maxLength was set to 131072

      request-property-max-length-set

    • added the new DpfHelmChart enum value to the response property for the response status

      response-property-enum-value-added

    • added the new Updating enum value to the response property for the response status

      response-property-enum-value-added

    • added the new DpfHelmChart enum value to the request property

      request-property-enum-value-added

  • d26122e47ad731See the full diff
    • the request property's maxLength was set to 131072

      request-property-max-length-set

    • added the new DpfHelmChart enum value to the response property for the response status

      response-property-enum-value-added

    • added the new Updating enum value to the response property for the response status

      response-property-enum-value-added

    • added the new DpfHelmChart enum value to the request property

      request-property-enum-value-added