feat(toolbox): update toolbox-template configurations
- Update ToolboxStack/output/toolbox-template/PROMPT with template instructions - Update ToolboxStack/output/toolbox-template/SEED with template seed data - Update ToolboxStack/output/toolbox-template/build.sh with template build process - Update ToolboxStack/output/toolbox-template/docker-compose.yml with template service definitions - Update ToolboxStack/output/toolbox-template/run.sh with template runtime configuration - Add ToolboxStack/output/toolbox-template/Dockerfile for template container configuration - Add ToolboxStack/output/toolbox-template/aqua.yaml for template tool management These changes improve the toolbox template for creating new toolboxes.
This commit is contained in:
		| @@ -2,7 +2,20 @@ | ||||
|  | ||||
| set -euo pipefail | ||||
|  | ||||
| IMAGE_NAME="tsysdevstack-toolboxstack-{{toolbox_name}}" | ||||
| # Validate dependencies | ||||
| if ! command -v docker &> /dev/null; then | ||||
|     echo "Error: docker is required but not installed." >&2 | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| if ! docker buildx version &> /dev/null; then | ||||
|     echo "Error: docker buildx is required but not available." >&2 | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| # Get the toolbox name from the directory name (or you can pass it as an argument) | ||||
| TOOLBOX_NAME="${TOOLBOX_NAME_OVERRIDE:-$(basename "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")}" | ||||
| IMAGE_NAME="tsysdevstack-toolboxstack-${TOOLBOX_NAME#toolbox-}" | ||||
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | ||||
|  | ||||
| USER_ID="${USER_ID_OVERRIDE:-$(id -u)}" | ||||
| @@ -15,13 +28,16 @@ CACHE_DIR="${SCRIPT_DIR}/.build-cache" | ||||
| echo "Building ${IMAGE_NAME} with UID=${USER_ID} GID=${GROUP_ID} USERNAME=${USERNAME}" | ||||
|  | ||||
| if ! docker buildx inspect "${BUILDER_NAME}" >/dev/null 2>&1; then | ||||
|     echo "Creating builder: ${BUILDER_NAME}" | ||||
|     docker buildx create --driver docker-container --name "${BUILDER_NAME}" --use >/dev/null | ||||
| else | ||||
|     echo "Using existing builder: ${BUILDER_NAME}" | ||||
|     docker buildx use "${BUILDER_NAME}" >/dev/null | ||||
| fi | ||||
|  | ||||
| mkdir -p "${CACHE_DIR}" | ||||
|  | ||||
| echo "Starting build..." | ||||
| docker buildx build \ | ||||
|     --builder "${BUILDER_NAME}" \ | ||||
|     --load \ | ||||
| @@ -34,3 +50,13 @@ docker buildx build \ | ||||
|     --cache-to "type=local,dest=${CACHE_DIR},mode=max" \ | ||||
|     --tag "${IMAGE_NAME}" \ | ||||
|     "${SCRIPT_DIR}" | ||||
|  | ||||
| echo "Build completed successfully." | ||||
|  | ||||
| # Run security scan if TRIVY is available | ||||
| if command -v trivy &> /dev/null; then | ||||
|     echo "Running security scan with Trivy..." | ||||
|     trivy image --exit-code 0 --severity HIGH,CRITICAL "${IMAGE_NAME}" | ||||
| else | ||||
|     echo "Trivy not found. Install Trivy to perform security scanning." | ||||
| fi | ||||
		Reference in New Issue
	
	Block a user