naftiko: 1.0.0-alpha2 info: label: Volcano Job API — Jobs description: 'Volcano Job API — Jobs. 7 operations. Lead operation: List Volcano Jobs across all namespaces. Self-contained Naftiko capability covering one Volcano business surface.' tags: - Volcano - Jobs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VOLCANO_API_KEY: VOLCANO_API_KEY capability: consumes: - type: http namespace: job-jobs baseUri: https://{kubernetes-api-server} description: Volcano Job API — Jobs business capability. Self-contained, no shared references. resources: - name: apis-batch.volcano.sh-v1alpha1-jobs path: /apis/batch.volcano.sh/v1alpha1/jobs operations: - name: listjoballnamespaces method: GET description: List Volcano Jobs across all namespaces outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apis-batch.volcano.sh-v1alpha1-namespaces-namespace-jobs path: /apis/batch.volcano.sh/v1alpha1/namespaces/{namespace}/jobs operations: - name: listnamespacedjob method: GET description: List Volcano Jobs in a namespace outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createnamespacedjob method: POST description: Create a Volcano Job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: apis-batch.volcano.sh-v1alpha1-namespaces-namespace-jobs-name path: /apis/batch.volcano.sh/v1alpha1/namespaces/{namespace}/jobs/{name} operations: - name: readnamespacedjob method: GET description: Get a Volcano Job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: replacenamespacedjob method: PUT description: Replace a Volcano Job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: patchnamespacedjob method: PATCH description: Partially update a Volcano Job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletenamespacedjob method: DELETE description: Delete a Volcano Job outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: job-jobs-rest port: 8080 description: REST adapter for Volcano Job API — Jobs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/apis/batch-volcano-sh/v1alpha1/jobs name: apis-batch-volcano-sh-v1alpha1-jobs description: REST surface for apis-batch.volcano.sh-v1alpha1-jobs. operations: - method: GET name: listjoballnamespaces description: List Volcano Jobs across all namespaces call: job-jobs.listjoballnamespaces outputParameters: - type: object mapping: $. - path: /v1/apis/batch-volcano-sh/v1alpha1/namespaces/{namespace}/jobs name: apis-batch-volcano-sh-v1alpha1-namespaces-namespace-jobs description: REST surface for apis-batch.volcano.sh-v1alpha1-namespaces-namespace-jobs. operations: - method: GET name: listnamespacedjob description: List Volcano Jobs in a namespace call: job-jobs.listnamespacedjob outputParameters: - type: object mapping: $. - method: POST name: createnamespacedjob description: Create a Volcano Job call: job-jobs.createnamespacedjob with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apis/batch-volcano-sh/v1alpha1/namespaces/{namespace}/jobs/{name} name: apis-batch-volcano-sh-v1alpha1-namespaces-namespace-jobs-name description: REST surface for apis-batch.volcano.sh-v1alpha1-namespaces-namespace-jobs-name. operations: - method: GET name: readnamespacedjob description: Get a Volcano Job call: job-jobs.readnamespacedjob outputParameters: - type: object mapping: $. - method: PUT name: replacenamespacedjob description: Replace a Volcano Job call: job-jobs.replacenamespacedjob with: body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: patchnamespacedjob description: Partially update a Volcano Job call: job-jobs.patchnamespacedjob with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletenamespacedjob description: Delete a Volcano Job call: job-jobs.deletenamespacedjob outputParameters: - type: object mapping: $. - type: mcp namespace: job-jobs-mcp port: 9090 transport: http description: MCP adapter for Volcano Job API — Jobs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-volcano-jobs-across-all description: List Volcano Jobs across all namespaces hints: readOnly: true destructive: false idempotent: true call: job-jobs.listjoballnamespaces outputParameters: - type: object mapping: $. - name: list-volcano-jobs-namespace description: List Volcano Jobs in a namespace hints: readOnly: true destructive: false idempotent: true call: job-jobs.listnamespacedjob outputParameters: - type: object mapping: $. - name: create-volcano-job description: Create a Volcano Job hints: readOnly: false destructive: false idempotent: false call: job-jobs.createnamespacedjob with: body: tools.body outputParameters: - type: object mapping: $. - name: get-volcano-job description: Get a Volcano Job hints: readOnly: true destructive: false idempotent: true call: job-jobs.readnamespacedjob outputParameters: - type: object mapping: $. - name: replace-volcano-job description: Replace a Volcano Job hints: readOnly: false destructive: false idempotent: true call: job-jobs.replacenamespacedjob with: body: tools.body outputParameters: - type: object mapping: $. - name: partially-update-volcano-job description: Partially update a Volcano Job hints: readOnly: false destructive: false idempotent: true call: job-jobs.patchnamespacedjob with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-volcano-job description: Delete a Volcano Job hints: readOnly: false destructive: true idempotent: true call: job-jobs.deletenamespacedjob outputParameters: - type: object mapping: $.