Files
OpenShell/mise.toml
John T. Myers 169655a0d8 feat(sbom): add SBOM generation, license resolution, and CSV export tooling (#239)
* feat(sbom): add SBOM generation, license resolution, and CSV export tooling

Add mise-integrated SBOM pipeline for container images using Syft.
Includes license resolution via crates.io/npm/PyPI APIs and CycloneDX
JSON to CSV conversion. Adds agent skill for on-demand SBOM operations.

Closes #237

* fix(sbom): chain task dependencies to run generate → resolve → csv sequentially

* fix(sbom): add concurrent license resolution, progress logging, and exclude dev artifacts

* feat(notices): add mise run notices to generate THIRD-PARTY-NOTICES with full license texts

Use cargo-about for Rust crate licenses and pip-licenses for Python
packages. Produces a single attribution file with per-package copyright
notices and full license text for open-source compliance.
2026-03-11 15:34:00 -07:00

51 lines
1.4 KiB
TOML

# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# OpenShell mise configuration
# See https://mise.jdx.dev/ for documentation
#
# Tasks are defined in tasks/*.toml — run `mise tasks` to list them all.
redactions = ["*_TOKEN", "*_PASSWORD"]
[settings]
experimental = true
[tools]
python = "3.12.12"
rust = "stable"
kubectl = "1.35.1"
uv = "0.10.2"
protoc = "29.6"
helm = "4.1.1"
"ubi:mozilla/sccache" = { version = "0.14.0", matching = "sccache-v" }
"ubi:anchore/syft" = { version = "1.42.2", matching = "syft_" }
"ubi:EmbarkStudios/cargo-about" = "0.8.4"
[env]
_.path = ["{{config_root}}/scripts/bin"]
_.python.venv = { path = ".venv", create = true }
_.file = [".env"]
KUBECONFIG = "{{config_root}}/kubeconfig"
UV_CACHE_DIR = "{{config_root}}/.cache/uv"
# Enable sccache for faster Rust builds.
# Local builds use a disk cache (SCCACHE_DIR); CI sets SCCACHE_MEMCACHED_ENDPOINT
# via repository variables to use a shared memcached backend instead.
RUSTC_WRAPPER = "sccache"
SCCACHE_DIR = "{{config_root}}/.cache/sccache"
# Artifact registries
NAV_PYPI_REPOSITORY_URL = "https://urm.nvidia.com/artifactory/api/pypi/nv-shared-pypi-local"
# Shared build constants (overridable via environment)
DOCKER_BUILDKIT = "1"
[vars]
# Python paths to include in formatting/linting
python_paths = "python/ tasks/scripts/*.py deploy/sbom/*.py"
[task_config]
includes = ["tasks/*.toml"]