naftiko: 1.0.0-alpha2 info: label: supports a RESTful API for the Libpod library — volumes (compat) description: 'supports a RESTful API for the Libpod library — volumes (compat). 5 operations. Lead operation: List volumes. Self-contained Naftiko capability covering one Podman business surface.' tags: - Podman - volumes (compat) created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PODMAN_API_KEY: PODMAN_API_KEY capability: consumes: - type: http namespace: podman-volumes-compat baseUri: http://podman.io description: supports a RESTful API for the Libpod library — volumes (compat) business capability. Self-contained, no shared references. resources: - name: volumes path: /volumes operations: - name: volumelist method: GET description: List volumes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters in: query type: string description: 'JSON encoded value of the filters (a map[string][]string) to process on the volumes list. Available filters:' - name: volumes-create path: /volumes/create operations: - name: volumecreate method: POST description: Create a volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: create in: body type: string description: attributes for creating a volume. - name: volumes-prune path: /volumes/prune operations: - name: volumeprune method: POST description: Prune volumes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filters in: query type: string description: 'JSON encoded value of filters (a map[string][]string). Docker API 1.42+ - by default only anonymous (unnamed) unused volumes are pruned; use filter all=true to ' - name: volumes-name path: /volumes/{name} operations: - name: volumedelete method: DELETE description: Remove volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the volume required: true - name: force in: query type: boolean description: Force removal of the volume. This actually only causes errors due - name: timeout in: query type: integer description: timeout before forcibly killing any containers using the volume - name: volumeinspect method: GET description: Inspect volume outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the volume required: true exposes: - type: rest namespace: podman-volumes-compat-rest port: 8080 description: REST adapter for supports a RESTful API for the Libpod library — volumes (compat). One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/volumes name: volumes description: REST surface for volumes. operations: - method: GET name: volumelist description: List volumes call: podman-volumes-compat.volumelist with: filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/volumes/create name: volumes-create description: REST surface for volumes-create. operations: - method: POST name: volumecreate description: Create a volume call: podman-volumes-compat.volumecreate with: create: rest.create outputParameters: - type: object mapping: $. - path: /v1/volumes/prune name: volumes-prune description: REST surface for volumes-prune. operations: - method: POST name: volumeprune description: Prune volumes call: podman-volumes-compat.volumeprune with: filters: rest.filters outputParameters: - type: object mapping: $. - path: /v1/volumes/{name} name: volumes-name description: REST surface for volumes-name. operations: - method: DELETE name: volumedelete description: Remove volume call: podman-volumes-compat.volumedelete with: name: rest.name force: rest.force timeout: rest.timeout outputParameters: - type: object mapping: $. - method: GET name: volumeinspect description: Inspect volume call: podman-volumes-compat.volumeinspect with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: podman-volumes-compat-mcp port: 9090 transport: http description: MCP adapter for supports a RESTful API for the Libpod library — volumes (compat). One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-volumes description: List volumes hints: readOnly: true destructive: false idempotent: true call: podman-volumes-compat.volumelist with: filters: tools.filters outputParameters: - type: object mapping: $. - name: create-volume description: Create a volume hints: readOnly: false destructive: false idempotent: false call: podman-volumes-compat.volumecreate with: create: tools.create outputParameters: - type: object mapping: $. - name: prune-volumes description: Prune volumes hints: readOnly: false destructive: false idempotent: false call: podman-volumes-compat.volumeprune with: filters: tools.filters outputParameters: - type: object mapping: $. - name: remove-volume description: Remove volume hints: readOnly: false destructive: true idempotent: true call: podman-volumes-compat.volumedelete with: name: tools.name force: tools.force timeout: tools.timeout outputParameters: - type: object mapping: $. - name: inspect-volume description: Inspect volume hints: readOnly: true destructive: false idempotent: true call: podman-volumes-compat.volumeinspect with: name: tools.name outputParameters: - type: object mapping: $.