Skip to content

Parse Container Config

Parses a container-config YAML/JSON file and outputs a GitHub Actions matrix

uses: huntridge-labs/argus/.github/actions/parse-container-config@0.6.7

Parse a container-config file and output a GitHub Actions matrix.

Overview

This action validates and parses a container-config file (YAML, JSON, or JS) and emits JSON matrices for sequential or parallel container scans.

Usage

jobs:
  parse:
    runs-on: ubuntu-latest
    outputs:
      matrix: ${{ steps.parse.outputs.matrix }}
      has_containers: ${{ steps.parse.outputs.has_containers }}
    steps:
      - uses: actions/checkout@v6
      - uses: huntridge-labs/argus/.github/actions/parse-container-config@0.6.7
        id: parse
        with:
          config_file: container-config.yml

  scan:
    needs: parse
    if: needs.parse.outputs.has_containers == 'true'
    strategy:
      matrix: ${{ fromJson(needs.parse.outputs.matrix) }}
    runs-on: ubuntu-latest
    steps:
      - uses: huntridge-labs/argus/.github/actions/scanner-container@0.6.7
        with:
          image_ref: ${{ matrix.image }}
          container_name: ${{ matrix.name }}
          registry_username: ${{ matrix.registry_username }}
          registry_password: ${{ secrets[matrix.registry_auth_secret] }}
          scanners: ${{ matrix.scanners }}

Inputs

Input Description Required Default
config_file Path to the container config file (YAML, JSON, or JS) Yes container-config.yml

Outputs

Output Description
matrix JSON matrix for sequential scanners (one entry per container)
scan_matrix JSON matrix for parallel scanning (one entry per container+scanner)
has_containers Whether any containers were found (true/false)
container_count Number of containers in the config

Requirements

  • Repository must be checked out before running this action

Support