naftiko: 1.0.0-alpha2 info: label: CubeFS Master API — DataNodes description: 'CubeFS Master API — DataNodes. 3 operations. Lead operation: CubeFS Add a data node. Self-contained Naftiko capability covering one Cubefs business surface.' tags: - Cubefs - DataNodes created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CUBEFS_API_KEY: CUBEFS_API_KEY capability: consumes: - type: http namespace: master-datanodes baseUri: http://{masterHost}:{masterPort} description: CubeFS Master API — DataNodes business capability. Self-contained, no shared references. resources: - name: dataNode-add path: /dataNode/add operations: - name: adddatanode method: GET description: CubeFS Add a data node outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: addr in: query type: string description: Address of the data node in host:port format. required: true - name: dataNode-decommission path: /dataNode/decommission operations: - name: decommissiondatanode method: GET description: CubeFS Decommission a data node outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: addr in: query type: string description: Address of the data node to decommission in host:port format. required: true - name: dataNode-get path: /dataNode/get operations: - name: getdatanode method: GET description: CubeFS Get data node information outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: addr in: query type: string description: Address of the data node in host:port format. required: true exposes: - type: rest namespace: master-datanodes-rest port: 8080 description: REST adapter for CubeFS Master API — DataNodes. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/datanode/add name: datanode-add description: REST surface for dataNode-add. operations: - method: GET name: adddatanode description: CubeFS Add a data node call: master-datanodes.adddatanode with: addr: rest.addr outputParameters: - type: object mapping: $. - path: /v1/datanode/decommission name: datanode-decommission description: REST surface for dataNode-decommission. operations: - method: GET name: decommissiondatanode description: CubeFS Decommission a data node call: master-datanodes.decommissiondatanode with: addr: rest.addr outputParameters: - type: object mapping: $. - path: /v1/datanode/get name: datanode-get description: REST surface for dataNode-get. operations: - method: GET name: getdatanode description: CubeFS Get data node information call: master-datanodes.getdatanode with: addr: rest.addr outputParameters: - type: object mapping: $. - type: mcp namespace: master-datanodes-mcp port: 9090 transport: http description: MCP adapter for CubeFS Master API — DataNodes. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: cubefs-add-data-node description: CubeFS Add a data node hints: readOnly: true destructive: false idempotent: true call: master-datanodes.adddatanode with: addr: tools.addr outputParameters: - type: object mapping: $. - name: cubefs-decommission-data-node description: CubeFS Decommission a data node hints: readOnly: true destructive: false idempotent: true call: master-datanodes.decommissiondatanode with: addr: tools.addr outputParameters: - type: object mapping: $. - name: cubefs-get-data-node-information description: CubeFS Get data node information hints: readOnly: true destructive: false idempotent: true call: master-datanodes.getdatanode with: addr: tools.addr outputParameters: - type: object mapping: $.