naftiko: 1.0.0-alpha2 info: label: supports a RESTful API for the Libpod library — manifests description: 'supports a RESTful API for the Libpod library — manifests. 8 operations. Lead operation: Delete manifest list. Self-contained Naftiko capability covering one Podman business surface.' tags: - Podman - manifests created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PODMAN_API_KEY: PODMAN_API_KEY capability: consumes: - type: http namespace: podman-manifests baseUri: http://podman.io description: supports a RESTful API for the Libpod library — manifests business capability. Self-contained, no shared references. resources: - name: libpod-manifests-name path: /libpod/manifests/{name} operations: - name: manifestdeletelibpod method: DELETE description: Delete manifest list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name or ID of the list to be deleted required: true - name: ignore in: query type: boolean description: Ignore if a specified manifest does not exist and do not throw an error. - name: manifestcreatelibpod method: POST description: Create outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: manifest list or index name to create required: true - name: images in: query type: string description: One or more names of an image or a manifest list. Repeat parameter as needed. required: true - name: all in: query type: boolean description: add all contents if given list - name: amend in: query type: boolean description: modify an existing list if one with the desired name already exists - name: options in: body type: string description: options for new manifest - name: manifestmodifylibpod method: PUT description: Modify manifest list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the manifest required: true - name: tlsVerify in: query type: boolean description: Require HTTPS and verify signatures when contacting registries. - name: options in: body type: string description: options for mutating a manifest required: true - name: libpod-manifests-name-add path: /libpod/manifests/{name}/add operations: - name: manifestaddlibpod method: POST description: Add image outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the manifest required: true - name: options in: body type: string description: options for creating a manifest - name: libpod-manifests-name-exists path: /libpod/manifests/{name}/exists operations: - name: manifestexistslibpod method: GET description: Exists outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the manifest list required: true - name: libpod-manifests-name-json path: /libpod/manifests/{name}/json operations: - name: manifestinspectlibpod method: GET description: Inspect outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the manifest list required: true - name: tlsVerify in: query type: boolean description: Require HTTPS and verify signatures when contacting registries. - name: libpod-manifests-name-push path: /libpod/manifests/{name}/push operations: - name: manifestpushv3libpod method: POST description: Push manifest to registry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the manifest required: true - name: destination in: query type: string description: the destination for the manifest required: true - name: all in: query type: boolean description: push all images - name: libpod-manifests-name-registry-destination path: /libpod/manifests/{name}/registry/{destination} operations: - name: manifestpushlibpod method: POST description: Push manifest list to registry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: the name or ID of the manifest list required: true - name: addCompression in: query type: array description: add existing instances with requested compression algorithms to manifest list - name: forceCompressionFormat in: query type: boolean description: Enforce compressing the layers with the specified --compression and do not reuse differently compressed blobs on the registry. - name: destination in: path type: string description: the registry for the manifest list required: true - name: all in: query type: boolean description: push all images - name: tlsVerify in: query type: boolean description: Require HTTPS and verify signatures when contacting registries. - name: quiet in: query type: boolean description: silences extra stream data on push exposes: - type: rest namespace: podman-manifests-rest port: 8080 description: REST adapter for supports a RESTful API for the Libpod library — manifests. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/libpod/manifests/{name} name: libpod-manifests-name description: REST surface for libpod-manifests-name. operations: - method: DELETE name: manifestdeletelibpod description: Delete manifest list call: podman-manifests.manifestdeletelibpod with: name: rest.name ignore: rest.ignore outputParameters: - type: object mapping: $. - method: POST name: manifestcreatelibpod description: Create call: podman-manifests.manifestcreatelibpod with: name: rest.name images: rest.images all: rest.all amend: rest.amend options: rest.options outputParameters: - type: object mapping: $. - method: PUT name: manifestmodifylibpod description: Modify manifest list call: podman-manifests.manifestmodifylibpod with: name: rest.name tlsVerify: rest.tlsVerify options: rest.options outputParameters: - type: object mapping: $. - path: /v1/libpod/manifests/{name}/add name: libpod-manifests-name-add description: REST surface for libpod-manifests-name-add. operations: - method: POST name: manifestaddlibpod description: Add image call: podman-manifests.manifestaddlibpod with: name: rest.name options: rest.options outputParameters: - type: object mapping: $. - path: /v1/libpod/manifests/{name}/exists name: libpod-manifests-name-exists description: REST surface for libpod-manifests-name-exists. operations: - method: GET name: manifestexistslibpod description: Exists call: podman-manifests.manifestexistslibpod with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/libpod/manifests/{name}/json name: libpod-manifests-name-json description: REST surface for libpod-manifests-name-json. operations: - method: GET name: manifestinspectlibpod description: Inspect call: podman-manifests.manifestinspectlibpod with: name: rest.name tlsVerify: rest.tlsVerify outputParameters: - type: object mapping: $. - path: /v1/libpod/manifests/{name}/push name: libpod-manifests-name-push description: REST surface for libpod-manifests-name-push. operations: - method: POST name: manifestpushv3libpod description: Push manifest to registry call: podman-manifests.manifestpushv3libpod with: name: rest.name destination: rest.destination all: rest.all outputParameters: - type: object mapping: $. - path: /v1/libpod/manifests/{name}/registry/{destination} name: libpod-manifests-name-registry-destination description: REST surface for libpod-manifests-name-registry-destination. operations: - method: POST name: manifestpushlibpod description: Push manifest list to registry call: podman-manifests.manifestpushlibpod with: name: rest.name addCompression: rest.addCompression forceCompressionFormat: rest.forceCompressionFormat destination: rest.destination all: rest.all tlsVerify: rest.tlsVerify quiet: rest.quiet outputParameters: - type: object mapping: $. - type: mcp namespace: podman-manifests-mcp port: 9090 transport: http description: MCP adapter for supports a RESTful API for the Libpod library — manifests. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: delete-manifest-list description: Delete manifest list hints: readOnly: false destructive: true idempotent: true call: podman-manifests.manifestdeletelibpod with: name: tools.name ignore: tools.ignore outputParameters: - type: object mapping: $. - name: create description: Create hints: readOnly: false destructive: false idempotent: false call: podman-manifests.manifestcreatelibpod with: name: tools.name images: tools.images all: tools.all amend: tools.amend options: tools.options outputParameters: - type: object mapping: $. - name: modify-manifest-list description: Modify manifest list hints: readOnly: false destructive: false idempotent: true call: podman-manifests.manifestmodifylibpod with: name: tools.name tlsVerify: tools.tlsVerify options: tools.options outputParameters: - type: object mapping: $. - name: add-image description: Add image hints: readOnly: false destructive: false idempotent: false call: podman-manifests.manifestaddlibpod with: name: tools.name options: tools.options outputParameters: - type: object mapping: $. - name: exists description: Exists hints: readOnly: true destructive: false idempotent: true call: podman-manifests.manifestexistslibpod with: name: tools.name outputParameters: - type: object mapping: $. - name: inspect description: Inspect hints: readOnly: true destructive: false idempotent: true call: podman-manifests.manifestinspectlibpod with: name: tools.name tlsVerify: tools.tlsVerify outputParameters: - type: object mapping: $. - name: push-manifest-registry description: Push manifest to registry hints: readOnly: false destructive: false idempotent: false call: podman-manifests.manifestpushv3libpod with: name: tools.name destination: tools.destination all: tools.all outputParameters: - type: object mapping: $. - name: push-manifest-list-registry description: Push manifest list to registry hints: readOnly: true destructive: false idempotent: false call: podman-manifests.manifestpushlibpod with: name: tools.name addCompression: tools.addCompression forceCompressionFormat: tools.forceCompressionFormat destination: tools.destination all: tools.all tlsVerify: tools.tlsVerify quiet: tools.quiet outputParameters: - type: object mapping: $.