Gremlin · Capability

Gremlin API — kubernetes.targets

Gremlin API — kubernetes.targets. 3 operations. Lead operation: List all attackable targets. Self-contained Naftiko capability covering one Gremlin business surface.

Run with Naftiko Gremlinkubernetes.targets

What You Can Do

GET
Targets — List all attackable targets
/v1/kubernetes/targets
POST
Targetsbyselector — List all attackable targets that match the given label selector
/v1/kubernetes/targets/by-selector
GET
Kinds — List all targetable kubernetes object types
/v1/kubernetes/targets/kinds

MCP Tools

list-all-attackable-targets

List all attackable targets

read-only idempotent
list-all-attackable-targets-that

List all attackable targets that match the given label selector

read-only
list-all-targetable-kubernetes-object

List all targetable kubernetes object types

read-only idempotent

Capability Spec

gremlin-kubernetes-targets.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Gremlin API — kubernetes.targets
  description: 'Gremlin API — kubernetes.targets. 3 operations. Lead operation: List all attackable targets. Self-contained
    Naftiko capability covering one Gremlin business surface.'
  tags:
  - Gremlin
  - kubernetes.targets
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GREMLIN_API_KEY: GREMLIN_API_KEY
capability:
  consumes:
  - type: http
    namespace: gremlin-kubernetes-targets
    baseUri: https://api.gremlin.com/v1
    description: Gremlin API — kubernetes.targets business capability. Self-contained, no shared references.
    resources:
    - name: kubernetes-targets
      path: /kubernetes/targets
      operations:
      - name: targets
        method: GET
        description: List all attackable targets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clientId
          in: query
          type: string
        - name: serviceId
          in: query
          type: string
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
    - name: kubernetes-targets-by-selector
      path: /kubernetes/targets/by-selector
      operations:
      - name: targetsbyselector
        method: POST
        description: List all attackable targets that match the given label selector
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: kubernetes-targets-kinds
      path: /kubernetes/targets/kinds
      operations:
      - name: kinds
        method: GET
        description: List all targetable kubernetes object types
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: teamId
          in: query
          type: string
          description: Required when using company session token.
          required: true
  exposes:
  - type: rest
    namespace: gremlin-kubernetes-targets-rest
    port: 8080
    description: REST adapter for Gremlin API — kubernetes.targets. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/kubernetes/targets
      name: kubernetes-targets
      description: REST surface for kubernetes-targets.
      operations:
      - method: GET
        name: targets
        description: List all attackable targets
        call: gremlin-kubernetes-targets.targets
        with:
          clientId: rest.clientId
          serviceId: rest.serviceId
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/kubernetes/targets/by-selector
      name: kubernetes-targets-by-selector
      description: REST surface for kubernetes-targets-by-selector.
      operations:
      - method: POST
        name: targetsbyselector
        description: List all attackable targets that match the given label selector
        call: gremlin-kubernetes-targets.targetsbyselector
        with:
          teamId: rest.teamId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/kubernetes/targets/kinds
      name: kubernetes-targets-kinds
      description: REST surface for kubernetes-targets-kinds.
      operations:
      - method: GET
        name: kinds
        description: List all targetable kubernetes object types
        call: gremlin-kubernetes-targets.kinds
        with:
          teamId: rest.teamId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gremlin-kubernetes-targets-mcp
    port: 9090
    transport: http
    description: MCP adapter for Gremlin API — kubernetes.targets. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-all-attackable-targets
      description: List all attackable targets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-kubernetes-targets.targets
      with:
        clientId: tools.clientId
        serviceId: tools.serviceId
        teamId: tools.teamId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-attackable-targets-that
      description: List all attackable targets that match the given label selector
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: gremlin-kubernetes-targets.targetsbyselector
      with:
        teamId: tools.teamId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-targetable-kubernetes-object
      description: List all targetable kubernetes object types
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-kubernetes-targets.kinds
      with:
        teamId: tools.teamId
      outputParameters:
      - type: object
        mapping: $.