Aqua Security · Arazzo Workflow

Aqua Security Running Container Inventory

Version 1.0.0

Authenticate, list running containers monitored by the enforcer, then read the image detail behind the first running container.

1 workflow 1 source API 1 provider
View Spec View on GitHub Cloud NativeContainersKubernetesRuntime ProtectionSecurityVulnerability ScanningArazzoWorkflows

Provider

aqua-security

Workflows

running-container-inventory
List running containers and read the image vulnerability detail for the first one.
Logs in, lists running containers with their host and applied policy, then reads the image detail behind the first container for its vulnerability posture.
3 steps inputs: id, image_name, image_tag, password, registry outputs: firstContainerPolicy, runningCount, scanStatus, vulnerabilities
1
authenticate
login
Authenticate the user and obtain a JWT bearer token for the container and image calls.
2
listRunningContainers
listContainers
List running containers monitored by the enforcer, capturing the host and applied policy for the first running container.
3
getImageBehindContainer
getImage
Read the image detail behind the first running container to surface its scan status and vulnerability counts.

Source API Descriptions

Arazzo Workflow Specification

aqua-security-running-container-inventory-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Aqua Security Running Container Inventory
  summary: Authenticate, list running containers monitored by the enforcer, then read the image detail behind the first running container.
  description: >-
    Inspects the live runtime estate Aqua's enforcers are watching. The workflow
    logs in, lists running containers along with the host each runs on and the
    policy applied to it, captures the first running container, and then reads
    the detailed image record behind it to surface that workload's scan status
    and vulnerability counts. Every step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: aquaSecurityApi
  url: ../openapi/aqua-security-api.yaml
  type: openapi
workflows:
- workflowId: running-container-inventory
  summary: List running containers and read the image vulnerability detail for the first one.
  description: >-
    Logs in, lists running containers with their host and applied policy, then
    reads the image detail behind the first container for its vulnerability
    posture.
  inputs:
    type: object
    required:
    - id
    - password
    - registry
    - image_name
    - image_tag
    properties:
      id:
        type: string
        description: Aqua username or user ID used to authenticate.
      password:
        type: string
        description: Aqua user password used to authenticate.
      registry:
        type: string
        description: Registry name of the image behind the container (e.g. docker-hub).
      image_name:
        type: string
        description: Image repository name behind the container (e.g. nginx).
      image_tag:
        type: string
        description: Image tag behind the container (e.g. latest).
  steps:
  - stepId: authenticate
    description: >-
      Authenticate the user and obtain a JWT bearer token for the container and
      image calls.
    operationId: login
    requestBody:
      contentType: application/json
      payload:
        id: $inputs.id
        password: $inputs.password
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      token: $response.body#/token
  - stepId: listRunningContainers
    description: >-
      List running containers monitored by the enforcer, capturing the host and
      applied policy for the first running container.
    operationId: listContainers
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $steps.authenticate.outputs.token"
    - name: status
      in: query
      value: running
    - name: pagesize
      in: query
      value: 50
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      count: $response.body#/count
      firstContainerId: $response.body#/result/0/container_id
      firstContainerImage: $response.body#/result/0/image
      firstContainerPolicy: $response.body#/result/0/policy
  - stepId: getImageBehindContainer
    description: >-
      Read the image detail behind the first running container to surface its
      scan status and vulnerability counts.
    operationId: getImage
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $steps.authenticate.outputs.token"
    - name: registry
      in: path
      value: $inputs.registry
    - name: image_name
      in: path
      value: $inputs.image_name
    - name: image_tag
      in: path
      value: $inputs.image_tag
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      scanStatus: $response.body#/scan_status
      vulnerabilities: $response.body#/vulnerabilities
  outputs:
    runningCount: $steps.listRunningContainers.outputs.count
    firstContainerPolicy: $steps.listRunningContainers.outputs.firstContainerPolicy
    scanStatus: $steps.getImageBehindContainer.outputs.scanStatus
    vulnerabilities: $steps.getImageBehindContainer.outputs.vulnerabilities