Implement MongoDB-based storage for Pack Run approval, artifact, log, and state management
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled

- Added MongoPackRunApprovalStore for managing approval states with MongoDB.
- Introduced MongoPackRunArtifactUploader for uploading and storing artifacts.
- Created MongoPackRunLogStore to handle logging of pack run events.
- Developed MongoPackRunStateStore for persisting and retrieving pack run states.
- Implemented unit tests for MongoDB stores to ensure correct functionality.
- Added MongoTaskRunnerTestContext for setting up MongoDB test environment.
- Enhanced PackRunStateFactory to correctly initialize state with gate reasons.
This commit is contained in:
master
2025-11-07 10:01:35 +02:00
parent e5ffcd6535
commit a1ce3f74fa
122 changed files with 8730 additions and 914 deletions

View File

@@ -0,0 +1,51 @@
#!/usr/bin/env bash
set -euo pipefail
if [[ $# -lt 2 ]]; then
echo "Usage: $0 <docker-context> <image-tag> [additional docker buildx args...]" >&2
exit 64
fi
context=$1
shift
image_tag=$1
shift || true
builder_args=("$@")
: "${STELLAOPS_BUILDX_PUBLISH_DIR:=out/buildx}"
: "${STELLAOPS_BUILDX_DLL:=${STELLAOPS_BUILDX_PUBLISH_DIR}/StellaOps.Scanner.Sbomer.BuildXPlugin.dll}"
: "${STELLAOPS_BUILDX_MANIFEST_DIR:=${STELLAOPS_BUILDX_PUBLISH_DIR}}"
: "${STELLAOPS_BUILDX_CAS_ROOT:=out/cas}"
: "${STELLAOPS_SURFACE_TENANT:=default}"
: "${STELLAOPS_SURFACE_CACHE_ROOT:=${STELLAOPS_BUILDX_CAS_ROOT}}"
: "${STELLAOPS_SURFACE_MANIFEST_OUTPUT:=out/surface-manifest.json}"
: "${STELLAOPS_SBOM_PATH:=out/buildx-sbom.cdx.json}"
: "${STELLAOPS_SBOM_FORMAT:=cyclonedx-json}"
: "${STELLAOPS_SBOM_MEDIA_TYPE:=application/vnd.cyclonedx+json}"
: "${STELLAOPS_SBOM_KIND:=inventory}"
: "${STELLAOPS_SBOM_ARTIFACT_TYPE:=application/vnd.stellaops.sbom.layer+json}"
: "${STELLAOPS_SUBJECT_MEDIA_TYPE:=application/vnd.oci.image.manifest.v1+json}"
: "${STELLAOPS_PREDICATE_TYPE:=https://slsa.dev/provenance/v1}"
mkdir -p "$STELLAOPS_BUILDX_PUBLISH_DIR" "$STELLAOPS_BUILDX_CAS_ROOT" "$(dirname "$STELLAOPS_SBOM_PATH")" "$(dirname "$STELLAOPS_SURFACE_MANIFEST_OUTPUT")"
if [[ ! -s "$STELLAOPS_BUILDX_DLL" ]]; then
echo "Publishing BuildX plug-in to $STELLAOPS_BUILDX_PUBLISH_DIR" >&2
dotnet publish src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/StellaOps.Scanner.Sbomer.BuildXPlugin.csproj \
-c Release \
-o "$STELLAOPS_BUILDX_PUBLISH_DIR"
fi
if [[ ! -d "$STELLAOPS_BUILDX_MANIFEST_DIR" ]]; then
echo "Manifest directory missing" >&2
exit 65
fi
if ! command -v docker >/dev/null 2>&1; then
echo "docker CLI is not available in this environment" >&2
exit 69
fi
set -x
format={{index