Podman · Capability

supports a RESTful API for the Libpod library — quadlets

supports a RESTful API for the Libpod library — quadlets. 6 operations. Lead operation: Remove quadlet files (batch operation). Self-contained Naftiko capability covering one Podman business surface.

Run with Naftiko Podmanquadlets

What You Can Do

DELETE
Quadletdeletealllibpod — Remove quadlet files (batch operation)
/v1/libpod/quadlets
POST
Quadletinstalllibpod — Install quadlet files
/v1/libpod/quadlets
GET
Quadletlistlibpod — List quadlets
/v1/libpod/quadlets/json
DELETE
Quadletdeletelibpod — Remove a quadlet file
/v1/libpod/quadlets/{name}
GET
Quadletexistslibpod — Check if quadlet exists
/v1/libpod/quadlets/{name}/exists
GET
Quadletfilelibpod — Get quadlet file
/v1/libpod/quadlets/{name}/file

MCP Tools

remove-quadlet-files-batch-operation

Remove quadlet files (batch operation)

idempotent
install-quadlet-files

Install quadlet files

list-quadlets

List quadlets

read-only idempotent
remove-quadlet-file

Remove a quadlet file

idempotent
check-if-quadlet-exists

Check if quadlet exists

read-only idempotent
get-quadlet-file

Get quadlet file

read-only idempotent

Capability Spec

podman-quadlets.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: supports a RESTful API for the Libpod library — quadlets
  description: 'supports a RESTful API for the Libpod library — quadlets. 6 operations. Lead operation: Remove quadlet files
    (batch operation). Self-contained Naftiko capability covering one Podman business surface.'
  tags:
  - Podman
  - quadlets
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PODMAN_API_KEY: PODMAN_API_KEY
capability:
  consumes:
  - type: http
    namespace: podman-quadlets
    baseUri: http://podman.io
    description: supports a RESTful API for the Libpod library — quadlets business capability. Self-contained, no shared references.
    resources:
    - name: libpod-quadlets
      path: /libpod/quadlets
      operations:
      - name: quadletdeletealllibpod
        method: DELETE
        description: Remove quadlet files (batch operation)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: quadlets
          in: query
          type: array
          description: Names of quadlets to remove (e.g., "myapp.container"). Required unless all=true
        - name: all
          in: query
          type: boolean
          description: Remove all quadlets for the current user
        - name: force
          in: query
          type: boolean
          description: Remove running quadlets by stopping them first
        - name: ignore
          in: query
          type: boolean
          description: Do not error for quadlets that do not exist
        - name: reload-systemd
          in: query
          type: boolean
          description: Reload systemd after removing quadlets
      - name: quadletinstalllibpod
        method: POST
        description: Install quadlet files
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: replace
          in: query
          type: boolean
          description: Replace the installation files even if the files already exists
        - name: reload-systemd
          in: query
          type: boolean
          description: Reload systemd after installing quadlets
        - name: request
          in: body
          type: string
          description: 'Quadlet files to install. Can be provided as:'
    - name: libpod-quadlets-json
      path: /libpod/quadlets/json
      operations:
      - name: quadletlistlibpod
        method: GET
        description: List quadlets
        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).
    - name: libpod-quadlets-name
      path: /libpod/quadlets/{name}
      operations:
      - name: quadletdeletelibpod
        method: DELETE
        description: Remove a quadlet file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name of the quadlet with extension (e.g., "myapp.container")
          required: true
        - name: force
          in: query
          type: boolean
          description: Remove running quadlet by stopping it first
        - name: ignore
          in: query
          type: boolean
          description: Do not error if the quadlet does not exist
        - name: reload-systemd
          in: query
          type: boolean
          description: Reload systemd after removing the quadlet
    - name: libpod-quadlets-name-exists
      path: /libpod/quadlets/{name}/exists
      operations:
      - name: quadletexistslibpod
        method: GET
        description: Check if quadlet exists
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name of the quadlet with extension (e.g., "myapp.container")
          required: true
    - name: libpod-quadlets-name-file
      path: /libpod/quadlets/{name}/file
      operations:
      - name: quadletfilelibpod
        method: GET
        description: Get quadlet file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: the name of the quadlet with extension (e.g., "myapp.container")
          required: true
  exposes:
  - type: rest
    namespace: podman-quadlets-rest
    port: 8080
    description: REST adapter for supports a RESTful API for the Libpod library — quadlets. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/libpod/quadlets
      name: libpod-quadlets
      description: REST surface for libpod-quadlets.
      operations:
      - method: DELETE
        name: quadletdeletealllibpod
        description: Remove quadlet files (batch operation)
        call: podman-quadlets.quadletdeletealllibpod
        with:
          quadlets: rest.quadlets
          all: rest.all
          force: rest.force
          ignore: rest.ignore
          reload-systemd: rest.reload-systemd
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: quadletinstalllibpod
        description: Install quadlet files
        call: podman-quadlets.quadletinstalllibpod
        with:
          replace: rest.replace
          reload-systemd: rest.reload-systemd
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/quadlets/json
      name: libpod-quadlets-json
      description: REST surface for libpod-quadlets-json.
      operations:
      - method: GET
        name: quadletlistlibpod
        description: List quadlets
        call: podman-quadlets.quadletlistlibpod
        with:
          filters: rest.filters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/quadlets/{name}
      name: libpod-quadlets-name
      description: REST surface for libpod-quadlets-name.
      operations:
      - method: DELETE
        name: quadletdeletelibpod
        description: Remove a quadlet file
        call: podman-quadlets.quadletdeletelibpod
        with:
          name: rest.name
          force: rest.force
          ignore: rest.ignore
          reload-systemd: rest.reload-systemd
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/quadlets/{name}/exists
      name: libpod-quadlets-name-exists
      description: REST surface for libpod-quadlets-name-exists.
      operations:
      - method: GET
        name: quadletexistslibpod
        description: Check if quadlet exists
        call: podman-quadlets.quadletexistslibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/libpod/quadlets/{name}/file
      name: libpod-quadlets-name-file
      description: REST surface for libpod-quadlets-name-file.
      operations:
      - method: GET
        name: quadletfilelibpod
        description: Get quadlet file
        call: podman-quadlets.quadletfilelibpod
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: podman-quadlets-mcp
    port: 9090
    transport: http
    description: MCP adapter for supports a RESTful API for the Libpod library — quadlets. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: remove-quadlet-files-batch-operation
      description: Remove quadlet files (batch operation)
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: podman-quadlets.quadletdeletealllibpod
      with:
        quadlets: tools.quadlets
        all: tools.all
        force: tools.force
        ignore: tools.ignore
        reload-systemd: tools.reload-systemd
      outputParameters:
      - type: object
        mapping: $.
    - name: install-quadlet-files
      description: Install quadlet files
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: podman-quadlets.quadletinstalllibpod
      with:
        replace: tools.replace
        reload-systemd: tools.reload-systemd
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: list-quadlets
      description: List quadlets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-quadlets.quadletlistlibpod
      with:
        filters: tools.filters
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-quadlet-file
      description: Remove a quadlet file
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: podman-quadlets.quadletdeletelibpod
      with:
        name: tools.name
        force: tools.force
        ignore: tools.ignore
        reload-systemd: tools.reload-systemd
      outputParameters:
      - type: object
        mapping: $.
    - name: check-if-quadlet-exists
      description: Check if quadlet exists
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-quadlets.quadletexistslibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: get-quadlet-file
      description: Get quadlet file
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: podman-quadlets.quadletfilelibpod
      with:
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.