From 9479276ba8446edd50a4c243b338807b8eedc18c Mon Sep 17 00:00:00 2001 From: Luca Bello Date: Tue, 18 Aug 2026 17:47:56 +0200 Subject: [PATCH 1/2] feat(ssdlc): generate manifests dynamically from manifest.yaml Replace hand-crafted ssdlc-manifests/ with a just recipe that derives sbomber-compatible YAML from manifest.yaml at CI time. The recipe maps each release cycle to its nearest LTS base, emits per-release and dev/edge entries for charms, and versioned image entries for rocks. Changes: - Add generate-ssdlc-manifest recipe to security.just - Quote cycle values in manifest.yaml to prevent float parsing - Update ssdlc-scanning.yaml to run on 1st/15th of each month, generate manifests at runtime, and install yq --- .github/workflows/ssdlc-scanning.yaml | 18 ++-- manifest.yaml | 140 +++++++++++++------------- security.just | 106 +++++++++++++++++++ 3 files changed, 188 insertions(+), 76 deletions(-) diff --git a/.github/workflows/ssdlc-scanning.yaml b/.github/workflows/ssdlc-scanning.yaml index ac60c029..b14b53fc 100644 --- a/.github/workflows/ssdlc-scanning.yaml +++ b/.github/workflows/ssdlc-scanning.yaml @@ -3,11 +3,11 @@ name: SSDLC scanning on: workflow_dispatch: schedule: - - cron: "0 0 10 4,10 *" + - cron: "0 0 1,15 * *" # │ │ │ │ │ # │ │ │ │ └─ any day of the week. -# │ │ │ └────── 4th and 10th month (April & October). -# │ │ └───────── 10th day of the month. +# │ │ │ └────── 1st and 15th of every month. +# │ │ └───────── Any day (covered by day-of-month above). # │ └─────────── 0th hour of the day. # └───────────── Start of the hour (minutes = 0). @@ -20,12 +20,18 @@ jobs: type: [sbom, secscan] artifact: [rock, charm] - name: SSDLC scanning - ${{ matrix.type }} - ${{ matrix.artifact }} artifacts + name: ${{ matrix.type == 'sbom' && 'SBOM Scan' || 'SecScan' }} (${{ matrix.artifact }}s) steps: - name: Checkout uses: actions/checkout@v6 + - name: Install yq + run: sudo snap install yq + - name: Generate manifest + env: + SSDLC_MANIFEST_OUTPUT: /tmp/ssdlc-manifest.yaml + run: just security::generate-ssdlc-manifest ${{ matrix.type }} ${{ matrix.artifact }} - name: Run sbomber action uses: canonical/sbomber/.github/actions/run@main with: - manifest: "${{ github.workspace }}/ssdlc-manifests/${{ matrix.artifact }}-${{ matrix.type }}-manifest.yaml" - artifact-name: ${{ matrix.artifact }}-${{ matrix.type }} \ No newline at end of file + manifest: /tmp/ssdlc-manifest.yaml + artifact-name: ${{ matrix.artifact }}-${{ matrix.type }} diff --git a/manifest.yaml b/manifest.yaml index 28919cfb..6c0c2edb 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -6,7 +6,7 @@ artifacts: releases: - name: "0.31" branch: track/0.31 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -16,7 +16,7 @@ artifacts: releases: - name: "0.7" branch: track/0.7 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -26,7 +26,7 @@ artifacts: releases: - name: "0.28" branch: track/0.28 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -36,7 +36,7 @@ artifacts: releases: - name: "0.28" branch: track/0.28 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -46,7 +46,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -56,7 +56,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -66,7 +66,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -76,7 +76,7 @@ artifacts: releases: - name: "0.44" branch: track/0.44 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -86,7 +86,7 @@ artifacts: releases: - name: "0.40" branch: track/0.40 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -96,7 +96,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -106,7 +106,7 @@ artifacts: releases: - name: "12.4" branch: track/12.4 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -116,7 +116,7 @@ artifacts: releases: - name: "1.7" branch: track/1.7 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -126,7 +126,7 @@ artifacts: releases: - name: "3.29" branch: track/3.29 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -136,7 +136,7 @@ artifacts: releases: - name: "3.29" branch: track/3.29 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -146,7 +146,7 @@ artifacts: releases: - name: "3.29" branch: track/3.29 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -156,7 +156,7 @@ artifacts: releases: - name: "3.29" branch: track/3.29 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -166,7 +166,7 @@ artifacts: releases: - name: "3.7" branch: track/3.7 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -176,7 +176,7 @@ artifacts: releases: - name: "3.7" branch: track/3.7 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -186,7 +186,7 @@ artifacts: releases: - name: "3.7" branch: track/3.7 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -196,7 +196,7 @@ artifacts: releases: - name: "2.17" branch: track/2.17 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -206,7 +206,7 @@ artifacts: releases: - name: "2.17" branch: track/2.17 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -216,7 +216,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -226,7 +226,7 @@ artifacts: releases: - name: "0.130" branch: track/0.130 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -236,7 +236,7 @@ artifacts: releases: - name: "0.130" branch: track/0.130 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -246,7 +246,7 @@ artifacts: releases: - name: "0.135" branch: track/0.135 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -256,7 +256,7 @@ artifacts: releases: - name: "0.35" branch: track/0.35 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -266,7 +266,7 @@ artifacts: releases: - name: "0.27" branch: track/0.27 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -276,7 +276,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -286,7 +286,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -296,7 +296,7 @@ artifacts: releases: - name: "3.11" branch: track/3.11 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -306,7 +306,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -316,7 +316,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -326,7 +326,7 @@ artifacts: releases: - name: "3.0" branch: track/3.0 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -336,7 +336,7 @@ artifacts: releases: - name: "1.18" branch: track/1.18 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -346,7 +346,7 @@ artifacts: releases: - name: "1.18" branch: track/1.18 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -356,7 +356,7 @@ artifacts: releases: - name: "3.2" branch: track/3.2 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -370,7 +370,7 @@ artifacts: releases: - name: "0.24" branch: track/0.24 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -380,7 +380,7 @@ artifacts: releases: - name: "2.10" branch: track/2.10 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -390,7 +390,7 @@ artifacts: releases: - name: "2.10" branch: track/2.10 - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -401,7 +401,7 @@ artifacts: releases: - name: "0.28" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -411,7 +411,7 @@ artifacts: releases: - name: "0.28" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -421,7 +421,7 @@ artifacts: releases: - name: "0.15" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 - name: git-sync @@ -430,7 +430,7 @@ artifacts: releases: - name: "3.0" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -440,7 +440,7 @@ artifacts: releases: - name: "0.40" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2026-11-01 lts: false @@ -450,7 +450,7 @@ artifacts: releases: - name: "12.4" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -460,7 +460,7 @@ artifacts: releases: - name: "0.5" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -470,7 +470,7 @@ artifacts: releases: - name: "3.29" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -480,7 +480,7 @@ artifacts: releases: - name: "3.29" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -490,7 +490,7 @@ artifacts: releases: - name: "3.29" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -500,7 +500,7 @@ artifacts: releases: - name: "3.29" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -510,13 +510,13 @@ artifacts: releases: - name: "3.7" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true - name: "2.9" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2026-11-01 lts: false @@ -526,7 +526,7 @@ artifacts: releases: - name: "2.17" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -536,7 +536,7 @@ artifacts: releases: - name: "1.5" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -546,19 +546,19 @@ artifacts: releases: - name: "1.27" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true - name: "1.28" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2026-11-01 lts: false - name: "1.30" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2026-11-01 lts: false @@ -568,7 +568,7 @@ artifacts: releases: - name: "1.11" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -578,7 +578,7 @@ artifacts: releases: - name: "0.130" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -588,7 +588,7 @@ artifacts: releases: - name: "0.27" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -598,7 +598,7 @@ artifacts: releases: - name: "3.11" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -608,7 +608,7 @@ artifacts: releases: - name: "1.11" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -618,7 +618,7 @@ artifacts: releases: - name: "1.18" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -628,7 +628,7 @@ artifacts: releases: - name: "0.15" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 - name: tempo @@ -637,7 +637,7 @@ artifacts: releases: - name: "2.10" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -647,7 +647,7 @@ artifacts: releases: - name: "1.7" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-02-01 lts: false @@ -666,7 +666,7 @@ artifacts: releases: - name: "0.44" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2026-11-01 lts: false @@ -684,7 +684,7 @@ artifacts: releases: - name: "0.130" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true @@ -694,7 +694,7 @@ artifacts: releases: - name: "0.135" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2027-04-01 lts: false @@ -708,7 +708,7 @@ artifacts: releases: - name: "0.28" branch: main - cycle: 26.04 + cycle: "26.04" support: end_of_life: 2041-06-01 lts: true diff --git a/security.just b/security.just index 22b1cf4c..5cd0d631 100644 --- a/security.just +++ b/security.just @@ -5,6 +5,112 @@ set export # Just variables are exported to the environment default: just -f security.just --list +# Generate an SSDLC sbomber manifest from manifest.yaml +[group("ssdlc")] +[arg("type", pattern="^(sbom|secscan)$", help="Manifest type: 'sbom' or 'secscan'")] +[arg("artifact", pattern="^(charm|rock)$", help="Artifact type: 'charm' or 'rock'" )] +generate-ssdlc-manifest type artifact: + #!/usr/bin/env python3 + # Produces a sbomber-compatible YAML manifest, derived from manifest.yaml. + # Keeps the same schema the action expects: + # clients: { sbom|secscan: {…} } + # artifacts: [ { name, channel|image, base|version, type } … ] + # + # When the SSDLC_MANIFEST_OUTPUT environment variable is set, writes to that + # file path instead of stdout. This avoids the stdout capture that + # `set export` applies to shebang recipes, which breaks shell redirection + # (`> file`). + import json + import os + import subprocess + import sys + from pathlib import Path + + artifact_type = "{{ artifact }}" + scan_type = "{{ type }}" + output_path = os.environ.get("SSDLC_MANIFEST_OUTPUT", "") + + if artifact_type not in ("charm", "rock"): + print(f"Unknown artifact type: {artifact_type}", file=sys.stderr) + sys.exit(1) + if scan_type not in ("sbom", "secscan"): + print(f"Unknown scan type: {scan_type}", file=sys.stderr) + sys.exit(1) + + manifest = json.loads(subprocess.run( + ["yq", "-o=json", "manifest.yaml"], + capture_output=True, text=True, check=True, + ).stdout) + + def yaml_str(s): + """Quote a string for YAML if it could be misinterpreted.""" + return f'"{s}"' + + def lts_base(cycle): + """Map any cycle to the nearest preceding LTS (YY.04) base. + + Ubuntu LTS releases ship in even years on .04; point releases and + interim releases in between all trace back to the most recent .04 LTS. + """ + parts = str(cycle).split(".") + year, month = int(parts[0]), int(parts[1]) + if month == 4 and year % 2 == 0: + return f"{year}.04" + return f"{year - (year % 2)}.04" + + # Collect lines, then write once to avoid stdout capture issues. + lines = [] + + # --- clients section --- + lines.append("clients:") + if scan_type == "sbom": + lines.append(" sbom:") + lines.append(" department: charm_engineering") + lines.append(" email: luca.bello@canonical.com") + lines.append(" team: observability") + else: + lines.append(" secscan: {}") + + # --- artifacts section --- + lines.append("artifacts:") + + if artifact_type == "charm": + for charm in manifest["artifacts"]["charms"]: + name = charm["name"] + for release in charm.get("releases", []): + base = lts_base(release["cycle"]) + channel = f"{release['name']}/edge" + lines.append(f" - name: {yaml_str(name)}") + lines.append(f" channel: {yaml_str(channel)}") + lines.append(f" base: ubuntu@{base}") + lines.append(f" type: charm") + # Always include dev/edge for the charm itself + if charm.get("releases"): + base = lts_base(charm["releases"][0]["cycle"]) + lines.append(f" - name: {yaml_str(name)}") + lines.append(f" channel: dev/edge") + lines.append(f" base: ubuntu@{base}") + lines.append(f" type: charm") + else: + for rock in manifest["artifacts"]["rocks"]: + for release in rock.get("releases", []): + base = lts_base(release["cycle"]) + version = f"{release['name']}-{base}" + name = f"{rock['name']}-rock" + image = f"ubuntu/{rock['name']}" + lines.append(f" - name: {yaml_str(name)}") + lines.append(f" image: {yaml_str(image)}") + lines.append(f" version: {yaml_str(version)}") + lines.append(f" type: rock") + + content = "\n".join(lines) + "\n" + + if output_path: + Path(output_path).parent.mkdir(parents=True, exist_ok=True) + Path(output_path).write_text(content) + else: + sys.stdout.write(content) + # List every charm release as JSON, grouped by unique repo [private] [group("security")] From 43c6df15313252eab58f457d85f2b565a1f02157 Mon Sep 17 00:00:00 2001 From: Luca Bello Date: Tue, 18 Aug 2026 17:54:56 +0200 Subject: [PATCH 2/2] chore: remove ssdlc-manifests folder --- ssdlc-manifests/charm-sbom-manifest.yaml | 399 -------------------- ssdlc-manifests/charm-secscan-manifest.yaml | 396 ------------------- ssdlc-manifests/rock-sbom-manifest.yaml | 154 -------- ssdlc-manifests/rock-secscan-manifest.yaml | 151 -------- 4 files changed, 1100 deletions(-) delete mode 100644 ssdlc-manifests/charm-sbom-manifest.yaml delete mode 100644 ssdlc-manifests/charm-secscan-manifest.yaml delete mode 100644 ssdlc-manifests/rock-sbom-manifest.yaml delete mode 100644 ssdlc-manifests/rock-secscan-manifest.yaml diff --git a/ssdlc-manifests/charm-sbom-manifest.yaml b/ssdlc-manifests/charm-sbom-manifest.yaml deleted file mode 100644 index c1223c1e..00000000 --- a/ssdlc-manifests/charm-sbom-manifest.yaml +++ /dev/null @@ -1,399 +0,0 @@ -# run sbom using the sbomber tool on all our charms -# this manifest is used in `.github/workflows/ssdlc-scanning.yaml` - -clients: - sbom: - department: charm_engineering - email: luca.bello@canonical.com # tradition - team: observability - -artifacts: - - name: alertmanager-k8s - channel: 0.31/edge - base: ubuntu@26.04 - type: charm - - - name: alertmanager-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: avalanche-k8s - channel: 0.7/edge - base: ubuntu@26.04 - type: charm - - - name: avalanche-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: blackbox-exporter - channel: 0.28/edge - base: ubuntu@24.04 - type: charm - - - name: blackbox-exporter - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: blackbox-exporter-k8s - channel: 0.28/edge - base: ubuntu@26.04 - type: charm - - - name: blackbox-exporter-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: catalogue-k8s - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: catalogue-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: cos-configuration-k8s - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: cos-configuration-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: cos-proxy - channel: 3.0/edge - base: ubuntu@24.04 - type: charm - - - name: cos-proxy - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-agent - channel: 0.44/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-agent - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-agent-k8s - channel: 0.40/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-agent-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-cloud-integrator - channel: 3.0/edge - base: ubuntu@22.04 - type: charm - - - name: grafana-k8s - channel: 12.4/edge - base: ubuntu@26.04 - type: charm - - - name: grafana-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: istio-beacon-k8s - channel: dev/edge - base: ubuntu@22.04 - type: charm - - - name: istio-ingress-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: istio-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: kiali-k8s - channel: latest/edge - base: ubuntu@22.04 - type: charm - - - name: litmus-auth-k8s - channel: 3.29/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-auth-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-backend-k8s - channel: 3.29/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-backend-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: litmus-chaoscenter-k8s - channel: 3.29/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-chaoscenter-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-infrastructure-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: loki-coordinator-k8s - channel: 3.7/edge - base: ubuntu@26.04 - type: charm - - - name: loki-coordinator-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: loki-k8s - channel: 3.7/edge - base: ubuntu@26.04 - type: charm - - - name: loki-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: loki-worker-k8s - channel: 3.7/edge - base: ubuntu@26.04 - type: charm - - - name: loki-worker-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: mimir-coordinator-k8s - channel: 2.17/edge - base: ubuntu@26.04 - type: charm - - - name: mimir-coordinator-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: mimir-worker-k8s - channel: 2.17/edge - base: ubuntu@26.04 - type: charm - - - name: mimir-worker-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: opentelemetry-collector - channel: 0.130/edge - base: ubuntu@24.04 - type: charm - - - name: opentelemetry-collector - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: opentelemetry-collector-integrator - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: opentelemetry-collector-integrator - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: opentelemetry-collector-k8s - channel: 0.130/edge - base: ubuntu@26.04 - type: charm - - - name: opentelemetry-collector-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: otel-ebpf-profiler - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: parca-agent - channel: 0.35/edge - base: ubuntu@24.04 - type: charm - - - name: parca-agent - channel: dev/edge - base: ubuntu@22.04 - type: charm - - - name: parca-k8s - channel: 0.27/edge - base: ubuntu@26.04 - type: charm - - - name: parca-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: parca-scrape-target - channel: 3.0/edge - base: ubuntu@24.04 - type: charm - - - name: parca-scrape-target - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: polar-signals-cloud-integrator - channel: 3.0/edge - base: ubuntu@24.04 - type: charm - - - name: polar-signals-cloud-integrator - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: prometheus-k8s - channel: 3.11/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-pushgateway-k8s - channel: 1.11/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-pushgateway-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-scrape-config-k8s - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-scrape-config-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-scrape-target-k8s - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-scrape-target-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: pyroscope-coordinator-k8s - channel: 1.18/edge - base: ubuntu@26.04 - type: charm - - - name: pyroscope-coordinator-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: pyroscope-worker-k8s - channel: 1.18/edge - base: ubuntu@26.04 - type: charm - - - name: pyroscope-worker-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: script-exporter - channel: 3.2/edge - base: ubuntu@20.04 - type: charm - - - name: script-exporter - channel: dev/edge - base: ubuntu@20.04 - type: charm - - - name: sloth-k8s - channel: latest/edge - base: ubuntu@24.04 - type: charm - - - name: snmp-exporter - channel: 0.24/edge - base: ubuntu@24.04 - type: charm - - - name: snmp-exporter - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: tempo-coordinator-k8s - channel: 2.10/edge - base: ubuntu@26.04 - type: charm - - - name: tempo-coordinator-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: tempo-worker-k8s - channel: 2.10/edge - base: ubuntu@26.04 - type: charm - - - name: tempo-worker-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm diff --git a/ssdlc-manifests/charm-secscan-manifest.yaml b/ssdlc-manifests/charm-secscan-manifest.yaml deleted file mode 100644 index 44595a22..00000000 --- a/ssdlc-manifests/charm-secscan-manifest.yaml +++ /dev/null @@ -1,396 +0,0 @@ -# run secscan using the sbomber tool on all our charms -# this manifest is used in `.github/workflows/ssdlc-scanning.yaml` - -clients: - secscan: {} - -artifacts: - - name: alertmanager-k8s - channel: 0.31/edge - base: ubuntu@26.04 - type: charm - - - name: alertmanager-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: avalanche-k8s - channel: 0.7/edge - base: ubuntu@26.04 - type: charm - - - name: avalanche-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: blackbox-exporter - channel: 0.28/edge - base: ubuntu@24.04 - type: charm - - - name: blackbox-exporter - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: blackbox-exporter-k8s - channel: 0.28/edge - base: ubuntu@26.04 - type: charm - - - name: blackbox-exporter-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: catalogue-k8s - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: catalogue-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: cos-configuration-k8s - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: cos-configuration-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: cos-proxy - channel: 3.0/edge - base: ubuntu@24.04 - type: charm - - - name: cos-proxy - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-agent - channel: 0.44/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-agent - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-agent-k8s - channel: 0.40/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-agent-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: grafana-cloud-integrator - channel: 3.0/edge - base: ubuntu@22.04 - type: charm - - - name: grafana-k8s - channel: 12.4/edge - base: ubuntu@26.04 - type: charm - - - name: grafana-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: istio-beacon-k8s - channel: dev/edge - base: ubuntu@22.04 - type: charm - - - name: istio-ingress-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: istio-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: kiali-k8s - channel: latest/edge - base: ubuntu@22.04 - type: charm - - - name: litmus-auth-k8s - channel: 3.29/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-auth-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-backend-k8s - channel: 3.29/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-backend-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: litmus-chaoscenter-k8s - channel: 3.29/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-chaoscenter-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: litmus-infrastructure-k8s - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: loki-coordinator-k8s - channel: 3.7/edge - base: ubuntu@26.04 - type: charm - - - name: loki-coordinator-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: loki-k8s - channel: 3.7/edge - base: ubuntu@26.04 - type: charm - - - name: loki-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: loki-worker-k8s - channel: 3.7/edge - base: ubuntu@26.04 - type: charm - - - name: loki-worker-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: mimir-coordinator-k8s - channel: 2.17/edge - base: ubuntu@26.04 - type: charm - - - name: mimir-coordinator-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: mimir-worker-k8s - channel: 2.17/edge - base: ubuntu@26.04 - type: charm - - - name: mimir-worker-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: opentelemetry-collector - channel: 0.130/edge - base: ubuntu@24.04 - type: charm - - - name: opentelemetry-collector - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: opentelemetry-collector-integrator - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: opentelemetry-collector-integrator - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: opentelemetry-collector-k8s - channel: 0.130/edge - base: ubuntu@26.04 - type: charm - - - name: opentelemetry-collector-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: otel-ebpf-profiler - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: parca-agent - channel: 0.35/edge - base: ubuntu@24.04 - type: charm - - - name: parca-agent - channel: dev/edge - base: ubuntu@22.04 - type: charm - - - name: parca-k8s - channel: 0.27/edge - base: ubuntu@26.04 - type: charm - - - name: parca-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: parca-scrape-target - channel: 3.0/edge - base: ubuntu@24.04 - type: charm - - - name: parca-scrape-target - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: polar-signals-cloud-integrator - channel: 3.0/edge - base: ubuntu@24.04 - type: charm - - - name: polar-signals-cloud-integrator - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: prometheus-k8s - channel: 3.11/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-pushgateway-k8s - channel: 1.11/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-pushgateway-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-scrape-config-k8s - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-scrape-config-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-scrape-target-k8s - channel: 3.0/edge - base: ubuntu@26.04 - type: charm - - - name: prometheus-scrape-target-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: pyroscope-coordinator-k8s - channel: 1.18/edge - base: ubuntu@26.04 - type: charm - - - name: pyroscope-coordinator-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: pyroscope-worker-k8s - channel: 1.18/edge - base: ubuntu@26.04 - type: charm - - - name: pyroscope-worker-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: script-exporter - channel: 3.2/edge - base: ubuntu@20.04 - type: charm - - - name: script-exporter - channel: dev/edge - base: ubuntu@20.04 - type: charm - - - name: sloth-k8s - channel: latest/edge - base: ubuntu@24.04 - type: charm - - - name: snmp-exporter - channel: 0.24/edge - base: ubuntu@24.04 - type: charm - - - name: snmp-exporter - channel: dev/edge - base: ubuntu@24.04 - type: charm - - - name: tempo-coordinator-k8s - channel: 2.10/edge - base: ubuntu@26.04 - type: charm - - - name: tempo-coordinator-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm - - - name: tempo-worker-k8s - channel: 2.10/edge - base: ubuntu@26.04 - type: charm - - - name: tempo-worker-k8s - channel: dev/edge - base: ubuntu@26.04 - type: charm diff --git a/ssdlc-manifests/rock-sbom-manifest.yaml b/ssdlc-manifests/rock-sbom-manifest.yaml deleted file mode 100644 index e23e3229..00000000 --- a/ssdlc-manifests/rock-sbom-manifest.yaml +++ /dev/null @@ -1,154 +0,0 @@ -# run secscan using the sbomber tool on all our rocks -# this manifest is used in `.github/workflows/rock-sbom.yaml` - -clients: - sbom: - department: charm_engineering - email: luca.bello@canonical.com # tradition - team: observability - -artifacts: - - name: alertmanager-rock - image: ubuntu/alertmanager - version: 0-24.04 - type: rock - - - name: blackbox-exporter-rock - image: ubuntu/blackbox-exporter - version: 0.28-24.04 - type: rock - - - name: grafana-agent-rock - image: ubuntu/grafana-agent - version: 0-24.04 - type: rock - - - name: grafana-rock - image: ubuntu/grafana - version: 9-22.04 - type: rock - - - name: istio-install-cni-rock - image: ubuntu/istio-install-cni - version: 1-24.04 - type: rock - - - name: istio-pilot-rock - image: ubuntu/istio-pilot - version: 1-24.04 - type: rock - - - name: istio-ztunnel-rock - image: ubuntu/istio-ztunnel - version: 1-24.04 - type: rock - - - name: kiali-rock - image: ubuntu/kiali - version: 2-24.04 - type: rock - - - name: litmuschaos-authserver-rock - image: ubuntu/litmuschaos-authserver - version: 3-24.04_edge - type: rock - - - name: litmuschaos-event-tracker-rock - image: ubuntu/litmuschaos-event-tracker - version: 3-24.04_edge - type: rock - - - name: litmuschaos-exporter-rock - image: ubuntu/litmuschaos-exporter - version: 3-24.04_edge - type: rock - - - name: litmuschaos-frontend-rock - image: ubuntu/litmuschaos-frontend - version: 3-24.04_edge - type: rock - - - name: litmuschaos-operator-rock - image: ubuntu/litmuschaos-operator - version: 3-24.04_edge - type: rock - - - name: litmuschaos-runner-rock - image: ubuntu/litmuschaos-runner - version: 3-24.04_edge - type: rock - - - name: litmuschaos-server-rock - image: ubuntu/litmuschaos-server - version: 3-24.04_edge - type: rock - - - name: litmuschaos-subscriber-rock - image: ubuntu/litmuschaos-subscriber - version: 3-24.04_edge - type: rock - - - name: loki-rock - image: ubuntu/loki - version: 3-24.04 - type: rock - - - name: metrics-proxy-rock - image: ubuntu/metrics-proxy - version: 0-22.04 - type: rock - - - name: mimir-rock - image: ubuntu/mimir - version: 2-24.04 - type: rock - - - name: nginx-prometheus-exporter-rock - image: ubuntu/nginx-prometheus-exporter - version: 1.5-24.04 - type: rock - - - name: node-exporter-rock - image: ubuntu/node-exporter - version: 1.9-24.04 - type: rock - - - name: opentelemetry-collector-rock - image: ubuntu/opentelemetry-collector - version: 0-24.04 - type: rock - - - name: parca-rock - image: ubuntu/parca - version: 0-24.04 - type: rock - - - name: prometheus-pushgateway-rock - image: ubuntu/prometheus-pushgateway - version: 1-24.04 - type: rock - - - name: prometheus-rock - image: ubuntu/prometheus - version: 2-24.04 - type: rock - - - name: pyroscope-rock - image: ubuntu/pyroscope - version: 1.14-24.04_edge - type: rock - - - name: sloth-rock - image: ubuntu/sloth - version: 0.15-24.04 - type: rock - - - name: tempo-rock - image: ubuntu/tempo - version: 2-24.04 - type: rock - - - name: xk6-rock - image: ubuntu/xk6 - version: 0-24.04 - type: rock diff --git a/ssdlc-manifests/rock-secscan-manifest.yaml b/ssdlc-manifests/rock-secscan-manifest.yaml deleted file mode 100644 index 6859252e..00000000 --- a/ssdlc-manifests/rock-secscan-manifest.yaml +++ /dev/null @@ -1,151 +0,0 @@ -# run secscan using the sbomber tool on all our rocks -# this manifest is used in `.github/workflows/rock-security-scan.yaml` - -clients: - secscan: {} - -artifacts: - - name: alertmanager-rock - image: ubuntu/alertmanager - version: 0-24.04 - type: rock - - - name: blackbox-exporter-rock - image: ubuntu/blackbox-exporter - version: 0.28-24.04 - type: rock - - - name: grafana-agent-rock - image: ubuntu/grafana-agent - version: 0-24.04 - type: rock - - - name: grafana-rock - image: ubuntu/grafana - version: 9-22.04 - type: rock - - - name: istio-install-cni-rock - image: ubuntu/istio-install-cni - version: 1-24.04 - type: rock - - - name: istio-pilot-rock - image: ubuntu/istio-pilot - version: 1-24.04 - type: rock - - - name: istio-ztunnel-rock - image: ubuntu/istio-ztunnel - version: 1-24.04 - type: rock - - - name: kiali-rock - image: ubuntu/kiali - version: 2-24.04 - type: rock - - - name: litmuschaos-authserver-rock - image: ubuntu/litmuschaos-authserver - version: 3-24.04_edge - type: rock - - - name: litmuschaos-event-tracker-rock - image: ubuntu/litmuschaos-event-tracker - version: 3-24.04_edge - type: rock - - - name: litmuschaos-exporter-rock - image: ubuntu/litmuschaos-exporter - version: 3-24.04_edge - type: rock - - - name: litmuschaos-frontend-rock - image: ubuntu/litmuschaos-frontend - version: 3-24.04_edge - type: rock - - - name: litmuschaos-operator-rock - image: ubuntu/litmuschaos-operator - version: 3-24.04_edge - type: rock - - - name: litmuschaos-runner-rock - image: ubuntu/litmuschaos-runner - version: 3-24.04_edge - type: rock - - - name: litmuschaos-server-rock - image: ubuntu/litmuschaos-server - version: 3-24.04_edge - type: rock - - - name: litmuschaos-subscriber-rock - image: ubuntu/litmuschaos-subscriber - version: 3-24.04_edge - type: rock - - - name: loki-rock - image: ubuntu/loki - version: 3-24.04 - type: rock - - - name: metrics-proxy-rock - image: ubuntu/metrics-proxy - version: 0-22.04 - type: rock - - - name: mimir-rock - image: ubuntu/mimir - version: 2-24.04 - type: rock - - - name: nginx-prometheus-exporter-rock - image: ubuntu/nginx-prometheus-exporter - version: 1.5-24.04 - type: rock - - - name: node-exporter-rock - image: ubuntu/node-exporter - version: 1.9-24.04 - type: rock - - - name: opentelemetry-collector-rock - image: ubuntu/opentelemetry-collector - version: 0-24.04 - type: rock - - - name: parca-rock - image: ubuntu/parca - version: 0-24.04 - type: rock - - - name: prometheus-pushgateway-rock - image: ubuntu/prometheus-pushgateway - version: 1-24.04 - type: rock - - - name: prometheus-rock - image: ubuntu/prometheus - version: 2-24.04 - type: rock - - - name: pyroscope-rock - image: ubuntu/pyroscope - version: 1.14-24.04_edge - type: rock - - - name: sloth-rock - image: ubuntu/sloth - version: 0.15-24.04 - type: rock - - - name: tempo-rock - image: ubuntu/tempo - version: 2-24.04 - type: rock - - - name: xk6-rock - image: ubuntu/xk6 - version: 0-24.04 - type: rock