Using the Concert toolkit
The IBM® Concert toolkit provides a collection of software development tools, utilities, and templates to simplify and automate data generation and upload to Concert.
Overview
The Concert toolkit is available as a container image in a publicly accessible container registry. The image includes the necessary scripts for interacting with Concert and is designed to function as a standalone container by executing the commands within the container. A container runtime, such as Docker or Podman, is required to run the toolkit container.
- Generate a package SBOM in CycloneDX format from
code repositories using the
cdxgentool, or container images using thesyfttool. - Validate package SBOM files using the
sbom-utilitytool. - Generate an application, build, and deploy SBOM files in a custom Concert-defined format.
- Validate a Concert-defined SBOM file.
- Generate a certificate inventory file in a custom Concert-defined format.
- Convert CSV/XLSX files to OSCAL catalog JSON files.
- Upload SBOM files and vulnerability scans to Concert.
/toolkit-data directory to access them
on your host machine after exiting the container. See the mount options under List of toolkit utilities.Downloading the toolkit
export TOOLKIT_IMAGE="icr.io/cpopen/ibm-concert-toolkit:v1.1.0"
docker pull ${TOOLKIT_IMAGE}Exporting the toolkit prefix command
A container runtime, such as Docker or Podman, is required to run the toolkit container.
code-scan, export the variable
HOST_DIR_SRC_CODE. Replace in the export command with the path
to the source code directory to allow the container to access the code located in the directory
/data/src.export HOST_DIR_SRC_CODE=<HOST-DIR-SRC-CODE>export HOST_DIR_TOOLKIT_DATA=<HOST-DIR-TOOLKIT-DATA>export TOOLKIT_PREFIX_CMD="docker run \
-v ${HOST_DIR_SRC_CODE}:/data/src \
-v ${HOST_DIR_TOOLKIT_DATA}:/toolkit-data \
--rm \
${TOOLKIT_IMAGE} \
/bin/bash -c"-v ${HOST_DIR_SRC_CODE}:/data/srcmounts the source code directory from the host into the container. This is only necessary for thecode-scanutility to scan the source code.-v ${HOST_DIR_TOOLKIT_DATA}:/toolkit-datamounts the host machine's directory from variable ${HOST_DIR_TOOLKIT_DATA} into the container's /toolkit-data directory./toolkit-datais the required directory in the container.--rmis used to remove the container after it exits. This is not required, but generally considered a best practice to clean up space.- ${TOOLKIT_IMAGE} is the variable containing image name and tag of the toolkit container in the public IBM Cloud Container Registry.
/bin/bash -cruns the designated command in the container by using bash. Ensure everything after-cis enclosed in double quotation marks. Refer to Examples.
-u 0:0 to
the export command to run the container as a root user.Downloading the sample configuration files
The toolkit provides sample configuration files for the Concert utilities. You can use these files for reference if generating your own configuration files.
After exporting the toolkit prefix ${TOOLKIT_PREFIX_CMD} as an environment
variable, run the following command to copy the sample configuration files to the
TOOLKIT_DIR directory:
${TOOLKIT_PREFIX_CMD} "cp -rL /app/samples /toolkit-data"
The downloaded sample files are available in a sub-directory named samples
within the TOOLKIT_DIR directory on the host machine.