naftiko: 1.0.0-alpha2 info: label: HashiCorp Nomad HTTP API — Deployments description: 'HashiCorp Nomad HTTP API — Deployments. 6 operations. Lead operation: List deployment allocations. Self-contained Naftiko capability covering one Nomad business surface.' tags: - Nomad - Deployments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NOMAD_API_KEY: NOMAD_API_KEY capability: consumes: - type: http namespace: http-deployments baseUri: http://localhost:4646/v1 description: HashiCorp Nomad HTTP API — Deployments business capability. Self-contained, no shared references. resources: - name: deployment-allocations-deploymentID path: /deployment/allocations/{deploymentID} operations: - name: listdeploymentallocations method: GET description: List deployment allocations outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deployment-fail-deploymentID path: /deployment/fail/{deploymentID} operations: - name: faildeployment method: PUT description: Fail a deployment outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deployment-pause-deploymentID path: /deployment/pause/{deploymentID} operations: - name: pausedeployment method: PUT description: Pause or resume a deployment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deployment-promote-deploymentID path: /deployment/promote/{deploymentID} operations: - name: promotedeployment method: PUT description: Promote a deployment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deployment-deploymentID path: /deployment/{deploymentID} operations: - name: readdeployment method: GET description: Read a deployment outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deployments path: /deployments operations: - name: listdeployments method: GET description: List deployments outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.NOMAD_API_KEY}}' exposes: - type: rest namespace: http-deployments-rest port: 8080 description: REST adapter for HashiCorp Nomad HTTP API — Deployments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/deployment/allocations/{deploymentid} name: deployment-allocations-deploymentid description: REST surface for deployment-allocations-deploymentID. operations: - method: GET name: listdeploymentallocations description: List deployment allocations call: http-deployments.listdeploymentallocations outputParameters: - type: object mapping: $. - path: /v1/deployment/fail/{deploymentid} name: deployment-fail-deploymentid description: REST surface for deployment-fail-deploymentID. operations: - method: PUT name: faildeployment description: Fail a deployment call: http-deployments.faildeployment outputParameters: - type: object mapping: $. - path: /v1/deployment/pause/{deploymentid} name: deployment-pause-deploymentid description: REST surface for deployment-pause-deploymentID. operations: - method: PUT name: pausedeployment description: Pause or resume a deployment call: http-deployments.pausedeployment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/deployment/promote/{deploymentid} name: deployment-promote-deploymentid description: REST surface for deployment-promote-deploymentID. operations: - method: PUT name: promotedeployment description: Promote a deployment call: http-deployments.promotedeployment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/deployment/{deploymentid} name: deployment-deploymentid description: REST surface for deployment-deploymentID. operations: - method: GET name: readdeployment description: Read a deployment call: http-deployments.readdeployment outputParameters: - type: object mapping: $. - path: /v1/deployments name: deployments description: REST surface for deployments. operations: - method: GET name: listdeployments description: List deployments call: http-deployments.listdeployments outputParameters: - type: object mapping: $. - type: mcp namespace: http-deployments-mcp port: 9090 transport: http description: MCP adapter for HashiCorp Nomad HTTP API — Deployments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-deployment-allocations description: List deployment allocations hints: readOnly: true destructive: false idempotent: true call: http-deployments.listdeploymentallocations outputParameters: - type: object mapping: $. - name: fail-deployment description: Fail a deployment hints: readOnly: false destructive: false idempotent: true call: http-deployments.faildeployment outputParameters: - type: object mapping: $. - name: pause-resume-deployment description: Pause or resume a deployment hints: readOnly: false destructive: false idempotent: true call: http-deployments.pausedeployment with: body: tools.body outputParameters: - type: object mapping: $. - name: promote-deployment description: Promote a deployment hints: readOnly: false destructive: false idempotent: true call: http-deployments.promotedeployment with: body: tools.body outputParameters: - type: object mapping: $. - name: read-deployment description: Read a deployment hints: readOnly: true destructive: false idempotent: true call: http-deployments.readdeployment outputParameters: - type: object mapping: $. - name: list-deployments description: List deployments hints: readOnly: true destructive: false idempotent: true call: http-deployments.listdeployments outputParameters: - type: object mapping: $.