From c90f63a59c2417c86671fd86a1cbc6f6589cdeef Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 1 Sep 2026 11:01:26 +0000 Subject: [PATCH] docs: update CLI and helm reference for v2.39.2 --- client_reference/kosli_assert_artifact.md | 2 +- client_reference/kosli_attest_artifact.md | 4 +- client_reference/kosli_attest_custom.md | 2 +- client_reference/kosli_attest_generic.md | 4 +- client_reference/kosli_attest_junit.md | 4 +- .../kosli_attest_pullrequest_github.md | 2 +- .../kosli_attest_pullrequest_gitlab.md | 2 +- client_reference/kosli_attest_sonar.md | 8 +- client_reference/kosli_begin_trail.md | 4 +- client_reference/kosli_create_flow.md | 2 +- client_reference/kosli_diff_snapshots.md | 198 +- client_reference/kosli_get_environment.md | 6 +- client_reference/kosli_get_snapshot.md | 4136 +++++++---------- client_reference/kosli_list_environments.md | 32 +- client_reference/kosli_list_flows.md | 48 +- client_reference/kosli_list_snapshots.md | 118 +- client_reference/kosli_log_environment.md | 410 +- client_reference/overview.md | 2 +- 18 files changed, 2178 insertions(+), 2806 deletions(-) diff --git a/client_reference/kosli_assert_artifact.md b/client_reference/kosli_assert_artifact.md index dbaa800..6a5c948 100644 --- a/client_reference/kosli_assert_artifact.md +++ b/client_reference/kosli_assert_artifact.md @@ -73,7 +73,7 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, View an example of the `kosli assert artifact` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/differ/blob/dbf0c0f13b6df5bc50b4616cc0f7c1c22bb91e24/.github/workflows/main.yml#L271) + In [this YAML file](https://github.com/cyber-dojo/differ/blob/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de/.github/workflows/main.yml#L271) View an example of the `kosli assert artifact` command in GitLab. diff --git a/client_reference/kosli_attest_artifact.md b/client_reference/kosli_attest_artifact.md index 1513302..0640cbe 100644 --- a/client_reference/kosli_attest_artifact.md +++ b/client_reference/kosli_attest_artifact.md @@ -93,12 +93,12 @@ In other CI systems, set them explicitly to capture repository metadata. View an example of the `kosli attest artifact` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/reusable-actions-workflows/blob/25f0b797c18403de1c8490a9a71bbe9789c809a9/.github/workflows/secure-docker-build.yml#L210), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/108cccf9bccf9af5d455db66c250480b53cbecc7?attestation_id=50b8cff6-1888-4c76-b31a-fdd7a311). + In [this YAML file](https://github.com/cyber-dojo/reusable-actions-workflows/blob/25f0b797c18403de1c8490a9a71bbe9789c809a9/.github/workflows/secure-docker-build.yml#L210), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de?attestation_id=11345222-f37a-4f8d-8051-ec26a321). View an example of the `kosli attest artifact` command in GitLab. - In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L111), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/83357f112ef5c10b157cb84732c77965cc8ddc48?attestation_id=11539f6a-befb-4b79-9484-fd9f25d3). + In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L111), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/d64d2b11879179255f11dc991e81fbaf4a040264?attestation_id=61384b36-4d32-43f2-8d5d-a72e2e7e). diff --git a/client_reference/kosli_attest_custom.md b/client_reference/kosli_attest_custom.md index 2629f40..1887107 100644 --- a/client_reference/kosli_attest_custom.md +++ b/client_reference/kosli_attest_custom.md @@ -82,7 +82,7 @@ In other CI systems, set them explicitly to capture repository metadata. View an example of the `kosli attest custom` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/differ/blob/108cccf9bccf9af5d455db66c250480b53cbecc7/.github/workflows/main.yml#L168), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/108cccf9bccf9af5d455db66c250480b53cbecc7?attestation_id=6e0e54e7-c55f-4ff2-9c64-a55e98cf). + In [this YAML file](https://github.com/cyber-dojo/differ/blob/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de/.github/workflows/main.yml#L168), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de?attestation_id=8dfb2b55-0e6d-4d76-8396-4c85e9aa). diff --git a/client_reference/kosli_attest_generic.md b/client_reference/kosli_attest_generic.md index 68af7ef..6170329 100644 --- a/client_reference/kosli_attest_generic.md +++ b/client_reference/kosli_attest_generic.md @@ -78,12 +78,12 @@ In other CI systems, set them explicitly to capture repository metadata. View an example of the `kosli attest generic` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/2b300f450f72006f6a9000aaf9cd04485f1e8095/.github/workflows/main.yml#L198), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/2b300f450f72006f6a9000aaf9cd04485f1e8095?attestation_id=238c219e-af62-4ac5-a626-e089df79). + In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/ff9f292e809801d35246183988b7812826bc2760/.github/workflows/main.yml#L198), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/ff9f292e809801d35246183988b7812826bc2760?attestation_id=dcf20aee-975c-4b20-9d25-02c789f8). View an example of the `kosli attest generic` command in GitLab. - In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L131), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/83357f112ef5c10b157cb84732c77965cc8ddc48?attestation_id=800f7d9d-621f-4c31-98b2-cb507548). + In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L131), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/d64d2b11879179255f11dc991e81fbaf4a040264?attestation_id=b72fe1fe-90da-4738-a506-d803f5a6). diff --git a/client_reference/kosli_attest_junit.md b/client_reference/kosli_attest_junit.md index 09d8688..70aa78c 100644 --- a/client_reference/kosli_attest_junit.md +++ b/client_reference/kosli_attest_junit.md @@ -83,12 +83,12 @@ In other CI systems, set them explicitly to capture repository metadata. View an example of the `kosli attest junit` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/differ/blob/108cccf9bccf9af5d455db66c250480b53cbecc7/.github/workflows/main.yml#L101), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/108cccf9bccf9af5d455db66c250480b53cbecc7?attestation_id=536082cb-1c94-456e-9ccb-3d3e3f7d). + In [this YAML file](https://github.com/cyber-dojo/differ/blob/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de/.github/workflows/main.yml#L101), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de?attestation_id=1143f5cc-9e0e-4bbc-a6bd-be16b348). View an example of the `kosli attest junit` command in GitLab. - In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L126), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/83357f112ef5c10b157cb84732c77965cc8ddc48?attestation_id=12fb1a20-b356-4474-82c0-64b4f978). + In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L126), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/d64d2b11879179255f11dc991e81fbaf4a040264?attestation_id=bea54670-c4f5-4e14-93b1-e234c111). diff --git a/client_reference/kosli_attest_pullrequest_github.md b/client_reference/kosli_attest_pullrequest_github.md index edbbe73..877869c 100644 --- a/client_reference/kosli_attest_pullrequest_github.md +++ b/client_reference/kosli_attest_pullrequest_github.md @@ -75,7 +75,7 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, View an example of the `kosli attest pullrequest github` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/differ/blob/108cccf9bccf9af5d455db66c250480b53cbecc7/.github/workflows/main.yml#L81), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/108cccf9bccf9af5d455db66c250480b53cbecc7?attestation_id=c3aae39c-ec5d-445c-974a-336c84b9). + In [this YAML file](https://github.com/cyber-dojo/differ/blob/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de/.github/workflows/main.yml#L81), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de?attestation_id=7cf44301-0ca2-4b1f-9ce2-6f17ee0d). diff --git a/client_reference/kosli_attest_pullrequest_gitlab.md b/client_reference/kosli_attest_pullrequest_gitlab.md index a486cbd..d4845f3 100644 --- a/client_reference/kosli_attest_pullrequest_gitlab.md +++ b/client_reference/kosli_attest_pullrequest_gitlab.md @@ -75,7 +75,7 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, View an example of the `kosli attest pullrequest gitlab` command in GitLab. - In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L75), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/83357f112ef5c10b157cb84732c77965cc8ddc48?attestation_id=4aee4be1-4ed5-48d9-a74f-8fe553e4). + In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L75), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/d64d2b11879179255f11dc991e81fbaf4a040264?attestation_id=c02a9fb9-70fd-44e8-80f0-ec85ea83). diff --git a/client_reference/kosli_attest_sonar.md b/client_reference/kosli_attest_sonar.md index 8dd609b..f997c9a 100644 --- a/client_reference/kosli_attest_sonar.md +++ b/client_reference/kosli_attest_sonar.md @@ -16,7 +16,7 @@ Both branch scans and pull request scans are supported. The scan to be retrieved can be specified in three ways: 1. (Default) Using metadata created by the Sonar scanner. By default this is located within a temporary `.scannerwork` folder in the repo base directory. -If you have overriden the location of this folder by passing parameters to the Sonar scanner, or are running Kosli's CLI locally outside the repo's base directory, +If you have overridden the location of this folder by passing parameters to the Sonar scanner, or are running Kosli's CLI locally outside the repo's base directory, you can provide the correct path using the `--sonar-working-dir` flag. This metadata is generated by a specific scan, allowing Kosli to retrieve the results of that scan. If there are delays in the scan processing (either because the scanned project is very large, or because SonarQube is experiencing processing delays), it may happen that the scan results are not available by the time the attest sonar command is executed. In this case you can use the `--max-wait` flag to retry the command while waiting for the scan to be processed. @@ -25,7 +25,7 @@ exponential backoff between retries. Once the results are available they are att 2. Providing the Sonar project key and either the revision or the pull-request ID of the scan (plus the SonarQube server URL if relevant). For branch scans: if running the Kosli CLI in some CI/CD pipeline, the revision is defaulted to the commit SHA. If you are running the command locally, -or have overriden the revision in SonarQube via parameters to the Sonar scanner, you can provide the correct revision using the `--sonar-revision` flag. +or have overridden the revision in SonarQube via parameters to the Sonar scanner, you can provide the correct revision using the `--sonar-revision` flag. If the scan ran on a branch other than the project's main branch in SonarQube, also provide the branch name using the `--sonar-branch` flag. SonarQube only searches the project's main branch unless told otherwise, so without this flag the scan cannot be found. For pull request scans: provide the pull-request ID using the `--pull-request` flag instead of the revision. @@ -82,7 +82,7 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, | `--sonar-project-key` | string | [conditional] The project key of the SonarQube project. Only required if you want to use the project key/revision/pull-request to get the scan results rather than using Sonar's metadata file. | | `--sonar-revision` | string | [conditional] The revision of the SonarQube project. Only required if you want to use the project key/revision to get the scan results rather than using Sonar's metadata file and you have overridden the default revision, or you aren't using a CI. Defaults to the value of the git commit flag. Cannot be used with `--pull-request`. | | `--sonar-server-url` | string | [conditional] The URL of your SonarQube server. Only required if you are using SonarQube Server and not using SonarQube's metadata file to get scan results. (default "https://sonarcloud.io") | -| `--sonar-working-dir` | string | [conditional] The base directory of the repo scanned by SonarQube. Only required if you have overriden the default in the sonar scanner or you are running the CLI locally in a separate folder from the repo. (default ".scannerwork") | +| `--sonar-working-dir` | string | [conditional] The base directory of the repo scanned by SonarQube. Only required if you have overridden the default in the Sonar scanner or you are running the CLI locally in a separate folder from the repo. (default ".scannerwork") | | `-T`, `--trail` | string | The Kosli trail name. | | `-u`, `--user-data` | string | [optional] The path to a JSON file containing additional data you would like to attach to the attestation. | @@ -106,7 +106,7 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, View an example of the `kosli attest sonar` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/2b300f450f72006f6a9000aaf9cd04485f1e8095/.github/workflows/main.yml#L123), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/2b300f450f72006f6a9000aaf9cd04485f1e8095?attestation_id=1b233c18-d972-4d0e-8d5c-8255544a). + In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/ff9f292e809801d35246183988b7812826bc2760/.github/workflows/main.yml#L123), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/ff9f292e809801d35246183988b7812826bc2760?attestation_id=6d693383-c6de-4551-8a29-1025803a). diff --git a/client_reference/kosli_begin_trail.md b/client_reference/kosli_begin_trail.md index f390523..507ad3c 100644 --- a/client_reference/kosli_begin_trail.md +++ b/client_reference/kosli_begin_trail.md @@ -60,12 +60,12 @@ In other CI systems, set them explicitly to capture repository metadata. View an example of the `kosli begin trail` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/runner/blob/976b63e8001ec7441ebc7737ca69f620d47e7ffe/.github/workflows/main.yml#L78), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/runner-ci/trails/976b63e8001ec7441ebc7737ca69f620d47e7ffe?attestation_id=1). + In [this YAML file](https://github.com/cyber-dojo/runner/blob/ca65b67c3e311fbdd2435609fdb6f8a5479f66f9/.github/workflows/main.yml#L78), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/runner-ci/trails/ca65b67c3e311fbdd2435609fdb6f8a5479f66f9?attestation_id=1). View an example of the `kosli begin trail` command in GitLab. - In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L55), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/83357f112ef5c10b157cb84732c77965cc8ddc48?attestation_id=1). + In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/65fd2bfa2478534ea4bc5ccf30f6bfc6aab7550c/.gitlab/workflows/main.yml#L55), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/creator-ci/trails/d64d2b11879179255f11dc991e81fbaf4a040264?attestation_id=1). diff --git a/client_reference/kosli_create_flow.md b/client_reference/kosli_create_flow.md index c86d35e..6c295a1 100644 --- a/client_reference/kosli_create_flow.md +++ b/client_reference/kosli_create_flow.md @@ -46,7 +46,7 @@ You can specify flow parameters in flags. View an example of the `kosli create flow` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/runner/blob/976b63e8001ec7441ebc7737ca69f620d47e7ffe/.github/workflows/main.yml#L62) + In [this YAML file](https://github.com/cyber-dojo/runner/blob/ca65b67c3e311fbdd2435609fdb6f8a5479f66f9/.github/workflows/main.yml#L62) View an example of the `kosli create flow` command in GitLab. diff --git a/client_reference/kosli_diff_snapshots.md b/client_reference/kosli_diff_snapshots.md index 8be0b2c..e1da6ae 100644 --- a/client_reference/kosli_diff_snapshots.md +++ b/client_reference/kosli_diff_snapshots.md @@ -66,179 +66,105 @@ kosli diff snapshots aws-beta aws-prod --output=json ```json { "snappish1": { - "snapshot_id": "aws-beta#8227", + "snapshot_id": "aws-beta#8249", + "artifacts": [] + }, + "snappish2": { + "snapshot_id": "aws-prod#5309", + "artifacts": [] + }, + "changed": { + "artifacts": [] + }, + "not-changed": { "artifacts": [ + { + "fingerprint": "03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:bcac1c1@sha256:03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", + "most_recent_timestamp": 1788255749, + "flow": "differ-ci", + "commit_url": "https://github.com/cyber-dojo/differ/commit/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", + "instance_count": 1 + }, + { + "fingerprint": "06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:84e986a@sha256:06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", + "most_recent_timestamp": 1788255396, + "flow": "saver-ci", + "commit_url": "https://github.com/cyber-dojo/saver/commit/84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", + "instance_count": 1 + }, + { + "fingerprint": "1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:27b3504@sha256:1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", + "most_recent_timestamp": 1788255750, + "flow": "nginx-ci", + "commit_url": "https://github.com/cyber-dojo/nginx/commit/27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", + "instance_count": 1 + }, { "fingerprint": "2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:ff9f292@sha256:2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", - "most_recent_timestamp": 1787842273, + "most_recent_timestamp": 1788255387, "flow": "dashboard-ci", "commit_url": "https://github.com/cyber-dojo/dashboard/commit/ff9f292e809801d35246183988b7812826bc2760", "instance_count": 1 }, + { + "fingerprint": "28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:a357ebd@sha256:28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", + "most_recent_timestamp": 1788255750, + "flow": "languages-start-points-ci", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/a357ebd85acdd54968fa0192405aaf2e289d27c9", + "instance_count": 1 + }, { "fingerprint": "34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:b12a5c9@sha256:34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", - "most_recent_timestamp": 1787838843, + "most_recent_timestamp": 1788255398, "flow": "custom-start-points-ci", "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/b12a5c9b17023462d13e81381a69c7ef05f84dc2", "instance_count": 1 }, + { + "fingerprint": "36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:cbe481c@sha256:36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", + "most_recent_timestamp": 1788074889, + "flow": "web-ci", + "commit_url": "https://github.com/cyber-dojo/web/commit/cbe481c4b842f897e4e9e411cd78461a3a12a334", + "instance_count": 3 + }, { "fingerprint": "41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:f22a30e@sha256:41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", - "most_recent_timestamp": 1787838873, + "most_recent_timestamp": 1788255396, "flow": "exercises-start-points-ci", "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "instance_count": 1 }, - { - "fingerprint": "42f74d552d375d0e991d8d39abf07432a1b449ae5bc8ae5f71ed319de5d34a5d", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:9f52d31@sha256:42f74d552d375d0e991d8d39abf07432a1b449ae5bc8ae5f71ed319de5d34a5d", - "most_recent_timestamp": 1787293862, - "flow": "nginx-ci", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/9f52d31fe193e246154b5c7c51d0b0cd9e2072c8", - "instance_count": 1 - }, { "fingerprint": "6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:90c8d98@sha256:6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", - "most_recent_timestamp": 1787903592, + "most_recent_timestamp": 1788255396, "flow": "spooler-ci", "commit_url": "https://github.com/cyber-dojo/spooler/commit/90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "instance_count": 1 }, { - "fingerprint": "71396a2c412c74a2d4c1760bfbb031f8dfc6e0e3883ebc31b4435b84b650f93b", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:fa3e5bd@sha256:71396a2c412c74a2d4c1760bfbb031f8dfc6e0e3883ebc31b4435b84b650f93b", - "most_recent_timestamp": 1787838882, - "flow": "saver-ci", - "commit_url": "https://github.com/cyber-dojo/saver/commit/fa3e5bd70ef8934b073a8b77c2f99e6c22636156", - "instance_count": 1 - }, - { - "fingerprint": "97ff43a94b80b95ac2ac96c0fb5968537211d4953e280c96cf37f9c6b0ff0fb4", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:85d6c9c@sha256:97ff43a94b80b95ac2ac96c0fb5968537211d4953e280c96cf37f9c6b0ff0fb4", - "most_recent_timestamp": 1787838873, - "flow": "languages-start-points-ci", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/85d6c9c55ce1ed15a152200ce5002e06ba5ea71b", - "instance_count": 1 + "fingerprint": "a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:ca65b67@sha256:a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", + "most_recent_timestamp": 1788255844, + "flow": "runner-ci", + "commit_url": "https://github.com/cyber-dojo/runner/commit/ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", + "instance_count": 3 }, { "fingerprint": "c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:d64d2b1@sha256:c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", - "most_recent_timestamp": 1787835781, + "most_recent_timestamp": 1788256052, "flow": "creator-ci", "commit_url": "https://github.com/cyber-dojo/creator/commit/d64d2b11879179255f11dc991e81fbaf4a040264", "instance_count": 1 - }, - { - "fingerprint": "c6f812210fa473dd413a730c93e20b3f4c00fde358a67623f1c01916858c8046", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:dbf0c0f@sha256:c6f812210fa473dd413a730c93e20b3f4c00fde358a67623f1c01916858c8046", - "most_recent_timestamp": 1787837228, - "flow": "differ-ci", - "commit_url": "https://github.com/cyber-dojo/differ/commit/dbf0c0f13b6df5bc50b4616cc0f7c1c22bb91e24", - "instance_count": 1 - } - ] - }, - "snappish2": { - "snapshot_id": "aws-prod#5292", - "artifacts": [ - { - "fingerprint": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "most_recent_timestamp": 1786425083, - "flow": "dashboard-ci", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095", - "instance_count": 1 - }, - { - "fingerprint": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", - "most_recent_timestamp": 1786425086, - "flow": "saver-ci", - "commit_url": "https://github.com/cyber-dojo/saver/commit/36f0420f728fe61e44a3ab0043cf9a3d70863cad", - "instance_count": 1 - }, - { - "fingerprint": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", - "most_recent_timestamp": 1786425092, - "flow": "differ-ci", - "commit_url": "https://github.com/cyber-dojo/differ/commit/108cccf9bccf9af5d455db66c250480b53cbecc7", - "instance_count": 1 - }, - { - "fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "most_recent_timestamp": 1785241244, - "flow": "custom-start-points-ci", - "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "instance_count": 1 - }, - { - "fingerprint": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", - "most_recent_timestamp": 1786425173, - "flow": "creator-ci", - "commit_url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48", - "instance_count": 1 - }, - { - "fingerprint": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", - "most_recent_timestamp": 1786425079, - "flow": "languages-start-points-ci", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/068b3424c7da843a4f2d428d2e4915f33efc4a02", - "instance_count": 1 - }, - { - "fingerprint": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", - "most_recent_timestamp": 1786425079, - "flow": "nginx-ci", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/fb791742054fa28dd89269aac8002ebfd7b3386e", - "instance_count": 1 - }, - { - "fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "most_recent_timestamp": 1785241255, - "flow": "exercises-start-points-ci", - "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "instance_count": 1 - }, - { - "fingerprint": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", - "most_recent_timestamp": 1786425512, - "flow": "spooler-ci", - "commit_url": "https://github.com/cyber-dojo/spooler/commit/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", - "instance_count": 1 - } - ] - }, - "changed": { - "artifacts": [] - }, - "not-changed": { - "artifacts": [ - { - "fingerprint": "01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:976b63e@sha256:01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "most_recent_timestamp": 1788074312, - "flow": "runner-ci", - "commit_url": "https://github.com/cyber-dojo/runner/commit/976b63e8001ec7441ebc7737ca69f620d47e7ffe", - "instance_count": 3 - }, - { - "fingerprint": "36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:cbe481c@sha256:36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "most_recent_timestamp": 1788074889, - "flow": "web-ci", - "commit_url": "https://github.com/cyber-dojo/web/commit/cbe481c4b842f897e4e9e411cd78461a3a12a334", - "instance_count": 3 } ] } diff --git a/client_reference/kosli_get_environment.md b/client_reference/kosli_get_environment.md index 106f560..e2c6f6b 100644 --- a/client_reference/kosli_get_environment.md +++ b/client_reference/kosli_get_environment.md @@ -50,9 +50,9 @@ kosli get environment aws-prod --output=json "name": "aws-prod", "type": "ECS", "description": "The ECS cluster for production cyber-dojo", - "last_modified_at": 1788098998.3881242, - "last_reported_at": 1788098998.3881242, - "last_changed_at": 1788074998.5362537, + "last_modified_at": 1788260398.5436597, + "last_reported_at": 1788260398.5436597, + "last_changed_at": 1788256325.6192138, "state": true, "include_scaling": false, "tags": { diff --git a/client_reference/kosli_get_snapshot.md b/client_reference/kosli_get_snapshot.md index 8373781..4b4cf96 100644 --- a/client_reference/kosli_get_snapshot.md +++ b/client_reference/kosli_get_snapshot.md @@ -64,7 +64,7 @@ kosli get snapshot aws-prod --output=json ```json { - "index": 5292, + "index": 5309, "is_latest": true, "next_snapshot_timestamp": null, "artifact_compliance_count": { @@ -72,735 +72,13 @@ kosli get snapshot aws-prod --output=json "false": 0, "null": 0 }, - "timestamp": 1788074998.5362537, + "timestamp": 1788256325.6192138, "type": "ECS", "compliant": true, - "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5292", + "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309", "artifacts": [ { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:cbe481c@sha256:36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "compliant": true, - "deployments": [], - "policy_decisions": [ - { - "policy_version": 3, - "status": "COMPLIANT", - "rule_evaluations": [ - { - "rule": { - "type": "provenance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": "COMPLIANT" - } - } - ] - }, - { - "rule": { - "type": "attestation", - "definition": { - "if": { - "text": "flow.tags.kind == \"build\"" - }, - "name": "*", - "type": "pull_request", - "must_be_compliant": true, - "for_control": null - } - }, - "satisfied": true, - "ignored": false, - "resolutions": [ - { - "type": "rule_satisfied", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null - } - } - ] - } - ], - "policy_name": "pull-request" - }, - { - "policy_version": 3, - "status": "COMPLIANT", - "rule_evaluations": [ - { - "rule": { - "type": "provenance", - "definition": { - "required": true, - "exceptions": [] - } - }, - "satisfied": true, - "ignored": false, - "resolutions": [ - { - "type": "rule_satisfied", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": "COMPLIANT" - } - } - ] - }, - { - "rule": { - "type": "attestation", - "definition": { - "if": { - "text": "flow.tags.kind == \"build\"" - }, - "name": "*", - "type": "decision", - "must_be_compliant": true, - "for_control": "SDLC-CTRL-0002" - } - }, - "satisfied": true, - "ignored": false, - "resolutions": [ - { - "type": "rule_satisfied", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null, - "for_control": "SDLC-CTRL-0002" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null, - "for_control": "SDLC-CTRL-0002" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null, - "for_control": "SDLC-CTRL-0002" - } - } - ] - } - ], - "policy_name": "provenance" - }, - { - "policy_version": 4, - "status": "COMPLIANT", - "rule_evaluations": [ - { - "rule": { - "type": "provenance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": "COMPLIANT" - } - } - ] - }, - { - "rule": { - "type": "attestation", - "definition": { - "if": { - "text": "flow.name == \"snyk-aws-prod-per-artifact\"" - }, - "name": "snyk-container-scan", - "type": "decision", - "must_be_compliant": true, - "for_control": "SDLC-CTRL-0022" - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null, - "for_control": "SDLC-CTRL-0022" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null, - "for_control": "SDLC-CTRL-0022" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null, - "for_control": "SDLC-CTRL-0022" - } - } - ] - } - ], - "policy_name": "snyk-scan-aws-prod" - }, - { - "policy_version": 2, - "status": "COMPLIANT", - "rule_evaluations": [ - { - "rule": { - "type": "provenance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": "COMPLIANT" - } - } - ] - }, - { - "rule": { - "type": "attestation", - "definition": { - "if": { - "text": "flow.name == \"production-promotion\"" - }, - "name": "snyk-scan", - "type": "decision", - "must_be_compliant": true, - "for_control": null - } - }, - "satisfied": true, - "ignored": false, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null - } - } - ] - } - ], - "policy_name": "production-promotion" - }, - { - "policy_version": 2, - "status": "COMPLIANT", - "rule_evaluations": [ - { - "rule": { - "type": "provenance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": true, - "exceptions": [ - { - "if": { - "text": "exists(flow.tags.env) and flow.tags.env != \"aws-prod\"" - } - } - ] - } - }, - "satisfied": true, - "ignored": false, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "artifact_status": "COMPLIANT" - } - } - ] - } - ], - "policy_name": "trail-compliance-aws-prod" - } - ], - "reasons_for_incompliance": [], - "fingerprint": "36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "creationTimestamp": [ - 1788074885, - 1788074889, - 1788074889 - ], - "pods": null, - "annotation": { - "type": "unchanged", - "was": 3, - "now": 3 - }, - "flow_name": "web-ci", - "git_commit": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "commit_url": "https://github.com/cyber-dojo/web/commit/cbe481c4b842f897e4e9e411cd78461a3a12a334", - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=41957e62-eaad-48d2-af40-46879efb", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/5e4b9873df93525c041c386c06e0ab8fc36b6f33...cbe481c4b842f897e4e9e411cd78461a3a12a334", - "previous_git_commit": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "previous_fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "previous_trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "previous_template_reference_name": "web" - }, - "commit_lead_time": 169904.0, - "flows": [ - { - "flow_name": "web-ci", - "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "template_reference_name": "web", - "git_commit": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "commit_url": "https://github.com/cyber-dojo/web/commit/cbe481c4b842f897e4e9e411cd78461a3a12a334", - "git_commit_info": { - "sha1": "cbe481c4b842f897e4e9e411cd78461a3a12a334", - "message": "Match the siblings on test-output buffering and frozen-string comments (#424)\n\nThe tee in the server test run makes ruby block-buffer stdout, so the\n progress dots only appeared once the whole run had finished. saver sets\n $stdout.sync in its own -e script for exactly this reason; web now does\n too.\n\n Every repo already freezes literals globally via RUBYOPT in up.sh, so a\n per-file magic comment buys nothing. runner, creator and differ exclude\n source/ from the cop, while web grandfathered each file in the todo\n instead, which is why the cop fired on the one newly added file.\n Excluding source/ matches them and leaves the todo holding only the bin/\n script that RUBYOPT does not reach.", - "author": "Jon Jagger ", - "branch": "", - "timestamp": 1787904981.0, - "url": "https://github.com/cyber-dojo/web/commit/cbe481c4b842f897e4e9e411cd78461a3a12a334" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=41957e62-eaad-48d2-af40-46879efb", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/5e4b9873df93525c041c386c06e0ab8fc36b6f33...cbe481c4b842f897e4e9e411cd78461a3a12a334", - "previous_git_commit": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "previous_fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "previous_trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "previous_template_reference_name": "web" - }, - "commit_lead_time": 169904.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "production-promotion", - "trail_name": "promotion-one-161", - "template_reference_name": "web", - "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "git_commit_info": { - "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", - "author": "JonJagger ", - "branch": "main", - "timestamp": 1785316994.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=3e754e79-8e4c-486a-ad94-0b183d32", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_trail_name": "promote-all-33", - "previous_template_reference_name": "web" - }, - "commit_lead_time": 2757891.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "template_reference_name": "web", - "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", - "git_commit_info": { - "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", - "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", - "author": "JonJagger ", - "branch": "main", - "timestamp": 1787661987.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=7e2d1204-16c1-4d83-8c52-a2117008", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", - "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "previous_template_reference_name": "web" - }, - "commit_lead_time": 412898.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - } - ], - "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d68ae20a684745c6ba576ab68a51dd25", - "cluster_name": null, - "service_name": null - } - }, - { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:976b63e@sha256:01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:d64d2b1@sha256:c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "compliant": true, "deployments": [], "policy_decisions": [ @@ -822,8 +100,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } }, @@ -831,15 +117,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } } @@ -859,8 +145,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } }, @@ -868,15 +162,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } } @@ -901,8 +195,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } }, @@ -910,15 +212,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } } @@ -945,8 +247,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } }, @@ -954,15 +264,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } } @@ -982,8 +292,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } }, @@ -991,15 +309,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } } @@ -1024,8 +342,17 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1034,7 +361,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1042,8 +369,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1071,8 +398,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } }, @@ -1080,15 +415,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } } @@ -1108,8 +443,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } }, @@ -1117,15 +460,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } } @@ -1144,14 +487,14 @@ kosli get snapshot aws-prod --output=json "for_control": "SDLC-CTRL-0022" } }, - "satisfied": null, - "ignored": true, + "satisfied": true, + "ignored": false, "resolutions": [ { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1159,8 +502,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1168,8 +511,17 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1197,8 +549,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } }, @@ -1206,15 +566,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } } @@ -1234,8 +594,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } }, @@ -1243,15 +611,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } } @@ -1276,8 +644,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } }, @@ -1285,15 +661,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } } @@ -1320,8 +696,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } }, @@ -1329,15 +713,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": null } } @@ -1363,8 +747,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } }, @@ -1372,15 +764,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "artifact_status": "COMPLIANT" } } @@ -1391,71 +783,100 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "fingerprint": "c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "creationTimestamp": [ - 1788074305, - 1788074311, - 1788074312 + 1788256052 ], "pods": null, "annotation": { - "type": "unchanged", - "was": 3, - "now": 3 + "type": "updated-provenance", + "was": 1, + "now": 1 }, - "flow_name": "runner-ci", - "git_commit": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", - "commit_url": "https://github.com/cyber-dojo/runner/commit/976b63e8001ec7441ebc7737ca69f620d47e7ffe", - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9?artifact_id=e63d6d6b-d7ee-4fad-a66a-32a4ebba", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", + "flow_name": "creator-ci", + "git_commit": "d64d2b11879179255f11dc991e81fbaf4a040264", + "commit_url": "https://github.com/cyber-dojo/creator/commit/d64d2b11879179255f11dc991e81fbaf4a040264", + "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab?artifact_id=61384b36-4d32-43f2-8d5d-a72e2e7e", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd...976b63e8001ec7441ebc7737ca69f620d47e7ffe", - "previous_git_commit": "d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd", - "previous_fingerprint": "fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:d7541d3@sha256:fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", + "diff_url": "https://github.com/cyber-dojo/creator/compare/83357f112ef5c10b157cb84732c77965cc8ddc48...d64d2b11879179255f11dc991e81fbaf4a040264", + "previous_git_commit": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "previous_fingerprint": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd", - "previous_trail_name": "d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48", + "previous_trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 2945.0, + "commit_lead_time": 420668.0, "flows": [ { - "flow_name": "runner-ci", - "trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", - "template_reference_name": "runner", - "git_commit": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", - "commit_url": "https://github.com/cyber-dojo/runner/commit/976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "flow_name": "creator-ci", + "trail_name": "d64d2b11879179255f11dc991e81fbaf4a040264", + "template_reference_name": "creator", + "git_commit": "d64d2b11879179255f11dc991e81fbaf4a040264", + "commit_url": "https://github.com/cyber-dojo/creator/commit/d64d2b11879179255f11dc991e81fbaf4a040264", "git_commit_info": { - "sha1": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", - "message": "Expand the image tag to a full sha before checking out (#303)\n\nA hand deploy passes the 7 digit image tag to apply.yml as the ref for the\n terraform to apply. actions/checkout only fetches a ref as a commit when it is\n a full 40 hex digit sha; given 7 digits it builds refspecs for a branch and a\n tag of that name, matches nothing, and fails before terraform runs.\n\n So resolve the tag to its commit sha first, and stop the run when it does not\n resolve: an empty ref would silently check out the default branch, which is\n the today's-terraform-against-yesterday's-image pairing that passing a ref at\n all exists to prevent.\n\n This also names the Kosli trail by the full sha, matching the automatic\n deploy, which passes no ref and falls back to github.sha in the same\n terraform-apply--runner flow.\n\n Covers both the beta and prod manual workflows.", + "sha1": "d64d2b11879179255f11dc991e81fbaf4a040264", + "message": "Merge update-base-image into main (#56)\n\n* Dockerfile - Automated base-image update\n\n* Make the test harness work on the simplecov the new base image carries\n\n The automated base-image bump brings simplecov 0.21.2 -> 1.1.1, and\n three things here were written against the older one. Only the first\n fails the build; the other two announce themselves on stderr every run.\n\n simplecov_json.rb reopened SimpleCov::Formatter::JSONFormatter to\n redefine format. In 1.1.1 that class defines format itself, so ruby -w\n reports the redefinition twice and test_log_warnings goes from 0 to 2.\n It is now CoverageMetricsFormatter, named for the coverage_metrics.json\n it writes, which is the same name runner gives the same job. It never\n needed to be that class: what it produces is per-group totals, not the\n per-file shape the shipped formatter writes, so it was only borrowing\n the name to make itself win.\n\n SimpleCov.add_group is deprecated in favour of group. The block\n parameter goes from src to path while passing, since it is a source\n file in both groups and src said otherwise in the test one.\n\n # :nocov: is deprecated in favour of # simplecov:disable / :enable. The\n pair wrapping id58_test_base.rb is the only one in the repo.\n\n Coverage is unchanged: code.lines.total 526, test.lines.total 677,\n nothing missed in either. coverage.rb already cleared filters, so the\n test group survived 1.1.1 tightening the default test_frameworks skip\n to an anchored regex, which is what caught start-points-base out.\n\n---------\n\nCo-authored-by: JonJagger ", "author": "Jon Jagger ", "branch": "", - "timestamp": 1788071360.0, - "url": "https://github.com/cyber-dojo/runner/commit/976b63e8001ec7441ebc7737ca69f620d47e7ffe" + "timestamp": 1787835384.0, + "url": "https://github.com/cyber-dojo/creator/commit/d64d2b11879179255f11dc991e81fbaf4a040264" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9?artifact_id=e63d6d6b-d7ee-4fad-a66a-32a4ebba", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab?artifact_id=61384b36-4d32-43f2-8d5d-a72e2e7e", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd...976b63e8001ec7441ebc7737ca69f620d47e7ffe", - "previous_git_commit": "d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd", - "previous_fingerprint": "fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:d7541d3@sha256:fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", + "diff_url": "https://github.com/cyber-dojo/creator/compare/83357f112ef5c10b157cb84732c77965cc8ddc48...d64d2b11879179255f11dc991e81fbaf4a040264", + "previous_git_commit": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "previous_fingerprint": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd", - "previous_trail_name": "d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48", + "previous_trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "previous_template_reference_name": "creator" + }, + "commit_lead_time": 420668.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", + "template_reference_name": "creator", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", + "git_commit_info": { + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", + "author": "JonJagger ", + "branch": "main", + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab?artifact_id=5d73a605-4286-4a94-be8c-e2262a67", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 2945.0, + "commit_lead_time": 594065.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-160", - "template_reference_name": "runner", + "trail_name": "promote-all-34", + "template_reference_name": "creator", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { @@ -1466,27 +887,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316994.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9?artifact_id=03c1db6a-80cb-49e4-a5e0-91a23174", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab?artifact_id=615d01cb-77c4-4429-9531-60460983", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:d7541d3@sha256:fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", + "previous_fingerprint": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_trail_name": "promotion-one-158", - "previous_template_reference_name": "runner" + "previous_trail_name": "promote-all-33", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 2757311.0, + "commit_lead_time": 2939058.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "template_reference_name": "runner", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", + "template_reference_name": "creator", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -1497,32 +918,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9?artifact_id=5b23c60c-3ed3-43e8-99a7-49a9f6f1", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab?artifact_id=d4d51513-4c22-4eb3-b8b3-caa88478", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/ad256a36cfd9d90f78acbf393e4bff5a2ef45fcf...ed3c81d7322bb8058615095f4aab28c147c53933", - "previous_git_commit": "ad256a36cfd9d90f78acbf393e4bff5a2ef45fcf", - "previous_fingerprint": "fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:d7541d3@sha256:fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/7172cc22125f480a9f12127edb481a4d84aabea3...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "7172cc22125f480a9f12127edb481a4d84aabea3", + "previous_fingerprint": "e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:a288de5@sha256:e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ad256a36cfd9d90f78acbf393e4bff5a2ef45fcf", - "previous_trail_name": "runner-fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/7172cc22125f480a9f12127edb481a4d84aabea3", + "previous_trail_name": "creator-e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 412318.0, + "commit_lead_time": 594065.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/cf488f12ff9843f4ba567f44c249fa40", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/3497b80bc2ff41e792b5ca4a833882fc", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:27b3504@sha256:1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "compliant": true, "deployments": [], "policy_decisions": [ @@ -1544,24 +965,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -1569,7 +990,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } } @@ -1589,24 +1010,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -1614,7 +1035,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } } @@ -1633,30 +1054,30 @@ kosli get snapshot aws-prod --output=json "for_control": null } }, - "satisfied": null, - "ignored": true, + "satisfied": true, + "ignored": false, "resolutions": [ { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -1664,7 +1085,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } } @@ -1691,24 +1112,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -1716,7 +1137,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } } @@ -1736,24 +1157,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -1761,7 +1182,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } } @@ -1780,14 +1201,14 @@ kosli get snapshot aws-prod --output=json "for_control": "SDLC-CTRL-0002" } }, - "satisfied": null, - "ignored": true, + "satisfied": true, + "ignored": false, "resolutions": [ { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1795,8 +1216,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1804,8 +1225,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1814,7 +1235,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1842,24 +1263,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -1867,7 +1288,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } } @@ -1887,24 +1308,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -1912,7 +1333,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } } @@ -1937,8 +1358,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1946,8 +1367,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1955,8 +1376,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1965,7 +1386,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1993,24 +1414,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2018,7 +1439,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } } @@ -2038,24 +1459,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -2063,7 +1484,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } } @@ -2088,24 +1509,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2113,7 +1534,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } } @@ -2140,24 +1561,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2165,7 +1586,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": null } } @@ -2191,24 +1612,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -2216,7 +1637,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "artifact_status": "COMPLIANT" } } @@ -2227,121 +1648,131 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "fingerprint": "1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", "creationTimestamp": [ - 1786425512 + 1788255750 ], "pods": null, "annotation": { - "type": "unchanged", + "type": "updated-provenance", "was": 1, "now": 1 }, - "flow_name": "spooler-ci", - "git_commit": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", - "commit_url": "https://github.com/cyber-dojo/spooler/commit/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", - "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0?artifact_id=df2dcc5e-bb07-40e8-b013-9ac60f42", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", + "flow_name": "nginx-ci", + "git_commit": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", + "commit_url": "https://github.com/cyber-dojo/nginx/commit/27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", + "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21?artifact_id=9045bb07-ea42-482f-99c3-4fe5b86f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/spooler/compare/c81791fd10558a59f83876137fb021abcd89f262...dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", - "previous_git_commit": "c81791fd10558a59f83876137fb021abcd89f262", - "previous_fingerprint": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "diff_url": "https://github.com/cyber-dojo/nginx/compare/fb791742054fa28dd89269aac8002ebfd7b3386e...27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", + "previous_git_commit": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "previous_fingerprint": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", - "previous_trail_name": "c81791fd10558a59f83876137fb021abcd89f262", - "previous_template_reference_name": "spooler" + "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/fb791742054fa28dd89269aac8002ebfd7b3386e", + "previous_trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 171872.0, + "commit_lead_time": 1790.0, "flows": [ { - "flow_name": "spooler-ci", - "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", - "template_reference_name": "spooler", - "git_commit": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", - "commit_url": "https://github.com/cyber-dojo/spooler/commit/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "flow_name": "nginx-ci", + "trail_name": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", + "template_reference_name": "nginx", + "git_commit": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", + "commit_url": "https://github.com/cyber-dojo/nginx/commit/27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "git_commit_info": { - "sha1": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", - "message": "Merge pull request #14 from cyber-dojo/fix-exit-non-zero\n\nMake exit_non_zero actually exit", + "sha1": "27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", + "message": "Merge pull request #169 from cyber-dojo/run-workflow-to-pick-up-fixes-to-snyk-vulns\n\nRun workflow to pick up fixes to new snyk vulns", "author": "Jon Jagger ", "branch": "", - "timestamp": 1786253640.0, - "url": "https://github.com/cyber-dojo/spooler/commit/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb" + "timestamp": 1788253960.0, + "url": "https://github.com/cyber-dojo/nginx/commit/27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0?artifact_id=df2dcc5e-bb07-40e8-b013-9ac60f42", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21?artifact_id=9045bb07-ea42-482f-99c3-4fe5b86f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/spooler/compare/c81791fd10558a59f83876137fb021abcd89f262...dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", - "previous_git_commit": "c81791fd10558a59f83876137fb021abcd89f262", - "previous_fingerprint": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "diff_url": "https://github.com/cyber-dojo/nginx/compare/fb791742054fa28dd89269aac8002ebfd7b3386e...27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", + "previous_git_commit": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "previous_fingerprint": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", - "previous_trail_name": "c81791fd10558a59f83876137fb021abcd89f262", - "previous_template_reference_name": "spooler" + "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/fb791742054fa28dd89269aac8002ebfd7b3386e", + "previous_trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 171872.0, + "commit_lead_time": 1790.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "production-promotion", - "trail_name": "promote-all-33", - "template_reference_name": "spooler", - "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", + "template_reference_name": "nginx", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316994.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0?artifact_id=3c4a58c5-2e1f-4f22-b774-45e5f2b0", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21?artifact_id=d14d27b1-2d09-43a9-bf35-f58f3164", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/81c216a55b2cb1787645e699ceaceca868cad253...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "previous_fingerprint": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", - "previous_trail_name": "promotion-one-145", - "previous_template_reference_name": "spooler" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 1108518.0, + "commit_lead_time": 593763.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", - "template_reference_name": "spooler", - "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", + "template_reference_name": "nginx", + "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { - "sha1": "10203d5d23f93844726f204390cf3d5ca8d5c913", - "message": "Extract the repeated retrying curl into a composite action\n\n The retry flags were pasted into six call sites, so tuning them\n meant six edits with five chances to miss one.\n\n Two of the three jobs check out the caller's repo, where\n ./.github/actions does not resolve, so those name the action by\n its repo path.", + "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "message": "Drop lone use of = separator on Kosli CLI boolean flag", "author": "JonJagger ", "branch": "main", - "timestamp": 1786602393.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" + "timestamp": 1785316994.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0?artifact_id=2d1fc9ff-2b3c-4fb6-a4df-51f64b71", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", - "deployment_diff": null, - "commit_lead_time": -176881.0, + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21?artifact_id=1b78fe0b-61c8-4e00-bc5a-d54ae788", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_fingerprint": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_trail_name": "promote-all-33", + "previous_template_reference_name": "nginx" + }, + "commit_lead_time": 2938756.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", - "template_reference_name": "spooler", + "trail_name": "nginx-1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", + "template_reference_name": "nginx", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -2352,22 +1783,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0?artifact_id=c516df8e-f0ee-4cce-ab77-fc71de8c", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21?artifact_id=c340a947-0136-4de1-acc8-2a89f741", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", - "deployment_diff": null, - "commit_lead_time": -1236475.0, + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_fingerprint": "b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:7065268@sha256:b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_trail_name": "nginx-b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", + "previous_template_reference_name": "nginx" + }, + "commit_lead_time": 593763.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d965b62fd5c64cd98456881feb1352c7", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/675ca6104c294b369094b918f30ab6b9", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:a357ebd@sha256:28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "compliant": true, "deployments": [], "policy_decisions": [ @@ -2389,8 +1830,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null } }, @@ -2398,7 +1839,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } }, @@ -2406,7 +1847,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2414,7 +1855,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } } @@ -2434,8 +1875,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": "COMPLIANT" } }, @@ -2443,7 +1884,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } }, @@ -2451,7 +1892,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -2459,7 +1900,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } } @@ -2484,8 +1925,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null } }, @@ -2493,7 +1934,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } }, @@ -2501,7 +1942,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2509,7 +1950,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } } @@ -2536,8 +1977,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null } }, @@ -2545,7 +1986,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } }, @@ -2553,7 +1994,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2561,7 +2002,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } } @@ -2581,8 +2022,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": "COMPLIANT" } }, @@ -2590,7 +2031,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } }, @@ -2598,7 +2039,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -2606,7 +2047,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } } @@ -2631,8 +2072,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2641,7 +2082,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2650,7 +2091,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2659,7 +2100,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2687,8 +2128,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null } }, @@ -2696,7 +2137,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } }, @@ -2704,7 +2145,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2712,7 +2153,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } } @@ -2732,8 +2173,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": "COMPLIANT" } }, @@ -2741,7 +2182,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } }, @@ -2749,7 +2190,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -2757,7 +2198,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } } @@ -2782,8 +2223,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2792,7 +2233,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2801,7 +2242,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2810,7 +2251,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2838,8 +2279,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null } }, @@ -2847,7 +2288,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } }, @@ -2855,7 +2296,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2863,7 +2304,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } } @@ -2883,8 +2324,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": "COMPLIANT" } }, @@ -2892,7 +2333,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } }, @@ -2900,7 +2341,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -2908,7 +2349,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } } @@ -2933,8 +2374,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null } }, @@ -2942,7 +2383,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } }, @@ -2950,7 +2391,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -2958,7 +2399,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } } @@ -2985,8 +2426,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": null } }, @@ -2994,7 +2435,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } }, @@ -3002,7 +2443,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -3010,7 +2451,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": null } } @@ -3036,8 +2477,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", "artifact_status": "COMPLIANT" } }, @@ -3045,7 +2486,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } }, @@ -3053,7 +2494,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -3061,7 +2502,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "artifact_status": "COMPLIANT" } } @@ -3072,100 +2513,100 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "fingerprint": "28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "creationTimestamp": [ - 1786425173 + 1788255750 ], "pods": null, "annotation": { - "type": "unchanged", + "type": "updated-provenance", "was": 1, "now": 1 }, - "flow_name": "creator-ci", - "git_commit": "83357f112ef5c10b157cb84732c77965cc8ddc48", - "commit_url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48", - "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=11539f6a-befb-4b79-9484-fd9f25d3", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", + "flow_name": "languages-start-points-ci", + "git_commit": "a357ebd85acdd54968fa0192405aaf2e289d27c9", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/a357ebd85acdd54968fa0192405aaf2e289d27c9", + "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832?artifact_id=8e028a8d-a1f2-4732-8663-47012b29", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/creator/compare/89019f6d8059406e56fa499b2dec2dbf93f4d5c7...83357f112ef5c10b157cb84732c77965cc8ddc48", - "previous_git_commit": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "previous_fingerprint": "aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:89019f6@sha256:aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/068b3424c7da843a4f2d428d2e4915f33efc4a02...a357ebd85acdd54968fa0192405aaf2e289d27c9", + "previous_git_commit": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "previous_fingerprint": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "previous_trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "previous_template_reference_name": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/068b3424c7da843a4f2d428d2e4915f33efc4a02", + "previous_trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 660751.0, + "commit_lead_time": 10038.0, "flows": [ { - "flow_name": "creator-ci", - "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", - "template_reference_name": "creator", - "git_commit": "83357f112ef5c10b157cb84732c77965cc8ddc48", - "commit_url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48", + "flow_name": "languages-start-points-ci", + "trail_name": "a357ebd85acdd54968fa0192405aaf2e289d27c9", + "template_reference_name": "languages-start-points", + "git_commit": "a357ebd85acdd54968fa0192405aaf2e289d27c9", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/a357ebd85acdd54968fa0192405aaf2e289d27c9", "git_commit_info": { - "sha1": "83357f112ef5c10b157cb84732c77965cc8ddc48", - "message": "Run the linter as the invoking user (#53)\n\nThe rubocop container wrote reports/rubocop/junit.xml as its own user, so on a\n linux runner the file belongs to someone else. That broke the attestation added\n in #52: kosli attest copies evidence with PreserveOwner when given more than one\n path, and a non-root process cannot chown a file to another uid.\n\n chown /tmp/1800768837/reports/rubocop/junit.xml: operation not permitted\n\n The single-path form tars in place and never copies, which is why --results-dir\n alone had been fine and adding --attachments broke it.\n\n Passing --user makes the container write as whoever ran it. Worth doing on its\n own account - a container should not leave files you cannot delete in your\n working tree - and it sidesteps the CLI's behaviour without waiting on it. That\n behaviour looks like a bug and is written up in\n ../kosli-cli-preserve-owner-bug.md for an issue against kosli-dev/cli.\n\n Docker Desktop maps ownership back to the calling user, so this is invisible on a\n mac and only shows on the runner.", + "sha1": "a357ebd85acdd54968fa0192405aaf2e289d27c9", + "message": "Merge pull request #252 from cyber-dojo/speed-updates-to-slowest-ltfs\n\nSpeed updates to the slowest LTFs", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785764422.0, - "url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48" + "timestamp": 1788245712.0, + "url": "https://github.com/cyber-dojo/languages-start-points/commit/a357ebd85acdd54968fa0192405aaf2e289d27c9" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=11539f6a-befb-4b79-9484-fd9f25d3", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832?artifact_id=8e028a8d-a1f2-4732-8663-47012b29", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/creator/compare/89019f6d8059406e56fa499b2dec2dbf93f4d5c7...83357f112ef5c10b157cb84732c77965cc8ddc48", - "previous_git_commit": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "previous_fingerprint": "aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:89019f6@sha256:aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/068b3424c7da843a4f2d428d2e4915f33efc4a02...a357ebd85acdd54968fa0192405aaf2e289d27c9", + "previous_git_commit": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "previous_fingerprint": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "previous_trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "previous_template_reference_name": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/068b3424c7da843a4f2d428d2e4915f33efc4a02", + "previous_trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 660751.0, + "commit_lead_time": 10038.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", - "template_reference_name": "creator", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", + "template_reference_name": "languages-start-points", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=6feaf5cb-761e-4f05-8591-1db09ac4", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832?artifact_id=8b7fa132-7335-4301-a248-b13e4286", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:07ed087@sha256:26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", + "previous_fingerprint": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_trail_name": "creator-26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", - "previous_template_reference_name": "creator" + "previous_trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 1108222.0, + "commit_lead_time": 593763.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-33", - "template_reference_name": "creator", + "trail_name": "promote-all-34", + "template_reference_name": "languages-start-points", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { @@ -3176,27 +2617,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316994.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=d5412ba4-c8b6-4bf3-8a8f-05f2ed00", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832?artifact_id=790a39b3-0c7c-4220-9d6b-63bff0f3", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:89019f6@sha256:aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "previous_fingerprint": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_trail_name": "promotion-one-150", - "previous_template_reference_name": "creator" + "previous_trail_name": "promote-all-33", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 1108179.0, + "commit_lead_time": 2938756.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", - "template_reference_name": "creator", + "trail_name": "languages-start-points-28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", + "template_reference_name": "languages-start-points", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -3207,32 +2648,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=d0ae3017-db9d-4502-aa9b-d9d6cbff", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832?artifact_id=400979c3-f9c3-4652-8b12-2204fabb", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/7172cc22125f480a9f12127edb481a4d84aabea3...ed3c81d7322bb8058615095f4aab28c147c53933", - "previous_git_commit": "7172cc22125f480a9f12127edb481a4d84aabea3", - "previous_fingerprint": "e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:a288de5@sha256:e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_fingerprint": "b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:7e86fed@sha256:b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/7172cc22125f480a9f12127edb481a4d84aabea3", - "previous_trail_name": "creator-e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", - "previous_template_reference_name": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_trail_name": "languages-start-points-b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": -1236814.0, + "commit_lead_time": 593763.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d85a1f3513dd45c788f6341641110bfd", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/cbb20953281f4b168eb98575717b01e7", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:b12a5c9@sha256:34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "compliant": true, "deployments": [], "policy_decisions": [ @@ -3254,8 +2695,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null } }, @@ -3263,7 +2704,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } }, @@ -3271,7 +2712,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -3279,7 +2720,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } } @@ -3299,8 +2740,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": "COMPLIANT" } }, @@ -3308,7 +2749,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } }, @@ -3316,7 +2757,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -3324,7 +2765,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } } @@ -3349,8 +2790,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null } }, @@ -3358,7 +2799,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } }, @@ -3366,7 +2807,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -3374,7 +2815,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } } @@ -3401,8 +2842,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null } }, @@ -3410,7 +2851,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } }, @@ -3418,7 +2859,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -3426,7 +2867,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } } @@ -3446,8 +2887,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": "COMPLIANT" } }, @@ -3455,7 +2896,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } }, @@ -3463,7 +2904,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -3471,7 +2912,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } } @@ -3496,8 +2937,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3506,7 +2947,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3515,7 +2956,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3524,7 +2965,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3552,8 +2993,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null } }, @@ -3561,7 +3002,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } }, @@ -3569,7 +3010,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -3577,7 +3018,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } } @@ -3597,8 +3038,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": "COMPLIANT" } }, @@ -3606,7 +3047,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } }, @@ -3614,7 +3055,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -3622,7 +3063,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } } @@ -3647,8 +3088,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3657,7 +3098,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3666,7 +3107,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3675,7 +3116,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3703,8 +3144,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null } }, @@ -3712,7 +3153,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } }, @@ -3720,7 +3161,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -3728,7 +3169,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } } @@ -3748,8 +3189,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": "COMPLIANT" } }, @@ -3757,7 +3198,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } }, @@ -3765,7 +3206,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -3773,7 +3214,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } } @@ -3798,8 +3239,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null } }, @@ -3807,7 +3248,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } }, @@ -3815,7 +3256,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -3823,7 +3264,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } } @@ -3850,8 +3291,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": null } }, @@ -3859,7 +3300,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } }, @@ -3867,7 +3308,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -3875,7 +3316,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": null } } @@ -3901,8 +3342,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", "artifact_status": "COMPLIANT" } }, @@ -3910,7 +3351,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } }, @@ -3918,7 +3359,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -3926,7 +3367,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "artifact_status": "COMPLIANT" } } @@ -3937,100 +3378,100 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "fingerprint": "34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "creationTimestamp": [ - 1786425092 + 1788255398 ], "pods": null, "annotation": { - "type": "unchanged", + "type": "updated-provenance", "was": 1, "now": 1 }, - "flow_name": "differ-ci", - "git_commit": "108cccf9bccf9af5d455db66c250480b53cbecc7", - "commit_url": "https://github.com/cyber-dojo/differ/commit/108cccf9bccf9af5d455db66c250480b53cbecc7", - "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=50b8cff6-1888-4c76-b31a-fdd7a311", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", + "flow_name": "custom-start-points-ci", + "git_commit": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", + "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/b12a5c9b17023462d13e81381a69c7ef05f84dc2", + "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09?artifact_id=2aa23627-9e91-488e-b3ea-e4bf2e22", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/differ/compare/10e162d4e1294815375a31121f14d57e13183b34...108cccf9bccf9af5d455db66c250480b53cbecc7", - "previous_git_commit": "10e162d4e1294815375a31121f14d57e13183b34", - "previous_fingerprint": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/790d86b66f4d86ab47f5c521daf5039dc8aeef4d...b12a5c9b17023462d13e81381a69c7ef05f84dc2", + "previous_git_commit": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "previous_fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34", - "previous_trail_name": "10e162d4e1294815375a31121f14d57e13183b34", - "previous_template_reference_name": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "previous_trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 162716.0, + "commit_lead_time": 416881.0, "flows": [ { - "flow_name": "differ-ci", - "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", - "template_reference_name": "differ", - "git_commit": "108cccf9bccf9af5d455db66c250480b53cbecc7", - "commit_url": "https://github.com/cyber-dojo/differ/commit/108cccf9bccf9af5d455db66c250480b53cbecc7", + "flow_name": "custom-start-points-ci", + "trail_name": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", + "template_reference_name": "custom-start-points", + "git_commit": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", + "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/b12a5c9b17023462d13e81381a69c7ef05f84dc2", "git_commit_info": { - "sha1": "108cccf9bccf9af5d455db66c250480b53cbecc7", - "message": "Merge pull request #449 from cyber-dojo/fix-exit-non-zero", - "author": "AlexKantor87 ", + "sha1": "b12a5c9b17023462d13e81381a69c7ef05f84dc2", + "message": "Merge pull request #143 from cyber-dojo/update-base-image-ce45d62\n\nMerge update-base-image into main", + "author": "Jon Jagger ", "branch": "", - "timestamp": 1786262376.0, - "url": "https://github.com/cyber-dojo/differ/commit/108cccf9bccf9af5d455db66c250480b53cbecc7" + "timestamp": 1787838517.0, + "url": "https://github.com/cyber-dojo/custom-start-points/commit/b12a5c9b17023462d13e81381a69c7ef05f84dc2" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=50b8cff6-1888-4c76-b31a-fdd7a311", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09?artifact_id=2aa23627-9e91-488e-b3ea-e4bf2e22", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/differ/compare/10e162d4e1294815375a31121f14d57e13183b34...108cccf9bccf9af5d455db66c250480b53cbecc7", - "previous_git_commit": "10e162d4e1294815375a31121f14d57e13183b34", - "previous_fingerprint": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/790d86b66f4d86ab47f5c521daf5039dc8aeef4d...b12a5c9b17023462d13e81381a69c7ef05f84dc2", + "previous_git_commit": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "previous_fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34", - "previous_trail_name": "10e162d4e1294815375a31121f14d57e13183b34", - "previous_template_reference_name": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "previous_trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 162716.0, + "commit_lead_time": 416881.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", - "template_reference_name": "differ", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", + "template_reference_name": "custom-start-points", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=33c43d32-ff7c-4f02-8819-c03ff8e0", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09?artifact_id=b5dae6e2-12e1-47bc-a361-ead8aa3f", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "previous_fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "previous_template_reference_name": "differ" + "previous_trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 1108141.0, + "commit_lead_time": 593411.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-33", - "template_reference_name": "differ", + "trail_name": "promote-all-34", + "template_reference_name": "custom-start-points", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { @@ -4041,27 +3482,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316994.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=a1a352b5-d5bb-4420-b064-c0b165d7", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09?artifact_id=63e61c31-696e-4465-9145-2c51f6d4", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/81c216a55b2cb1787645e699ceaceca868cad253...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", + "previous_fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_trail_name": "promote-all-32", - "previous_template_reference_name": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "previous_trail_name": "promote-all-31", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 1108098.0, + "commit_lead_time": 2938404.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", - "template_reference_name": "differ", + "trail_name": "custom-start-points-34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", + "template_reference_name": "custom-start-points", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -4072,32 +3513,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=68f0e4cc-648c-4e46-8b32-03848340", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09?artifact_id=ff77dce2-dd84-40ff-b134-d21758f5", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:981dcfc@sha256:902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "previous_fingerprint": "b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:6b5c159@sha256:b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "differ-902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", - "previous_template_reference_name": "differ" + "previous_trail_name": "custom-start-points-b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": -1236895.0, + "commit_lead_time": 593411.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/35d500a5dc23412bad3e1fe7459c66fb", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/b7894ad2c80e4774adbeab8165291101", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:84e986a@sha256:06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "compliant": true, "deployments": [], "policy_decisions": [ @@ -4120,7 +3561,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null } }, @@ -4128,7 +3569,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } }, @@ -4136,7 +3577,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -4144,7 +3585,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } } @@ -4165,7 +3606,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": "COMPLIANT" } }, @@ -4173,7 +3614,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } }, @@ -4181,7 +3622,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -4189,7 +3630,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } } @@ -4215,7 +3656,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null } }, @@ -4223,7 +3664,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } }, @@ -4231,7 +3672,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -4239,7 +3680,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } } @@ -4267,7 +3708,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null } }, @@ -4275,7 +3716,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } }, @@ -4283,7 +3724,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -4291,7 +3732,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } } @@ -4312,7 +3753,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": "COMPLIANT" } }, @@ -4320,7 +3761,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } }, @@ -4328,7 +3769,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -4336,7 +3777,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } } @@ -4362,7 +3803,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4371,7 +3812,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4380,7 +3821,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4389,7 +3830,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4418,7 +3859,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null } }, @@ -4426,7 +3867,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } }, @@ -4434,7 +3875,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -4442,7 +3883,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } } @@ -4463,7 +3904,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": "COMPLIANT" } }, @@ -4471,7 +3912,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } }, @@ -4479,7 +3920,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -4487,7 +3928,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } } @@ -4513,7 +3954,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4522,7 +3963,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4531,7 +3972,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4540,7 +3981,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4569,7 +4010,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null } }, @@ -4577,7 +4018,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } }, @@ -4585,7 +4026,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -4593,7 +4034,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } } @@ -4614,7 +4055,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": "COMPLIANT" } }, @@ -4622,7 +4063,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } }, @@ -4630,7 +4071,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -4638,7 +4079,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } } @@ -4664,7 +4105,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null } }, @@ -4672,7 +4113,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } }, @@ -4680,7 +4121,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -4688,7 +4129,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } } @@ -4716,7 +4157,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": null } }, @@ -4724,7 +4165,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } }, @@ -4732,7 +4173,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -4740,7 +4181,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": null } } @@ -4767,7 +4208,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "artifact_status": "COMPLIANT" } }, @@ -4775,7 +4216,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } }, @@ -4783,7 +4224,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -4791,7 +4232,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "artifact_status": "COMPLIANT" } } @@ -4802,99 +4243,99 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "fingerprint": "06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "creationTimestamp": [ - 1786425086 + 1788255396 ], "pods": null, "annotation": { - "type": "unchanged", + "type": "updated-provenance", "was": 1, "now": 1 }, "flow_name": "saver-ci", - "git_commit": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", - "commit_url": "https://github.com/cyber-dojo/saver/commit/36f0420f728fe61e44a3ab0043cf9a3d70863cad", - "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=01bf7de8-52fc-4585-a4b6-abf82047", + "git_commit": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", + "commit_url": "https://github.com/cyber-dojo/saver/commit/84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", + "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f?artifact_id=a599cb04-5965-46a6-a774-24dc6341", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/saver/compare/595e902fa2f5844d9ce0612a5c9295cd8dab5b97...36f0420f728fe61e44a3ab0043cf9a3d70863cad", - "previous_git_commit": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "previous_fingerprint": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "diff_url": "https://github.com/cyber-dojo/saver/compare/36f0420f728fe61e44a3ab0043cf9a3d70863cad...84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", + "previous_git_commit": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "previous_fingerprint": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "previous_trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "previous_trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "previous_template_reference_name": "saver" }, - "commit_lead_time": 171420.0, + "commit_lead_time": 3241.0, "flows": [ { "flow_name": "saver-ci", - "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "trail_name": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "template_reference_name": "saver", - "git_commit": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", - "commit_url": "https://github.com/cyber-dojo/saver/commit/36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "git_commit": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", + "commit_url": "https://github.com/cyber-dojo/saver/commit/84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "git_commit_info": { - "sha1": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", - "message": "Make exit_non_zero actually exit (#438)\n\nkill -INT $$ only stops the script while nothing traps INT. Add\n a cleanup trap on INT - a normal thing for a script to do - and\n bash runs the handler and resumes at the next statement, so a\n guard prints its error and the script carries on to exit 0.\n exit 42 cannot be declined, and the EXIT trap still cleans up.", + "sha1": "84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", + "message": "Run workflow to pick up fixes to expat vulns (#443)", "author": "Jon Jagger ", "branch": "", - "timestamp": 1786253666.0, - "url": "https://github.com/cyber-dojo/saver/commit/36f0420f728fe61e44a3ab0043cf9a3d70863cad" + "timestamp": 1788252155.0, + "url": "https://github.com/cyber-dojo/saver/commit/84e986ad70d32e9be362d5bd9ce7c7af94f6eaab" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=01bf7de8-52fc-4585-a4b6-abf82047", + "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f?artifact_id=a599cb04-5965-46a6-a774-24dc6341", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/saver/compare/595e902fa2f5844d9ce0612a5c9295cd8dab5b97...36f0420f728fe61e44a3ab0043cf9a3d70863cad", - "previous_git_commit": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "previous_fingerprint": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "diff_url": "https://github.com/cyber-dojo/saver/compare/36f0420f728fe61e44a3ab0043cf9a3d70863cad...84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", + "previous_git_commit": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "previous_fingerprint": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "previous_trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "previous_trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "previous_template_reference_name": "saver" }, - "commit_lead_time": 171420.0, + "commit_lead_time": 3241.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "template_reference_name": "saver", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=070b4e9b-f146-43ef-89f9-49b75fa4", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f?artifact_id=954a634e-bcc4-4aeb-b74a-3228e48f", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "previous_fingerprint": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "previous_trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "previous_template_reference_name": "saver" }, - "commit_lead_time": 1108135.0, + "commit_lead_time": 593409.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "template_reference_name": "saver", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", @@ -4906,26 +4347,26 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316994.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=b3939e7a-afe0-460c-8da7-f456c2df", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f?artifact_id=ad8076c0-8b7e-47ac-b82a-2f2bb220", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "previous_fingerprint": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_trail_name": "promote-all-32", + "previous_trail_name": "promote-all-33", "previous_template_reference_name": "saver" }, - "commit_lead_time": 1108092.0, + "commit_lead_time": 2938402.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "trail_name": "saver-06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", "template_reference_name": "saver", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", @@ -4937,7 +4378,7 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=d3c22d42-58bd-49e4-8b2e-f8d51080", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f?artifact_id=91be21a4-68bf-4710-9f74-0c7a5ac5", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", @@ -4950,19 +4391,19 @@ kosli get snapshot aws-prod --output=json "previous_trail_name": "saver-f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", "previous_template_reference_name": "saver" }, - "commit_lead_time": -1236901.0, + "commit_lead_time": 593409.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d20584d0428f41a3944ac335cea4da5c", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/490f2bdcf1a2453db2a23395e26d2392", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:f22a30e@sha256:41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "compliant": true, "deployments": [], "policy_decisions": [ @@ -4984,8 +4425,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null } }, @@ -4993,7 +4434,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } }, @@ -5001,7 +4442,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5009,7 +4450,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } } @@ -5029,8 +4470,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": "COMPLIANT" } }, @@ -5038,7 +4479,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } }, @@ -5046,7 +4487,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -5054,7 +4495,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } } @@ -5079,8 +4520,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null } }, @@ -5088,7 +4529,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } }, @@ -5096,7 +4537,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5104,7 +4545,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } } @@ -5131,8 +4572,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null } }, @@ -5140,7 +4581,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } }, @@ -5148,7 +4589,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5156,7 +4597,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } } @@ -5176,8 +4617,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": "COMPLIANT" } }, @@ -5185,7 +4626,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } }, @@ -5193,7 +4634,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -5201,7 +4642,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } } @@ -5226,8 +4667,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5236,7 +4677,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5245,7 +4686,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5254,7 +4695,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5282,8 +4723,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null } }, @@ -5291,7 +4732,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } }, @@ -5299,7 +4740,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5307,7 +4748,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } } @@ -5327,8 +4768,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": "COMPLIANT" } }, @@ -5336,7 +4777,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } }, @@ -5344,7 +4785,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -5352,7 +4793,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } } @@ -5377,8 +4818,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5387,7 +4828,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5396,7 +4837,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5405,7 +4846,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5433,8 +4874,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null } }, @@ -5442,7 +4883,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } }, @@ -5450,7 +4891,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5458,7 +4899,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } } @@ -5478,8 +4919,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": "COMPLIANT" } }, @@ -5487,7 +4928,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } }, @@ -5495,7 +4936,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -5503,7 +4944,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } } @@ -5528,8 +4969,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null } }, @@ -5537,7 +4978,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } }, @@ -5545,7 +4986,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5553,7 +4994,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } } @@ -5580,8 +5021,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": null } }, @@ -5589,7 +5030,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } }, @@ -5597,7 +5038,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5605,7 +5046,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": null } } @@ -5631,8 +5072,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "artifact_status": "COMPLIANT" } }, @@ -5640,7 +5081,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } }, @@ -5648,7 +5089,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -5656,7 +5097,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "artifact_status": "COMPLIANT" } } @@ -5667,100 +5108,100 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "fingerprint": "41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "creationTimestamp": [ - 1786425083 + 1788255396 ], "pods": null, "annotation": { - "type": "unchanged", + "type": "updated-provenance", "was": 1, "now": 1 }, - "flow_name": "dashboard-ci", - "git_commit": "2b300f450f72006f6a9000aaf9cd04485f1e8095", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095", - "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=a805b555-f25a-4828-89d2-a28881c8", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "flow_name": "exercises-start-points-ci", + "git_commit": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", + "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", + "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6?artifact_id=aa4300d4-b690-4d71-9596-6af987e1", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/dashboard/compare/da7bacefac23b0983d2b9f39d87508e0f85b1167...2b300f450f72006f6a9000aaf9cd04485f1e8095", - "previous_git_commit": "da7bacefac23b0983d2b9f39d87508e0f85b1167", - "previous_fingerprint": "8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:da7bace@sha256:8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/258b6d07d2b28ad5cb2ce6d29934997f72380f1a...f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", + "previous_git_commit": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "previous_fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/da7bacefac23b0983d2b9f39d87508e0f85b1167", - "previous_trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "previous_trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 660655.0, + "commit_lead_time": 416885.0, "flows": [ { - "flow_name": "dashboard-ci", - "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", - "template_reference_name": "dashboard", - "git_commit": "2b300f450f72006f6a9000aaf9cd04485f1e8095", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095", + "flow_name": "exercises-start-points-ci", + "trail_name": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", + "template_reference_name": "exercises-start-points", + "git_commit": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", + "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "git_commit_info": { - "sha1": "2b300f450f72006f6a9000aaf9cd04485f1e8095", - "message": "Run the linter as the invoking user (#432)\n\nThe rubocop container wrote reports/rubocop/junit.xml as its own user, so on a\n linux runner the file belongs to someone else. That breaks the attestation as\n soon as it has more than one path to send: kosli attest copies evidence with\n PreserveOwner, and a non-root process cannot chown a file to another uid.\n\n chown /tmp/1800768837/reports/rubocop/junit.xml: operation not permitted\n\n Attaching .rubocop.yml in #431 is what supplied the second path. With one path\n the CLI tars in place and never copies, which is why this had been fine.\n\n Passing --user makes the container write as whoever ran it. Worth doing on its\n own account - a container should not leave files you cannot delete in your\n working tree - and it sidesteps the CLI's behaviour without waiting on it. That\n behaviour looks like a bug and is written up in\n ../kosli-cli-preserve-owner-bug.md for an issue against kosli-dev/cli.\n\n Docker Desktop maps ownership back to the calling user, so this is invisible on a\n mac and only shows on the runner.", + "sha1": "f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", + "message": "Merge pull request #149 from cyber-dojo/update-base-image-ce45d62\n\nMerge update-base-image into main", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785764428.0, - "url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095" + "timestamp": 1787838511.0, + "url": "https://github.com/cyber-dojo/exercises-start-points/commit/f22a30ed7659b05a88c22e9f22dc2388f2deb8c8" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=a805b555-f25a-4828-89d2-a28881c8", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6?artifact_id=aa4300d4-b690-4d71-9596-6af987e1", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/dashboard/compare/da7bacefac23b0983d2b9f39d87508e0f85b1167...2b300f450f72006f6a9000aaf9cd04485f1e8095", - "previous_git_commit": "da7bacefac23b0983d2b9f39d87508e0f85b1167", - "previous_fingerprint": "8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:da7bace@sha256:8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/258b6d07d2b28ad5cb2ce6d29934997f72380f1a...f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", + "previous_git_commit": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "previous_fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/da7bacefac23b0983d2b9f39d87508e0f85b1167", - "previous_trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "previous_trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 660655.0, + "commit_lead_time": 416885.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "template_reference_name": "dashboard", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", + "template_reference_name": "exercises-start-points", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=12bfdb5d-1c9b-4420-b2e1-83318c0f", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6?artifact_id=f0d94332-8b7c-4437-adf8-dc070a8e", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:da7bace@sha256:8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "previous_fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "previous_template_reference_name": "dashboard" + "previous_trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 1108132.0, + "commit_lead_time": 593409.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-33", - "template_reference_name": "dashboard", + "trail_name": "promote-all-34", + "template_reference_name": "exercises-start-points", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { @@ -5771,27 +5212,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316994.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=2eff9d42-2240-4f5b-8217-ccc995c3", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6?artifact_id=edc896a3-98a0-4cb0-8147-49fd6952", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:da7bace@sha256:8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/81c216a55b2cb1787645e699ceaceca868cad253...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", + "previous_fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_trail_name": "promotion-one-153", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "previous_trail_name": "promote-all-31", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 1108089.0, + "commit_lead_time": 2938402.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "template_reference_name": "dashboard", + "trail_name": "exercises-start-points-41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", + "template_reference_name": "exercises-start-points", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -5802,32 +5243,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=48855ac3-9ebe-4c09-92d7-8852020b", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6?artifact_id=601099dd-9069-4756-8c33-35cf65e1", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:87f560f@sha256:45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", + "previous_fingerprint": "f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:b8e5cbf@sha256:f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "dashboard-45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", - "previous_template_reference_name": "dashboard" + "previous_trail_name": "exercises-start-points-f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": -1236904.0, + "commit_lead_time": 593409.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/fb58f1ca5ba94c30b59fe097af55fd5f", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ca7755573c354bb191fc03f5496f0e7a", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:90c8d98@sha256:6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "compliant": true, "deployments": [], "policy_decisions": [ @@ -5849,8 +5290,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null } }, @@ -5858,7 +5299,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } }, @@ -5866,7 +5307,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5874,7 +5315,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } } @@ -5894,8 +5335,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": "COMPLIANT" } }, @@ -5903,7 +5344,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } }, @@ -5911,7 +5352,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -5919,7 +5360,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } } @@ -5938,14 +5379,14 @@ kosli get snapshot aws-prod --output=json "for_control": null } }, - "satisfied": true, - "ignored": false, + "satisfied": null, + "ignored": true, "resolutions": [ { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null } }, @@ -5953,7 +5394,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } }, @@ -5961,7 +5402,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -5969,7 +5410,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } } @@ -5996,8 +5437,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null } }, @@ -6005,7 +5446,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } }, @@ -6013,7 +5454,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -6021,7 +5462,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } } @@ -6041,8 +5482,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": "COMPLIANT" } }, @@ -6050,7 +5491,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } }, @@ -6058,7 +5499,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -6066,7 +5507,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } } @@ -6085,14 +5526,14 @@ kosli get snapshot aws-prod --output=json "for_control": "SDLC-CTRL-0002" } }, - "satisfied": true, - "ignored": false, + "satisfied": null, + "ignored": true, "resolutions": [ { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6101,7 +5542,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6110,7 +5551,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6119,7 +5560,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6147,8 +5588,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null } }, @@ -6156,7 +5597,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } }, @@ -6164,7 +5605,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -6172,7 +5613,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } } @@ -6192,8 +5633,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": "COMPLIANT" } }, @@ -6201,7 +5642,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } }, @@ -6209,7 +5650,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -6217,7 +5658,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } } @@ -6242,8 +5683,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6252,7 +5693,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6261,7 +5702,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6270,7 +5711,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6298,8 +5739,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null } }, @@ -6307,7 +5748,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } }, @@ -6315,7 +5756,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -6323,7 +5764,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } } @@ -6343,8 +5784,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": "COMPLIANT" } }, @@ -6352,7 +5793,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } }, @@ -6360,7 +5801,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -6368,7 +5809,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } } @@ -6393,8 +5834,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null } }, @@ -6402,7 +5843,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } }, @@ -6410,7 +5851,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -6418,7 +5859,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } } @@ -6445,8 +5886,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": null } }, @@ -6454,7 +5895,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } }, @@ -6462,7 +5903,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -6470,7 +5911,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": null } } @@ -6496,8 +5937,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "artifact_status": "COMPLIANT" } }, @@ -6505,7 +5946,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } }, @@ -6513,7 +5954,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -6521,7 +5962,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "artifact_status": "COMPLIANT" } } @@ -6532,100 +5973,100 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "fingerprint": "6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", "creationTimestamp": [ - 1786425079 + 1788255396 ], "pods": null, "annotation": { - "type": "unchanged", + "type": "updated-provenance", "was": 1, "now": 1 }, - "flow_name": "languages-start-points-ci", - "git_commit": "068b3424c7da843a4f2d428d2e4915f33efc4a02", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/068b3424c7da843a4f2d428d2e4915f33efc4a02", - "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=4154b9c8-14cc-426f-abc5-05220611", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", + "flow_name": "spooler-ci", + "git_commit": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", + "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd?artifact_id=6df79438-91a2-4c2b-a945-52fb5218", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/6a7f7be81022f7ed3fa8383f016b55af86e2af23...068b3424c7da843a4f2d428d2e4915f33efc4a02", - "previous_git_commit": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "diff_url": "https://github.com/cyber-dojo/spooler/compare/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb...90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", + "previous_git_commit": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "previous_fingerprint": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "previous_trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 31476.0, + "commit_lead_time": 352135.0, "flows": [ { - "flow_name": "languages-start-points-ci", - "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", - "template_reference_name": "languages-start-points", - "git_commit": "068b3424c7da843a4f2d428d2e4915f33efc4a02", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/068b3424c7da843a4f2d428d2e4915f33efc4a02", + "flow_name": "spooler-ci", + "trail_name": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", + "template_reference_name": "spooler", + "git_commit": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "git_commit_info": { - "sha1": "068b3424c7da843a4f2d428d2e4915f33efc4a02", - "message": "Merge pull request #245 from cyber-dojo/update-zig\n\nUpdate zig-test to 0.16.0", + "sha1": "90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", + "message": "Merge pull request #18 from cyber-dojo/give-each-saver-forward-its-own-connection\n\nGive each saver forward its own http connection", "author": "Jon Jagger ", "branch": "", - "timestamp": 1786393603.0, - "url": "https://github.com/cyber-dojo/languages-start-points/commit/068b3424c7da843a4f2d428d2e4915f33efc4a02" + "timestamp": 1787903261.0, + "url": "https://github.com/cyber-dojo/spooler/commit/90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=4154b9c8-14cc-426f-abc5-05220611", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd?artifact_id=6df79438-91a2-4c2b-a945-52fb5218", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/6a7f7be81022f7ed3fa8383f016b55af86e2af23...068b3424c7da843a4f2d428d2e4915f33efc4a02", - "previous_git_commit": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "diff_url": "https://github.com/cyber-dojo/spooler/compare/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb...90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", + "previous_git_commit": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "previous_fingerprint": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "previous_trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 31476.0, + "commit_lead_time": 352135.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", - "template_reference_name": "languages-start-points", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", + "template_reference_name": "spooler", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=d9e69b41-322d-4dea-8b56-dbd50334", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd?artifact_id=83b85760-e1f3-476b-9925-19541dee", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/10203d5d23f93844726f204390cf3d5ca8d5c913...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "previous_fingerprint": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", + "previous_trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 1108128.0, + "commit_lead_time": 593409.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-33", - "template_reference_name": "languages-start-points", + "trail_name": "promote-all-34", + "template_reference_name": "spooler", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { @@ -6636,27 +6077,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316994.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=ee065d98-ce20-46c7-bc2f-a4502952", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd?artifact_id=fdd39323-ac61-4894-ae67-fc003bac", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/81c216a55b2cb1787645e699ceaceca868cad253...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "previous_fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_fingerprint": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", - "previous_trail_name": "promote-all-31", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_trail_name": "promote-all-33", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 1108085.0, + "commit_lead_time": 2938402.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", - "template_reference_name": "languages-start-points", + "trail_name": "spooler-6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", + "template_reference_name": "spooler", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -6667,32 +6108,22 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=a3e6ce3c-3e0f-4bac-8a4e-3860189f", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd?artifact_id=24059058-ed02-4061-a4d1-b9a66269", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:7e86fed@sha256:b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "languages-start-points-b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", - "previous_template_reference_name": "languages-start-points" - }, - "commit_lead_time": -1236908.0, + "deployment_diff": null, + "commit_lead_time": 593409.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ed7c6bde626840e6a054cc94cd2c3363", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/61175d755bb64c5bba7130b854325414", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:ff9f292@sha256:2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "compliant": true, "deployments": [], "policy_decisions": [ @@ -6714,8 +6145,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null } }, @@ -6723,7 +6154,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } }, @@ -6731,7 +6162,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -6739,7 +6170,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } } @@ -6759,8 +6190,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": "COMPLIANT" } }, @@ -6768,7 +6199,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } }, @@ -6776,7 +6207,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -6784,7 +6215,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } } @@ -6809,8 +6240,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null } }, @@ -6818,7 +6249,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } }, @@ -6826,7 +6257,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -6834,7 +6265,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } } @@ -6861,8 +6292,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null } }, @@ -6870,7 +6301,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } }, @@ -6878,7 +6309,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -6886,7 +6317,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } } @@ -6906,8 +6337,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": "COMPLIANT" } }, @@ -6915,7 +6346,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } }, @@ -6923,7 +6354,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -6931,7 +6362,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } } @@ -6956,8 +6387,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6966,7 +6397,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6975,7 +6406,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6984,7 +6415,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7012,8 +6443,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null } }, @@ -7021,7 +6452,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } }, @@ -7029,7 +6460,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -7037,7 +6468,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } } @@ -7057,8 +6488,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": "COMPLIANT" } }, @@ -7066,7 +6497,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } }, @@ -7074,7 +6505,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -7082,7 +6513,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } } @@ -7107,8 +6538,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7117,7 +6548,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7126,7 +6557,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7135,7 +6566,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7163,8 +6594,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null } }, @@ -7172,7 +6603,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } }, @@ -7180,7 +6611,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -7188,7 +6619,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } } @@ -7208,8 +6639,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": "COMPLIANT" } }, @@ -7217,7 +6648,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } }, @@ -7225,7 +6656,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -7233,7 +6664,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } } @@ -7258,8 +6689,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null } }, @@ -7267,7 +6698,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } }, @@ -7275,7 +6706,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -7283,7 +6714,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } } @@ -7310,8 +6741,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": null } }, @@ -7319,7 +6750,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } }, @@ -7327,7 +6758,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -7335,7 +6766,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": null } } @@ -7361,8 +6792,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", "artifact_status": "COMPLIANT" } }, @@ -7370,7 +6801,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } }, @@ -7378,7 +6809,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -7386,7 +6817,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "artifact_status": "COMPLIANT" } } @@ -7397,100 +6828,100 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "fingerprint": "2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", "creationTimestamp": [ - 1786425079 + 1788255387 ], "pods": null, "annotation": { - "type": "unchanged", + "type": "updated-provenance", "was": 1, "now": 1 }, - "flow_name": "nginx-ci", - "git_commit": "fb791742054fa28dd89269aac8002ebfd7b3386e", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/fb791742054fa28dd89269aac8002ebfd7b3386e", - "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=b9778ac6-6d83-4954-98ba-a3e60a22", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", + "flow_name": "dashboard-ci", + "git_commit": "ff9f292e809801d35246183988b7812826bc2760", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/ff9f292e809801d35246183988b7812826bc2760", + "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f?artifact_id=aa6c0c1d-2d5d-4c98-9f9d-1160dd2f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/nginx/compare/5ce2769937a4014a853787d7b3d89ec30b6ac967...fb791742054fa28dd89269aac8002ebfd7b3386e", - "previous_git_commit": "5ce2769937a4014a853787d7b3d89ec30b6ac967", - "previous_fingerprint": "7ef0c05ccfbd506e8c72c17f5ff2e6c0c9732c4dd281b7b071e89da900fa0332", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:5ce2769@sha256:7ef0c05ccfbd506e8c72c17f5ff2e6c0c9732c4dd281b7b071e89da900fa0332", + "diff_url": "https://github.com/cyber-dojo/dashboard/compare/2b300f450f72006f6a9000aaf9cd04485f1e8095...ff9f292e809801d35246183988b7812826bc2760", + "previous_git_commit": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "previous_fingerprint": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/5ce2769937a4014a853787d7b3d89ec30b6ac967", - "previous_trail_name": "5ce2769937a4014a853787d7b3d89ec30b6ac967", - "previous_template_reference_name": "nginx" + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095", + "previous_trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 412187.0, + "commit_lead_time": 413493.0, "flows": [ { - "flow_name": "nginx-ci", - "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", - "template_reference_name": "nginx", - "git_commit": "fb791742054fa28dd89269aac8002ebfd7b3386e", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/fb791742054fa28dd89269aac8002ebfd7b3386e", + "flow_name": "dashboard-ci", + "trail_name": "ff9f292e809801d35246183988b7812826bc2760", + "template_reference_name": "dashboard", + "git_commit": "ff9f292e809801d35246183988b7812826bc2760", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/ff9f292e809801d35246183988b7812826bc2760", "git_commit_info": { - "sha1": "fb791742054fa28dd89269aac8002ebfd7b3386e", - "message": "Merge pull request #166 from cyber-dojo/drop-old-fork-spellings\n\nStop rate limiting the old fork paths", + "sha1": "ff9f292e809801d35246183988b7812826bc2760", + "message": "Use the simplecov 1.x spellings (#436)\n\n* Use the simplecov 1.x spellings\n\n The base image now carries simplecov 1.1.1 where it carried 0.21.2.\n Four spellings are deprecated there, each announcing itself on stderr on\n every run:\n\n add_group -> group\n add_filter -> skip\n # :nocov: -> # simplecov:disable / # simplecov:enable\n\n and the formatter reopened SimpleCov::Formatter::JSONFormatter to\n redefine format, which in 1.1.1 makes ruby -w report the redefinition.\n It is now CoverageMetricsFormatter, named for the coverage_metrics.json\n it writes. It never needed to be that class: what it produces is\n per-group totals, not the per-file shape the shipped formatter writes,\n so it was only borrowing the name to make itself win.\n\n The three :nocov: pairs are all in source, guarding the post methods\n that only the fixture scripts in test/scripts reach. The comment in\n create_v2_dashboard.rb naming those markers is renamed with them, so it\n still points at something that exists.\n\n source/client/Dockerfile was pinned to cyberdojo/sinatra-base:759c4e9 on\n Docker Hub, while everything else moved to ghcr.io. The automated\n base-image PR only rewrites the Dockerfile at the repo root, so that pin\n had gone unbumped long enough to be several ruby versions behind. It now\n names the same image as the root.\n\n That bump is unverified. The client tests cannot run: the client asks\n for hostname 'server' (source/client/code/external_dashboard.rb) and\n docker-compose.yml calls that service 'dashboard', so its healthcheck\n never resolves. Nothing noticed because no workflow runs them and the\n Makefile has no client target. Left as found, since dashboard is due to\n be merged into web.\n\n The group block parameter goes from the to path while passing.\n\n Coverage is unchanged: test.lines.total 644, code.lines.total 460,\n nothing missed in either.\n\n* Keep the simplecov markers inside the line length, and let rubocop cache\n\n simplecov:disable is seven characters longer than the :nocov: it\n replaced, which took three comment lines past 80 and failed the lint the\n previous commit had no reason to run. The prose those markers carried\n moves to its own line above them, so the marker line is only a marker\n and its length no longer depends on what is being explained.\n\n Separately, rubocop_lint.sh runs the container as the invoking uid,\n which has no entry in the container's /etc/passwd. HOME falls back to /,\n rubocop cannot create /.cache, and it says so once per file inspected -\n 35 lines of it here, and enough to bury the offences it is reporting.\n Naming a writable HOME lets it cache and say nothing.\n\n Neither changes what is inspected: 35 files, no offences, and the tests\n still report 50 runs with coverage on its limits at 644 and 460.", "author": "Jon Jagger ", "branch": "", - "timestamp": 1786012892.0, - "url": "https://github.com/cyber-dojo/nginx/commit/fb791742054fa28dd89269aac8002ebfd7b3386e" + "timestamp": 1787841894.0, + "url": "https://github.com/cyber-dojo/dashboard/commit/ff9f292e809801d35246183988b7812826bc2760" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=b9778ac6-6d83-4954-98ba-a3e60a22", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f?artifact_id=aa6c0c1d-2d5d-4c98-9f9d-1160dd2f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/nginx/compare/5ce2769937a4014a853787d7b3d89ec30b6ac967...fb791742054fa28dd89269aac8002ebfd7b3386e", - "previous_git_commit": "5ce2769937a4014a853787d7b3d89ec30b6ac967", - "previous_fingerprint": "7ef0c05ccfbd506e8c72c17f5ff2e6c0c9732c4dd281b7b071e89da900fa0332", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:5ce2769@sha256:7ef0c05ccfbd506e8c72c17f5ff2e6c0c9732c4dd281b7b071e89da900fa0332", + "diff_url": "https://github.com/cyber-dojo/dashboard/compare/2b300f450f72006f6a9000aaf9cd04485f1e8095...ff9f292e809801d35246183988b7812826bc2760", + "previous_git_commit": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "previous_fingerprint": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/5ce2769937a4014a853787d7b3d89ec30b6ac967", - "previous_trail_name": "5ce2769937a4014a853787d7b3d89ec30b6ac967", - "previous_template_reference_name": "nginx" + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095", + "previous_trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 412187.0, + "commit_lead_time": 413493.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", - "template_reference_name": "nginx", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", + "template_reference_name": "dashboard", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=9474b76c-5cd0-42da-b469-c6a26c8c", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f?artifact_id=07236a18-f9e6-440c-8163-89b30638", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:bc3fd56@sha256:55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", + "previous_fingerprint": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_trail_name": "nginx-55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", - "previous_template_reference_name": "nginx" + "previous_trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 1108128.0, + "commit_lead_time": 593400.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-33", - "template_reference_name": "nginx", + "trail_name": "promote-all-34", + "template_reference_name": "dashboard", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { @@ -7501,27 +6932,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316994.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=49f9d376-d38a-4540-bbb1-4a739116", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f?artifact_id=7d30bba6-9d58-403b-b6d8-efe3ebad", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "7ef0c05ccfbd506e8c72c17f5ff2e6c0c9732c4dd281b7b071e89da900fa0332", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:5ce2769@sha256:7ef0c05ccfbd506e8c72c17f5ff2e6c0c9732c4dd281b7b071e89da900fa0332", + "previous_fingerprint": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_trail_name": "promotion-one-156", - "previous_template_reference_name": "nginx" + "previous_trail_name": "promote-all-33", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 1108085.0, + "commit_lead_time": 2938393.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", - "template_reference_name": "nginx", + "trail_name": "dashboard-2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", + "template_reference_name": "dashboard", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -7532,32 +6963,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=449981b5-9da4-4c87-8677-e4e9c41c", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f?artifact_id=95ee902d-ed5f-49ac-a772-a1ea0d78", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:7065268@sha256:b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", + "previous_fingerprint": "45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:87f560f@sha256:45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "nginx-b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", - "previous_template_reference_name": "nginx" + "previous_trail_name": "dashboard-45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": -1236908.0, + "commit_lead_time": 593400.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/50474795074a4b039a5d59ff411b87e9", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f61e1822d26f4aa0a417417c3436c569", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:cbe481c@sha256:36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "compliant": true, "deployments": [], "policy_decisions": [ @@ -7579,8 +7010,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null } }, @@ -7588,7 +7019,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null } }, @@ -7596,7 +7027,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } }, @@ -7604,7 +7035,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } } @@ -7624,8 +7055,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": "COMPLIANT" } }, @@ -7633,7 +7064,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": "COMPLIANT" } }, @@ -7641,7 +7072,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } }, @@ -7649,7 +7080,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } } @@ -7674,8 +7105,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null } }, @@ -7683,7 +7114,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null } }, @@ -7691,7 +7122,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } }, @@ -7699,7 +7130,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } } @@ -7726,8 +7157,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null } }, @@ -7735,7 +7166,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null } }, @@ -7743,7 +7174,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } }, @@ -7751,7 +7182,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } } @@ -7771,8 +7202,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": "COMPLIANT" } }, @@ -7780,7 +7211,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": "COMPLIANT" } }, @@ -7788,7 +7219,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } }, @@ -7796,7 +7227,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } } @@ -7821,8 +7252,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7831,7 +7262,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7840,7 +7271,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7849,7 +7280,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7877,8 +7308,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null } }, @@ -7886,7 +7317,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null } }, @@ -7894,7 +7325,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } }, @@ -7902,7 +7333,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } } @@ -7922,8 +7353,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": "COMPLIANT" } }, @@ -7931,7 +7362,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": "COMPLIANT" } }, @@ -7939,7 +7370,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } }, @@ -7947,7 +7378,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } } @@ -7972,8 +7403,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7982,7 +7413,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7991,7 +7422,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8000,7 +7431,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8028,8 +7459,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null } }, @@ -8037,7 +7468,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null } }, @@ -8045,7 +7476,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } }, @@ -8053,7 +7484,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } } @@ -8073,8 +7504,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": "COMPLIANT" } }, @@ -8082,7 +7513,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": "COMPLIANT" } }, @@ -8090,7 +7521,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } }, @@ -8098,7 +7529,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } } @@ -8123,8 +7554,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null } }, @@ -8132,7 +7563,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null } }, @@ -8140,7 +7571,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } }, @@ -8148,7 +7579,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } } @@ -8175,8 +7606,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": null } }, @@ -8184,7 +7615,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": null } }, @@ -8192,7 +7623,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } }, @@ -8200,7 +7631,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": null } } @@ -8226,8 +7657,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", "artifact_status": "COMPLIANT" } }, @@ -8235,7 +7666,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-161", "artifact_status": "COMPLIANT" } }, @@ -8243,7 +7674,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } }, @@ -8251,7 +7682,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "artifact_status": "COMPLIANT" } } @@ -8262,131 +7693,133 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "fingerprint": "36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", "creationTimestamp": [ - 1785241255 + 1788074885, + 1788074889, + 1788074889 ], "pods": null, "annotation": { - "type": "unchanged", - "was": 1, - "now": 1 + "type": "updated-provenance", + "was": 3, + "now": 3 }, - "flow_name": "exercises-start-points-ci", - "git_commit": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", + "flow_name": "web-ci", + "git_commit": "cbe481c4b842f897e4e9e411cd78461a3a12a334", + "commit_url": "https://github.com/cyber-dojo/web/commit/cbe481c4b842f897e4e9e411cd78461a3a12a334", + "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=41957e62-eaad-48d2-af40-46879efb", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "previous_git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", - "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "diff_url": "https://github.com/cyber-dojo/web/compare/5e4b9873df93525c041c386c06e0ab8fc36b6f33...cbe481c4b842f897e4e9e411cd78461a3a12a334", + "previous_git_commit": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "previous_fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", - "previous_trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "previous_trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "previous_template_reference_name": "web" }, - "commit_lead_time": 929108.0, + "commit_lead_time": 169904.0, "flows": [ { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "template_reference_name": "exercises-start-points", - "git_commit": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "web-ci", + "trail_name": "cbe481c4b842f897e4e9e411cd78461a3a12a334", + "template_reference_name": "web", + "git_commit": "cbe481c4b842f897e4e9e411cd78461a3a12a334", + "commit_url": "https://github.com/cyber-dojo/web/commit/cbe481c4b842f897e4e9e411cd78461a3a12a334", "git_commit_info": { - "sha1": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "message": "Merge pull request #146 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "sha1": "cbe481c4b842f897e4e9e411cd78461a3a12a334", + "message": "Match the siblings on test-output buffering and frozen-string comments (#424)\n\nThe tee in the server test run makes ruby block-buffer stdout, so the\n progress dots only appeared once the whole run had finished. saver sets\n $stdout.sync in its own -e script for exactly this reason; web now does\n too.\n\n Every repo already freezes literals globally via RUBYOPT in up.sh, so a\n per-file magic comment buys nothing. runner, creator and differ exclude\n source/ from the cop, while web grandfathered each file in the todo\n instead, which is why the cop fired on the one newly added file.\n Excluding source/ matches them and leaves the todo holding only the bin/\n script that RUBYOPT does not reach.", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312147.0, - "url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a" + "timestamp": 1787904981.0, + "url": "https://github.com/cyber-dojo/web/commit/cbe481c4b842f897e4e9e411cd78461a3a12a334" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=41957e62-eaad-48d2-af40-46879efb", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "previous_git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", - "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "diff_url": "https://github.com/cyber-dojo/web/compare/5e4b9873df93525c041c386c06e0ab8fc36b6f33...cbe481c4b842f897e4e9e411cd78461a3a12a334", + "previous_git_commit": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "previous_fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", - "previous_trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "previous_trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "previous_template_reference_name": "web" }, - "commit_lead_time": 929108.0, + "commit_lead_time": 169904.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-31", - "template_reference_name": "exercises-start-points", - "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "trail_name": "promotion-one-161", + "template_reference_name": "web", + "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { - "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", - "message": "Add spooler service name to promote_one.yml", + "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "message": "Drop lone use of = separator on Kosli CLI boolean flag", "author": "JonJagger ", "branch": "main", - "timestamp": 1785143054.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" + "timestamp": 1785316994.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=b17578fc-3dc0-42c5-98a7-216ebe8a", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=3e754e79-8e4c-486a-ad94-0b183d32", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...81c216a55b2cb1787645e699ceaceca868cad253", - "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", - "previous_trail_name": "promote-all-30", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_trail_name": "promote-all-33", + "previous_template_reference_name": "web" }, - "commit_lead_time": 98201.0, + "commit_lead_time": 2757891.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "template_reference_name": "exercises-start-points", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", + "template_reference_name": "web", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=c5be014c-5c90-4940-9d24-3f1d472a", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=14a0333a-7e59-454f-bcfa-f4c2e34b", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "previous_template_reference_name": "web" }, - "commit_lead_time": -75696.0, + "commit_lead_time": 412898.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "template_reference_name": "exercises-start-points", + "trail_name": "web-36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", + "template_reference_name": "web", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -8397,32 +7830,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=0669e00f-e8d3-480b-8e67-1fcddd72", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=d7711381-757a-437c-9c77-55bcfd5f", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:b8e5cbf@sha256:f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "previous_fingerprint": "29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:f66cc5c@sha256:29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "exercises-start-points-f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", - "previous_template_reference_name": "exercises-start-points" + "previous_trail_name": "web-29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "previous_template_reference_name": "web" }, - "commit_lead_time": -2420732.0, + "commit_lead_time": 412898.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f248719ae7814027825075c5ea81acff", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d68ae20a684745c6ba576ab68a51dd25", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:ca65b67@sha256:a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "compliant": true, "deployments": [], "policy_decisions": [ @@ -8444,24 +7877,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -8469,7 +7902,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } } @@ -8489,24 +7922,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -8514,7 +7947,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } } @@ -8539,24 +7972,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -8564,7 +7997,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } } @@ -8591,24 +8024,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -8616,7 +8049,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } } @@ -8636,24 +8069,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -8661,7 +8094,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } } @@ -8686,8 +8119,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8695,8 +8128,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8704,8 +8137,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8714,7 +8147,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8742,24 +8175,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -8767,7 +8200,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } } @@ -8787,24 +8220,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -8812,7 +8245,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } } @@ -8837,8 +8270,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8846,8 +8279,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8855,8 +8288,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8865,7 +8298,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8893,24 +8326,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -8918,7 +8351,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } } @@ -8938,24 +8371,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -8963,7 +8396,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } } @@ -8988,24 +8421,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9013,7 +8446,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } } @@ -9040,24 +8473,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9065,7 +8498,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": null } } @@ -9091,24 +8524,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -9116,7 +8549,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "artifact_status": "COMPLIANT" } } @@ -9127,131 +8560,133 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "fingerprint": "a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", "creationTimestamp": [ - 1785241244 + 1788255749, + 1788255749, + 1788255844 ], "pods": null, "annotation": { "type": "unchanged", - "was": 1, - "now": 1 + "was": 3, + "now": 3 }, - "flow_name": "custom-start-points-ci", - "git_commit": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", + "flow_name": "runner-ci", + "git_commit": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", + "commit_url": "https://github.com/cyber-dojo/runner/commit/ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", + "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638?artifact_id=3b03ceaf-96a6-4afa-8aa2-179e5fe9", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "previous_git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "diff_url": "https://github.com/cyber-dojo/runner/compare/976b63e8001ec7441ebc7737ca69f620d47e7ffe...ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", + "previous_git_commit": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "previous_fingerprint": "01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:976b63e@sha256:01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "previous_trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 929228.0, + "commit_lead_time": 92169.0, "flows": [ { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "template_reference_name": "custom-start-points", - "git_commit": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "runner-ci", + "trail_name": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", + "template_reference_name": "runner", + "git_commit": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", + "commit_url": "https://github.com/cyber-dojo/runner/commit/ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "git_commit_info": { - "sha1": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "message": "Merge pull request #140 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "sha1": "ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", + "message": "Keep the containers stderr empty (#306)\n\n* Run rm and truncate only when the walk finds files\n\n xargs runs its command once even when its input is empty, on GNU\n findutils and busybox alike. Most katas have no binary files and none\n over the size limit, so remove_binary_files and truncate_large_files\n each ran their command with no file operand and it answered with a\n usage error.\n\n That noise went to the container's own stderr, which is the daemon's\n second attach stream. The kata's stderr is a separate thing, arriving\n as tmp/stderr inside the payload, so nothing in the suite looked at\n the stream that carried it.\n\n --no-run-if-empty is the long form of the flag, and both userlands\n accept it, unlike xargs --null.\n\n* Give tar member names it has nothing to strip\n\n The payload's member names are relative: tmp/stdout, and sandbox/...\n for the kata's own files. runner.rb and Sandbox.out read them by those\n names. tar asked to archive an absolute path makes them relative\n itself, by stripping the leading /, and writes a warning about it to\n the container's stderr. Both tar calls in send_tgz() did that, two\n lines each, four on every test-run.\n\n --directory / hands tar names that are already relative to it, so it\n has nothing to strip and nothing to say. The member names are\n unchanged: GNU tar 1.35 in a language image writes the same list\n either way, tmp/stdout through sandbox/sub/b.txt.\n\n c9Gf21 now pins the whole of it, that the container's stderr is empty.\n That stream is the daemon's second attach stream, and separate from\n the kata's own stderr, which arrives as tmp/stderr inside the payload.", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312016.0, - "url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d" + "timestamp": 1788163580.0, + "url": "https://github.com/cyber-dojo/runner/commit/ca65b67c3e311fbdd2435609fdb6f8a5479f66f9" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638?artifact_id=3b03ceaf-96a6-4afa-8aa2-179e5fe9", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "previous_git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "diff_url": "https://github.com/cyber-dojo/runner/compare/976b63e8001ec7441ebc7737ca69f620d47e7ffe...ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", + "previous_git_commit": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "previous_fingerprint": "01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:976b63e@sha256:01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "previous_trail_name": "976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 929228.0, + "commit_lead_time": 92169.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", - "template_reference_name": "custom-start-points", - "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", + "template_reference_name": "runner", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", - "message": "Add spooler service name to promote_one.yml", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785143054.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=48b388e8-ce61-4668-a0dd-eb163cd4", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638?artifact_id=e9d1f562-ed75-4e9a-ac28-18bdf67f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...81c216a55b2cb1787645e699ceaceca868cad253", - "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/ad256a36cfd9d90f78acbf393e4bff5a2ef45fcf...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "ad256a36cfd9d90f78acbf393e4bff5a2ef45fcf", + "previous_fingerprint": "fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:d7541d3@sha256:fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", - "previous_trail_name": "promote-all-30", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ad256a36cfd9d90f78acbf393e4bff5a2ef45fcf", + "previous_trail_name": "runner-fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 98190.0, + "commit_lead_time": 593762.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "template_reference_name": "custom-start-points", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "flow_name": "production-promotion", + "trail_name": "promote-all-34", + "template_reference_name": "runner", + "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "message": "Drop lone use of = separator on Kosli CLI boolean flag", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1785316994.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=84b30964-e32f-409b-8cae-d4f8b94b", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638?artifact_id=95170cfc-5215-420d-a2b0-83fee5dc", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c17bb3ed8862de03c1a491dfe790fd8734fc7071...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "c17bb3ed8862de03c1a491dfe790fd8734fc7071", - "previous_fingerprint": "311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:514f79a@sha256:311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_fingerprint": "01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:976b63e@sha256:01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c17bb3ed8862de03c1a491dfe790fd8734fc7071", - "previous_trail_name": "custom-start-points-311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_trail_name": "promotion-one-160", + "previous_template_reference_name": "runner" }, - "commit_lead_time": -75707.0, + "commit_lead_time": 2938755.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "template_reference_name": "custom-start-points", + "trail_name": "runner-a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", + "template_reference_name": "runner", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -9262,32 +8697,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=c54cf2ea-4f90-4b77-af8c-61cc0cb6", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638?artifact_id=d21568bf-b02a-4532-a725-6fc824a6", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:6b5c159@sha256:b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/ed3c81d7322bb8058615095f4aab28c147c53933...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_fingerprint": "fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:d7541d3@sha256:fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "custom-start-points-b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_trail_name": "runner-fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", + "previous_template_reference_name": "runner" }, - "commit_lead_time": -2420743.0, + "commit_lead_time": 593762.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/6bf799c87c194e17be0f99fcd811abb6", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/a8c4fce1500343aa9d5dd37759266af8", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:bcac1c1@sha256:03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "compliant": true, "deployments": [], "policy_decisions": [ @@ -9309,8 +8744,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null } }, @@ -9318,7 +8753,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } }, @@ -9326,7 +8761,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9334,7 +8769,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } } @@ -9354,8 +8789,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": "COMPLIANT" } }, @@ -9363,7 +8798,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } }, @@ -9371,7 +8806,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -9379,7 +8814,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } } @@ -9404,8 +8839,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null } }, @@ -9413,7 +8848,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } }, @@ -9421,7 +8856,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9429,7 +8864,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } } @@ -9456,8 +8891,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null } }, @@ -9465,7 +8900,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } }, @@ -9473,7 +8908,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9481,7 +8916,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } } @@ -9501,8 +8936,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": "COMPLIANT" } }, @@ -9510,7 +8945,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } }, @@ -9518,7 +8953,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -9526,7 +8961,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } } @@ -9551,8 +8986,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -9561,7 +8996,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -9570,7 +9005,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -9579,7 +9014,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -9607,8 +9042,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null } }, @@ -9616,7 +9051,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } }, @@ -9624,7 +9059,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9632,7 +9067,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } } @@ -9652,8 +9087,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": "COMPLIANT" } }, @@ -9661,7 +9096,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } }, @@ -9669,7 +9104,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -9677,7 +9112,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } } @@ -9702,8 +9137,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -9712,7 +9147,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -9721,7 +9156,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -9730,7 +9165,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -9758,8 +9193,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null } }, @@ -9767,7 +9202,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } }, @@ -9775,7 +9210,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9783,7 +9218,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } } @@ -9803,8 +9238,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": "COMPLIANT" } }, @@ -9812,7 +9247,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } }, @@ -9820,7 +9255,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -9828,7 +9263,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } } @@ -9853,8 +9288,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null } }, @@ -9862,7 +9297,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } }, @@ -9870,7 +9305,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9878,7 +9313,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } } @@ -9905,8 +9340,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": null } }, @@ -9914,7 +9349,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } }, @@ -9922,7 +9357,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": null } }, @@ -9930,7 +9365,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": null } } @@ -9956,8 +9391,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "artifact_status": "COMPLIANT" } }, @@ -9965,7 +9400,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } }, @@ -9973,7 +9408,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-33", + "trail_name": "promote-all-34", "artifact_status": "COMPLIANT" } }, @@ -9981,7 +9416,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "artifact_status": "COMPLIANT" } } @@ -9992,101 +9427,100 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "fingerprint": "03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "creationTimestamp": [ - 1786425419, - 1786425419 + 1788255749 ], "pods": null, "annotation": { - "type": "exited", - "was": 2, - "now": 0 + "type": "unchanged", + "was": 1, + "now": 1 }, - "flow_name": "web-ci", - "git_commit": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "commit_url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=f658e6e3-9ce8-462f-a29e-a2cc6f7b", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", + "flow_name": "differ-ci", + "git_commit": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", + "commit_url": "https://github.com/cyber-dojo/differ/commit/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", + "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab?artifact_id=11345222-f37a-4f8d-8051-ec26a321", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e...5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "previous_git_commit": "0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", - "previous_fingerprint": "1e03ce9811f7ffaa0d00bb4da3dbc60e939e6d1b3f8e87b88a99121dca481018", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:0c31ab4@sha256:1e03ce9811f7ffaa0d00bb4da3dbc60e939e6d1b3f8e87b88a99121dca481018", + "diff_url": "https://github.com/cyber-dojo/differ/compare/108cccf9bccf9af5d455db66c250480b53cbecc7...bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", + "previous_git_commit": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "previous_fingerprint": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", - "previous_trail_name": "0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/108cccf9bccf9af5d455db66c250480b53cbecc7", + "previous_trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 58766.0, + "commit_lead_time": 5862.0, "flows": [ { - "flow_name": "web-ci", - "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "template_reference_name": "web", - "git_commit": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "commit_url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "flow_name": "differ-ci", + "trail_name": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", + "template_reference_name": "differ", + "git_commit": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", + "commit_url": "https://github.com/cyber-dojo/differ/commit/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "git_commit_info": { - "sha1": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "message": "Name the creation-event rule instead of restating it (#417)\n\nDeciding whether the review navigator's activity test (events.length > 1)\n agreed with the dashboard's (any event with index != 0) meant reading five\n files and saver's event-placement code, because the same fact - event 0 is\n the kata's creation, anything after it is something someone did - was spelled\n differently at every site. The two rules do agree, but nothing in the code\n said so, so the only way to find out was to go and check.\n\n cd.lib now carries isCreationEvent(event) and hasActivity(events), each\n documenting the invariant it rests on: an event's index is its position in the\n array, because saver places every write at head+1. The review partials ask\n through them rather than restating index==0 or length==1.\n\n Two sites keep their own spelling on purpose. previousIndex's index == 0 reads\n as array arithmetic rather than the creation rule, and kata_app has the only\n Ruby site in this repo, so a predicate there would add indirection without\n removing duplication.\n\n The avatars_tests fixtures now hold real event objects rather than bare\n integers, because the rule reads an event's index. Those tests still do not\n run: there is no jest here and require('./avatars') resolves to nothing.", + "sha1": "bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", + "message": "Rerun workflow to see if it fixes sonar flake (#469)", "author": "Jon Jagger ", "branch": "", - "timestamp": 1786366653.0, - "url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33" + "timestamp": 1788249887.0, + "url": "https://github.com/cyber-dojo/differ/commit/bcac1c18385b2573ef6c6e8eeae0f62ed14a03de" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=f658e6e3-9ce8-462f-a29e-a2cc6f7b", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab?artifact_id=11345222-f37a-4f8d-8051-ec26a321", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e...5e4b9873df93525c041c386c06e0ab8fc36b6f33", - "previous_git_commit": "0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", - "previous_fingerprint": "1e03ce9811f7ffaa0d00bb4da3dbc60e939e6d1b3f8e87b88a99121dca481018", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:0c31ab4@sha256:1e03ce9811f7ffaa0d00bb4da3dbc60e939e6d1b3f8e87b88a99121dca481018", + "diff_url": "https://github.com/cyber-dojo/differ/compare/108cccf9bccf9af5d455db66c250480b53cbecc7...bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", + "previous_git_commit": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "previous_fingerprint": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", - "previous_trail_name": "0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/108cccf9bccf9af5d455db66c250480b53cbecc7", + "previous_trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 58766.0, + "commit_lead_time": 5862.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "template_reference_name": "web", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", + "template_reference_name": "differ", + "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "sha1": "ed3c81d7322bb8058615095f4aab28c147c53933", + "message": "Unpack one pinned commit instead of fetching each file\n\n a0c005a moved these two jobs' files to RUNNER_TEMP, which kept them out of\n the caller's checkout but left the prefix repeated at every use. The paths\n are absolute because the run steps stay in the checkout, where the Kosli\n CLI reads git commit information from the working directory, so the prefix\n cannot be dropped. It can only be folded into the definitions, and a\n literal /tmp folds where runner.temp does not: the runner context is\n unavailable in workflow- and job-level env blocks. Both jobs are pinned to\n ubuntu-latest, one fresh VM per job, so /tmp neither collides nor persists.\n\n The files also arrived as five separate fetches of main, one per file, so a\n push landing mid-run could pair a rego policy with params from a different\n commit. find-snyk-vulns already checks this repo out, so it now publishes\n the SHA it resolved, and the two later jobs unpack that exact commit as a\n single tarball. One run reads one version.\n\n An env-var's prefix now says where its file came from: SNYK_SCANNING_ from\n this repo at the pinned commit, CALLER_ from the repo being scanned, TMP_\n produced by the run. That split is worth naming because only one of these\n files is the caller's, and it is the one .snyk that the decision attests\n against. Two bare filenames survive because an artifact name cannot\n contain a '/'.\n\n fetch-url-to-file now has exactly one caller, for that .snyk.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1787661987.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=da135937-1562-4662-b672-53688f17", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab?artifact_id=c19121c7-2115-4fe0-b472-1d4ea833", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:3f0b997@sha256:0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...ed3c81d7322bb8058615095f4aab28c147c53933", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 1108468.0, + "commit_lead_time": 593762.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-33", - "template_reference_name": "web", + "trail_name": "promote-all-34", + "template_reference_name": "differ", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { @@ -10097,27 +9531,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316994.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=5254e39c-72c5-4946-86ed-08f7b11a", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab?artifact_id=868b85f5-e442-42ac-9474-0cbb1ab3", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "1e03ce9811f7ffaa0d00bb4da3dbc60e939e6d1b3f8e87b88a99121dca481018", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:0c31ab4@sha256:1e03ce9811f7ffaa0d00bb4da3dbc60e939e6d1b3f8e87b88a99121dca481018", + "previous_fingerprint": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_trail_name": "promotion-one-157", - "previous_template_reference_name": "web" + "previous_trail_name": "promote-all-33", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 1108425.0, + "commit_lead_time": 2938755.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "template_reference_name": "web", + "trail_name": "differ-03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", + "template_reference_name": "differ", "git_commit": "ed3c81d7322bb8058615095f4aab28c147c53933", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933", "git_commit_info": { @@ -10128,26 +9562,26 @@ kosli get snapshot aws-prod --output=json "timestamp": 1787661987.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/ed3c81d7322bb8058615095f4aab28c147c53933" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=a1de5ee7-cc21-4c5b-acdc-08d675f3", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab?artifact_id=d014796c-e7b5-4b48-92f7-99ec7f8f", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...ed3c81d7322bb8058615095f4aab28c147c53933", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:f66cc5c@sha256:29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "previous_fingerprint": "902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:981dcfc@sha256:902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "web-29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", - "previous_template_reference_name": "web" + "previous_trail_name": "differ-902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "previous_template_reference_name": "differ" }, - "commit_lead_time": -1236568.0, + "commit_lead_time": 593762.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/1af4cc2636fa44c3867fc792d9285670", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/2e9f021f4b484d48a46dc90a3b172b31", "cluster_name": null, "service_name": null } diff --git a/client_reference/kosli_list_environments.md b/client_reference/kosli_list_environments.md index 140a69b..e9f381d 100644 --- a/client_reference/kosli_list_environments.md +++ b/client_reference/kosli_list_environments.md @@ -63,9 +63,9 @@ kosli list environments --output=json "name": "aws-beta", "type": "ECS", "description": "The ECS cluster for staging cyber-dojo", - "last_modified_at": 1788099031.1318774, - "last_reported_at": 1788099031.1318774, - "last_changed_at": 1788074783.838713, + "last_modified_at": 1788260423.8795948, + "last_reported_at": 1788260423.8795948, + "last_changed_at": 1788256284.0239065, "state": true, "include_scaling": false, "tags": { @@ -84,9 +84,9 @@ kosli list environments --output=json "name": "aws-beta-terraform-drift-detection", "type": "server", "description": "Detection of drift of the Infrastructure-as-code components of aws-beta", - "last_modified_at": 1788099008.9739075, - "last_reported_at": 1788099008.9739075, - "last_changed_at": 1788073820.4463117, + "last_modified_at": 1788260408.588247, + "last_reported_at": 1788260408.588247, + "last_changed_at": 1788254708.6300995, "state": true, "include_scaling": false, "tags": {}, @@ -100,9 +100,9 @@ kosli list environments --output=json "name": "aws-prod", "type": "ECS", "description": "The ECS cluster for production cyber-dojo", - "last_modified_at": 1788098998.3881242, - "last_reported_at": 1788098998.3881242, - "last_changed_at": 1788074998.5362537, + "last_modified_at": 1788260398.5436597, + "last_reported_at": 1788260398.5436597, + "last_changed_at": 1788256325.6192138, "state": true, "include_scaling": false, "tags": { @@ -122,9 +122,9 @@ kosli list environments --output=json "name": "aws-prod-terraform-drift-detection", "type": "server", "description": "Detection of drift of the Infrastructure-as-code components of aws-prod", - "last_modified_at": 1788098912.1149282, - "last_reported_at": 1788098912.1149282, - "last_changed_at": 1788075211.9398148, + "last_modified_at": 1788260312.0991778, + "last_reported_at": 1788260312.0991778, + "last_changed_at": 1788256412.1366148, "state": true, "include_scaling": false, "tags": {}, @@ -138,9 +138,9 @@ kosli list environments --output=json "name": "production", "type": "logical", "description": "Production environments for cyber-dojo", - "last_modified_at": 1788075211.9398148, + "last_modified_at": 1788256412.1366148, "last_reported_at": null, - "last_changed_at": 1788075211.9398148, + "last_changed_at": 1788256412.1366148, "state": true, "include_scaling": false, "tags": {}, @@ -155,9 +155,9 @@ kosli list environments --output=json "name": "staging", "type": "logical", "description": "Staging environments for cyber-dojo", - "last_modified_at": 1788074783.838713, + "last_modified_at": 1788256284.0239065, "last_reported_at": null, - "last_changed_at": 1788074783.838713, + "last_changed_at": 1788256284.0239065, "state": true, "include_scaling": false, "tags": {}, diff --git a/client_reference/kosli_list_flows.md b/client_reference/kosli_list_flows.md index 491f1c0..5b82404 100644 --- a/client_reference/kosli_list_flows.md +++ b/client_reference/kosli_list_flows.md @@ -68,7 +68,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1787835864.1788104, + "latest_activity_at": 1788256138.680238, "latest_state": "COMPLIANT" }, { @@ -85,7 +85,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1787838923.90539, + "latest_activity_at": 1788255478.4228623, "latest_state": "COMPLIANT" }, { @@ -102,7 +102,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1787842344.00542, + "latest_activity_at": 1788255478.4228623, "latest_state": "COMPLIANT" }, { @@ -119,7 +119,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1787837303.971501, + "latest_activity_at": 1788255838.4418423, "latest_state": "COMPLIANT" }, { @@ -136,7 +136,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1787838923.90539, + "latest_activity_at": 1788255478.4228623, "latest_state": "COMPLIANT" }, { @@ -153,7 +153,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1787838923.90539, + "latest_activity_at": 1788255838.4418423, "latest_state": "COMPLIANT" }, { @@ -218,7 +218,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1787293944.0598202, + "latest_activity_at": 1788255838.4418423, "latest_state": "COMPLIANT" }, { @@ -227,7 +227,7 @@ kosli list flows --output=json "description": "Promotes sets of Artifacts from aws-beta to aws-prod", "visibility": "private", "org": "cyber-dojo", - "template": "version: 1\n\ntrail:\n attestations:\n - name: one-promotion\n type: generic\n", + "template": "version: 1\n\ntrail:\n attestations:\n - name: all-promotions\n type: generic\n", "repo_url": "https://github.com/cyber-dojo/aws-prod-co-promotion", "tags": { "ci": "github", @@ -235,7 +235,7 @@ kosli list flows --output=json "kind": "release", "env": "aws-prod" }, - "latest_activity_at": 1788074713.2619398, + "latest_activity_at": 1788254949.8226013, "latest_state": "COMPLIANT" }, { @@ -264,7 +264,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1788074398.5222037, + "latest_activity_at": 1788255898.5005004, "latest_state": "COMPLIANT" }, { @@ -281,7 +281,7 @@ kosli list flows --output=json "kind": "build", "env": "aws-beta" }, - "latest_activity_at": 1787838984.0144842, + "latest_activity_at": 1788255478.4228623, "latest_state": "COMPLIANT" }, { @@ -297,7 +297,7 @@ kosli list flows --output=json "kind": "run", "repo_url": "https://github.com/cyber-dojo/secrets" }, - "latest_activity_at": 1787927160.5753644, + "latest_activity_at": 1788249204.33249, "latest_state": "NON-COMPLIANT" }, { @@ -314,7 +314,7 @@ kosli list flows --output=json "workflow_url": "https://github.com/cyber-dojo/snyk-scanning/blob/main/.github/workflows/aws-beta.yml", "env": "aws-beta" }, - "latest_activity_at": 1788074762.8814502, + "latest_activity_at": 1788254744.4473586, "latest_state": "COMPLIANT" }, { @@ -331,7 +331,7 @@ kosli list flows --output=json "kind": "run", "workflow_url": "https://github.com/cyber-dojo/snyk-scanning/blob/main/.github/workflows/artifact_snyk_test.yml" }, - "latest_activity_at": 1788074738.0863786, + "latest_activity_at": 1788252975.2436972, "latest_state": "COMPLIANT" }, { @@ -348,7 +348,7 @@ kosli list flows --output=json "workflow_url": "https://github.com/cyber-dojo/snyk-scanning/blob/main/.github/workflows/aws-prod.yml", "env": "aws-prod" }, - "latest_activity_at": 1788074713.0553374, + "latest_activity_at": 1788256311.5220706, "latest_state": "COMPLIANT" }, { @@ -365,7 +365,7 @@ kosli list flows --output=json "kind": "run", "workflow_url": "https://github.com/cyber-dojo/snyk-scanning/blob/main/.github/workflows/artifact_snyk_test.yml" }, - "latest_activity_at": 1788074670.473346, + "latest_activity_at": 1788256281.9068878, "latest_state": "COMPLIANT" }, { @@ -379,7 +379,7 @@ kosli list flows --output=json "tags": { "env": "aws-beta" }, - "latest_activity_at": 1787903663.937315, + "latest_activity_at": 1788255478.4228623, "latest_state": "COMPLIANT" }, { @@ -427,7 +427,7 @@ kosli list flows --output=json "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", "repo_url": "https://github.com/cyber-dojo/differ", "tags": {}, - "latest_activity_at": 1787837408.908393, + "latest_activity_at": 1788250508.7286773, "latest_state": "COMPLIANT" }, { @@ -451,7 +451,7 @@ kosli list flows --output=json "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", "repo_url": "https://github.com/cyber-dojo/languages-start-points", "tags": {}, - "latest_activity_at": 1787839208.4459617, + "latest_activity_at": 1788246608.7289636, "latest_state": "COMPLIANT" }, { @@ -463,7 +463,7 @@ kosli list flows --output=json "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", "repo_url": "https://github.com/cyber-dojo/nginx", "tags": {}, - "latest_activity_at": 1787294408.6792488, + "latest_activity_at": 1788254708.6300995, "latest_state": "COMPLIANT" }, { @@ -475,7 +475,7 @@ kosli list flows --output=json "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", "repo_url": "https://github.com/cyber-dojo/runner", "tags": {}, - "latest_activity_at": 1788073820.4463117, + "latest_activity_at": 1788164408.5952742, "latest_state": "COMPLIANT" }, { @@ -487,7 +487,7 @@ kosli list flows --output=json "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", "repo_url": "https://github.com/cyber-dojo/saver", "tags": {}, - "latest_activity_at": 1787839208.4459617, + "latest_activity_at": 1788252908.7716892, "latest_state": "COMPLIANT" }, { @@ -533,9 +533,9 @@ kosli list flows --output=json "visibility": "private", "org": "cyber-dojo", "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", - "repo_url": "https://github.com/cyber-dojo/web", + "repo_url": "https://github.com/cyber-dojo/runner", "tags": {}, - "latest_activity_at": 1788075211.9398148, + "latest_activity_at": 1788256412.1366148, "latest_state": "COMPLIANT" }, { diff --git a/client_reference/kosli_list_snapshots.md b/client_reference/kosli_list_snapshots.md index 9b6ec51..4daf90d 100644 --- a/client_reference/kosli_list_snapshots.md +++ b/client_reference/kosli_list_snapshots.md @@ -64,109 +64,109 @@ kosli list snapshots aws-prod --output=json ```json [ { - "index": 5292, - "from": 1788074998.5362537, + "index": 5309, + "from": 1788256325.6192138, "to": 0.0, "compliant": true, - "duration": 24053.718024015427 + "duration": 4114.5881407260895 }, { - "index": 5291, - "from": 1788074938.4944596, - "to": 1788074998.5362537, + "index": 5308, + "from": 1788256258.609352, + "to": 1788256325.6192138, "compliant": true, - "duration": 60.04179406166077 + "duration": 67.00986170768738 }, { - "index": 5290, - "from": 1788074758.3723075, - "to": 1788074938.4944596, + "index": 5307, + "from": 1788256138.680238, + "to": 1788256258.609352, "compliant": true, - "duration": 180.12215209007263 + "duration": 119.92911410331726 }, { - "index": 5289, - "from": 1788074698.548716, - "to": 1788074758.3723075, + "index": 5306, + "from": 1788256078.451175, + "to": 1788256138.680238, "compliant": true, - "duration": 59.823591470718384 + "duration": 60.22906303405762 }, { - "index": 5288, - "from": 1788074398.5222037, - "to": 1788074698.548716, + "index": 5305, + "from": 1788255898.5005004, + "to": 1788256078.451175, "compliant": true, - "duration": 300.0265123844147 + "duration": 179.950674533844 }, { - "index": 5287, - "from": 1788074338.5482786, - "to": 1788074398.5222037, + "index": 5304, + "from": 1788255838.4418423, + "to": 1788255898.5005004, "compliant": true, - "duration": 59.97392511367798 + "duration": 60.05865812301636 }, { - "index": 5286, - "from": 1788073858.501626, - "to": 1788074338.5482786, + "index": 5303, + "from": 1788255778.7566388, + "to": 1788255838.4418423, "compliant": true, - "duration": 480.0466525554657 + "duration": 59.685203552246094 }, { - "index": 5285, - "from": 1787991898.5420277, - "to": 1788073858.501626, + "index": 5302, + "from": 1788255478.4228623, + "to": 1788255778.7566388, "compliant": true, - "duration": 81959.95959830284 + "duration": 300.333776473999 }, { - "index": 5284, - "from": 1787991838.452193, - "to": 1787991898.5420277, + "index": 5301, + "from": 1788255418.2849495, + "to": 1788255478.4228623, "compliant": true, - "duration": 60.089834690093994 + "duration": 60.13791275024414 }, { - "index": 5283, - "from": 1787923678.398171, - "to": 1787991838.452193, + "index": 5300, + "from": 1788254758.42325, + "to": 1788255418.2849495, "compliant": true, - "duration": 68160.05402207375 + "duration": 659.8616995811462 }, { - "index": 5282, - "from": 1787923618.562095, - "to": 1787923678.398171, + "index": 5299, + "from": 1788253018.4181795, + "to": 1788254758.42325, "compliant": true, - "duration": 59.83607602119446 + "duration": 1740.0050704479218 }, { - "index": 5281, - "from": 1787923558.488644, - "to": 1787923618.562095, + "index": 5298, + "from": 1788251398.4699006, + "to": 1788253018.4181795, "compliant": true, - "duration": 60.07345104217529 + "duration": 1619.9482789039612 }, { - "index": 5280, - "from": 1787832538.6775455, - "to": 1787923558.488644, + "index": 5297, + "from": 1788245458.5681827, + "to": 1788251398.4699006, "compliant": true, - "duration": 91019.81109833717 + "duration": 5939.90171790123 }, { - "index": 5279, - "from": 1787713198.4663308, - "to": 1787832538.6775455, + "index": 5296, + "from": 1788245398.8278637, + "to": 1788245458.5681827, "compliant": true, - "duration": 119340.21121478081 + "duration": 59.74031901359558 }, { - "index": 5278, - "from": 1787665198.4042735, - "to": 1787713198.4663308, + "index": 5295, + "from": 1788245338.6744468, + "to": 1788245398.8278637, "compliant": true, - "duration": 48000.0620572567 + "duration": 60.153416872024536 } ] ``` diff --git a/client_reference/kosli_log_environment.md b/client_reference/kosli_log_environment.md index f0204fe..4e43c37 100644 --- a/client_reference/kosli_log_environment.md +++ b/client_reference/kosli_log_environment.md @@ -72,16 +72,16 @@ kosli log environment aws-prod --output=json [ { "environment_name": "aws-prod", - "snapshot_index": 5292, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "sha256": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "description": "2 instances stopped running (from 2 to 0)", - "reported_at": 1788074998.5362537, - "pipeline": "web-ci", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:84e986a@sha256:06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", + "sha256": "06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", + "description": "1 instance changed", + "reported_at": 1788256325.6192138, + "pipeline": "saver-ci", "deployments": [], "flows": [ { - "flow_name": "web-ci", + "flow_name": "saver-ci", "deployments": null }, { @@ -99,31 +99,35 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "exited", - "code_diff": "https://github.com/cyber-dojo/web/compare/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e...5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/saver/compare/36f0420f728fe61e44a3ab0043cf9a3d70863cad...84e986ad70d32e9be362d5bd9ce7c7af94f6eaab", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=f658e6e3-9ce8-462f-a29e-a2cc6f7b" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/saver-ci/fingerprint/06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f", + "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/06f85cc53010535e46f13c348a1aaf5c8dfee0c0fea7f81105312b6c87d5d05f?artifact_id=a599cb04-5965-46a6-a774-24dc6341" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5292", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5292" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5291, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:cbe481c@sha256:36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "sha256": "36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "description": "3 instances started running (from 0 to 3)", - "reported_at": 1788074938.4944596, - "pipeline": "web-ci", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:27b3504@sha256:1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", + "sha256": "1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", + "description": "1 instance changed", + "reported_at": 1788256325.6192138, + "pipeline": "nginx-ci", "deployments": [], "flows": [ { - "flow_name": "web-ci", + "flow_name": "nginx-ci", + "deployments": null + }, + { + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { @@ -131,37 +135,41 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "started-compliant", - "code_diff": "https://github.com/cyber-dojo/web/compare/5e4b9873df93525c041c386c06e0ab8fc36b6f33...cbe481c4b842f897e4e9e411cd78461a3a12a334", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/nginx/compare/fb791742054fa28dd89269aac8002ebfd7b3386e...27b350410ebcca5ff192f2ca4cdd0e3e49f5ac65", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", - "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=41957e62-eaad-48d2-af40-46879efb" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/nginx-ci/fingerprint/1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21", + "html": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/1d1a2f8e2ea649bac20578eea7b18c9f03cda4cad5118cefbf425521a77ead21?artifact_id=9045bb07-ea42-482f-99c3-4fe5b86f" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5291", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5291" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5290, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:976b63e@sha256:01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "sha256": "01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "description": "3 instances changed", - "reported_at": 1788074758.3723075, - "pipeline": "runner-ci", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:ff9f292@sha256:2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", + "sha256": "2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", + "description": "1 instance changed", + "reported_at": 1788256325.6192138, + "pipeline": "dashboard-ci", "deployments": [], "flows": [ { - "flow_name": "runner-ci", + "flow_name": "dashboard-ci", + "deployments": null + }, + { + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { @@ -169,37 +177,37 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/runner/compare/d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd...976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "code_diff": "https://github.com/cyber-dojo/dashboard/compare/2b300f450f72006f6a9000aaf9cd04485f1e8095...ff9f292e809801d35246183988b7812826bc2760", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9?artifact_id=e63d6d6b-d7ee-4fad-a66a-32a4ebba" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/dashboard-ci/fingerprint/2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f", + "html": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/2827829889b4acc994c3ffbfca250346d5f1f0ddf21847bcbe4864ae484ebe4f?artifact_id=aa6c0c1d-2d5d-4c98-9f9d-1160dd2f" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5290", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5290" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5290, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", - "sha256": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:a357ebd@sha256:28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", + "sha256": "28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", "description": "1 instance changed", - "reported_at": 1788074758.3723075, - "pipeline": "saver-ci", + "reported_at": 1788256325.6192138, + "pipeline": "languages-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "saver-ci", + "flow_name": "languages-start-points-ci", "deployments": null }, { @@ -217,39 +225,39 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/saver/compare/595e902fa2f5844d9ce0612a5c9295cd8dab5b97...36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/languages-start-points/compare/068b3424c7da843a4f2d428d2e4915f33efc4a02...a357ebd85acdd54968fa0192405aaf2e289d27c9", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/saver-ci/fingerprint/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", - "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=01bf7de8-52fc-4585-a4b6-abf82047" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/languages-start-points-ci/fingerprint/28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832", + "html": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/28bc41a2185a154249b1d06983741c39beb3574ebdce7273963ecde2ae9dd832?artifact_id=8e028a8d-a1f2-4732-8663-47012b29" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5290", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5290" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5290, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", - "sha256": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:b12a5c9@sha256:34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", + "sha256": "34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", "description": "1 instance changed", - "reported_at": 1788074758.3723075, - "pipeline": "spooler-ci", + "reported_at": 1788256325.6192138, + "pipeline": "custom-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "spooler-ci", + "flow_name": "custom-start-points-ci", "deployments": null }, { - "flow_name": "production-promotion", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "production-promotion", "deployments": null }, { @@ -259,39 +267,39 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/spooler/compare/c81791fd10558a59f83876137fb021abcd89f262...dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/custom-start-points/compare/790d86b66f4d86ab47f5c521daf5039dc8aeef4d...b12a5c9b17023462d13e81381a69c7ef05f84dc2", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", - "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0?artifact_id=df2dcc5e-bb07-40e8-b013-9ac60f42" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/custom-start-points-ci/fingerprint/34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09", + "html": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/34fd30b5a876821ef7047c3e3af23158705ec2ea1f63fa784854639ccd807b09?artifact_id=2aa23627-9e91-488e-b3ea-e4bf2e22" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5290", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5290" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5289, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "sha256": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "description": "1 instance changed", - "reported_at": 1788074698.548716, - "pipeline": "dashboard-ci", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:cbe481c@sha256:36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", + "sha256": "36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", + "description": "3 instances changed", + "reported_at": 1788256325.6192138, + "pipeline": "web-ci", "deployments": [], "flows": [ { - "flow_name": "dashboard-ci", + "flow_name": "web-ci", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "production-promotion", "deployments": null }, { - "flow_name": "production-promotion", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { @@ -301,31 +309,31 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/dashboard/compare/da7bacefac23b0983d2b9f39d87508e0f85b1167...2b300f450f72006f6a9000aaf9cd04485f1e8095", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/web/compare/5e4b9873df93525c041c386c06e0ab8fc36b6f33...cbe481c4b842f897e4e9e411cd78461a3a12a334", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/dashboard-ci/fingerprint/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "html": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=a805b555-f25a-4828-89d2-a28881c8" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc", + "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/36ad0020c6cd8716c1463808a185ca65379ec8151a9619d72549ee597d86accc?artifact_id=41957e62-eaad-48d2-af40-46879efb" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5289", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5289" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5289, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", - "sha256": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:f22a30e@sha256:41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", + "sha256": "41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", "description": "1 instance changed", - "reported_at": 1788074698.548716, - "pipeline": "differ-ci", + "reported_at": 1788256325.6192138, + "pipeline": "exercises-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "differ-ci", + "flow_name": "exercises-start-points-ci", "deployments": null }, { @@ -343,31 +351,31 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/differ/compare/10e162d4e1294815375a31121f14d57e13183b34...108cccf9bccf9af5d455db66c250480b53cbecc7", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/exercises-start-points/compare/258b6d07d2b28ad5cb2ce6d29934997f72380f1a...f22a30ed7659b05a88c22e9f22dc2388f2deb8c8", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/differ-ci/fingerprint/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", - "html": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=50b8cff6-1888-4c76-b31a-fdd7a311" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/exercises-start-points-ci/fingerprint/41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6", + "html": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/41aab2a45d074e91162ffde031d094118f0be3bdffa4d769ea24b415f5e8a9d6?artifact_id=aa4300d4-b690-4d71-9596-6af987e1" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5289", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5289" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5289, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "sha256": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "description": "3 instances changed", - "reported_at": 1788074698.548716, - "pipeline": "web-ci", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:90c8d98@sha256:6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", + "sha256": "6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", + "description": "1 instance changed", + "reported_at": 1788256325.6192138, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "web-ci", + "flow_name": "spooler-ci", "deployments": null }, { @@ -385,39 +393,39 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/web/compare/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e...5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/spooler/compare/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb...90c8d982d2ff8c4950f7aca4d0a1e9d29ac74e1f", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", - "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=f658e6e3-9ce8-462f-a29e-a2cc6f7b" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd", + "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6440151a9419255a47d8f9fb0e610f5af3f555ad68fa84a50f950abae8b098fd?artifact_id=6df79438-91a2-4c2b-a945-52fb5218" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5289", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5289" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5289, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "sha256": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "snapshot_index": 5309, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:d64d2b1@sha256:c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", + "sha256": "c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", "description": "1 instance changed", - "reported_at": 1788074698.548716, - "pipeline": "custom-start-points-ci", + "reported_at": 1788256325.6192138, + "pipeline": "creator-ci", "deployments": [], "flows": [ { - "flow_name": "custom-start-points-ci", + "flow_name": "creator-ci", "deployments": null }, { - "flow_name": "production-promotion", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "production-promotion", "deployments": null }, { @@ -427,31 +435,31 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/creator/compare/83357f112ef5c10b157cb84732c77965cc8ddc48...d64d2b11879179255f11dc991e81fbaf4a040264", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/custom-start-points-ci/fingerprint/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "html": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", + "html": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab?artifact_id=61384b36-4d32-43f2-8d5d-a72e2e7e" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5289", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5289" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5309", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5309" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5289, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", - "sha256": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "snapshot_index": 5308, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:bcac1c1@sha256:03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", + "sha256": "03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", "description": "1 instance changed", - "reported_at": 1788074698.548716, - "pipeline": "creator-ci", + "reported_at": 1788256258.609352, + "pipeline": "differ-ci", "deployments": [], "flows": [ { - "flow_name": "creator-ci", + "flow_name": "differ-ci", "deployments": null }, { @@ -469,31 +477,31 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/creator/compare/89019f6d8059406e56fa499b2dec2dbf93f4d5c7...83357f112ef5c10b157cb84732c77965cc8ddc48", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/differ/compare/108cccf9bccf9af5d455db66c250480b53cbecc7...bcac1c18385b2573ef6c6e8eeae0f62ed14a03de", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", - "html": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=11539f6a-befb-4b79-9484-fd9f25d3" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/differ-ci/fingerprint/03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab", + "html": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/03e520a0dcb9da3889b23ef3ab7f0fa29e4c4a7a9d42c2ce022b78a053157bab?artifact_id=11345222-f37a-4f8d-8051-ec26a321" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5289", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5289" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5308", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5308" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5289, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", - "sha256": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", - "description": "1 instance changed", - "reported_at": 1788074698.548716, - "pipeline": "languages-start-points-ci", + "snapshot_index": 5308, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:ca65b67@sha256:a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", + "sha256": "a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", + "description": "3 instances changed", + "reported_at": 1788256258.609352, + "pipeline": "runner-ci", "deployments": [], "flows": [ { - "flow_name": "languages-start-points-ci", + "flow_name": "runner-ci", "deployments": null }, { @@ -511,31 +519,31 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/languages-start-points/compare/6a7f7be81022f7ed3fa8383f016b55af86e2af23...068b3424c7da843a4f2d428d2e4915f33efc4a02", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/runner/compare/976b63e8001ec7441ebc7737ca69f620d47e7ffe...ca65b67c3e311fbdd2435609fdb6f8a5479f66f9", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/languages-start-points-ci/fingerprint/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", - "html": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=4154b9c8-14cc-426f-abc5-05220611" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638", + "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/a1b8379841b440286b5649db7517419457b8fdb01398a661bae9ae0c92b05638?artifact_id=3b03ceaf-96a6-4afa-8aa2-179e5fe9" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5289", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5289" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5308", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5308" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5289, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", - "sha256": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", - "description": "1 instance changed", - "reported_at": 1788074698.548716, - "pipeline": "nginx-ci", + "snapshot_index": 5307, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "sha256": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "description": "1 instance stopped running (from 1 to 0)", + "reported_at": 1788256138.680238, + "pipeline": "creator-ci", "deployments": [], "flows": [ { - "flow_name": "nginx-ci", + "flow_name": "creator-ci", "deployments": null }, { @@ -553,35 +561,31 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/nginx/compare/5ce2769937a4014a853787d7b3d89ec30b6ac967...fb791742054fa28dd89269aac8002ebfd7b3386e", + "type": "exited", + "code_diff": "https://github.com/cyber-dojo/creator/compare/89019f6d8059406e56fa499b2dec2dbf93f4d5c7...83357f112ef5c10b157cb84732c77965cc8ddc48", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/nginx-ci/fingerprint/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", - "html": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=b9778ac6-6d83-4954-98ba-a3e60a22" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "html": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=11539f6a-befb-4b79-9484-fd9f25d3" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5289", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5289" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5307", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5307" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5289, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "sha256": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "description": "1 instance changed", - "reported_at": 1788074698.548716, - "pipeline": "exercises-start-points-ci", + "snapshot_index": 5306, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:d64d2b1@sha256:c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", + "sha256": "c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", + "description": "1 instance started running (from 0 to 1)", + "reported_at": 1788256078.451175, + "pipeline": "creator-ci", "deployments": [], "flows": [ { - "flow_name": "exercises-start-points-ci", - "deployments": null - }, - { - "flow_name": "production-promotion", + "flow_name": "creator-ci", "deployments": null }, { @@ -589,32 +593,32 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "production-promotion", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "type": "started-compliant", + "code_diff": "https://github.com/cyber-dojo/creator/compare/83357f112ef5c10b157cb84732c77965cc8ddc48...d64d2b11879179255f11dc991e81fbaf4a040264", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/exercises-start-points-ci/fingerprint/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "html": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab", + "html": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/c48710e3304e24406c03381a31d01f520ab2f60846aa0b57adbda0a776ebc1ab?artifact_id=61384b36-4d32-43f2-8d5d-a72e2e7e" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5289", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5289" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5306", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5306" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5288, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:d7541d3@sha256:fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", - "sha256": "fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", - "description": "3 instances stopped running (from 3 to 0)", - "reported_at": 1788074398.5222037, + "snapshot_index": 5305, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:976b63e@sha256:01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "sha256": "01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "description": "1 instance stopped running (from 1 to 0)", + "reported_at": 1788255898.5005004, "pipeline": "runner-ci", "deployments": [], "flows": [ @@ -638,49 +642,57 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "exited", - "code_diff": "https://github.com/cyber-dojo/runner/compare/76610271f641f1a5634465e97f880dfe019e515e...d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd", + "code_diff": "https://github.com/cyber-dojo/runner/compare/d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd...976b63e8001ec7441ebc7737ca69f620d47e7ffe", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/fd8c68c615a68bfa49569beea07d071950dcfeac676028543f530dd7193f5631?artifact_id=6272fd19-9b14-48e5-89c5-74be156a" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", + "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9?artifact_id=e63d6d6b-d7ee-4fad-a66a-32a4ebba" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5288", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5288" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5305", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5305" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5287, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:976b63e@sha256:01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "sha256": "01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "description": "3 instances started running (from 0 to 3)", - "reported_at": 1788074338.5482786, - "pipeline": "runner-ci", + "snapshot_index": 5304, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "sha256": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "description": "1 instance stopped running (from 1 to 0)", + "reported_at": 1788255838.4418423, + "pipeline": "differ-ci", "deployments": [], "flows": [ { - "flow_name": "runner-ci", + "flow_name": "differ-ci", + "deployments": null + }, + { + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { "flow_name": "production-promotion", "deployments": null + }, + { + "flow_name": "snyk-aws-prod-per-artifact", + "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "started-compliant", - "code_diff": "https://github.com/cyber-dojo/runner/compare/d7541d3fb2c548bd68a81f812b5a6c95fcf9a1bd...976b63e8001ec7441ebc7737ca69f620d47e7ffe", + "type": "exited", + "code_diff": "https://github.com/cyber-dojo/differ/compare/10e162d4e1294815375a31121f14d57e13183b34...108cccf9bccf9af5d455db66c250480b53cbecc7", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/01311f8b73bb61f65baabe680aa75ef9c0e6c5d1697ad81cfd89c89812de6fe9?artifact_id=e63d6d6b-d7ee-4fad-a66a-32a4ebba" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/differ-ci/fingerprint/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "html": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=50b8cff6-1888-4c76-b31a-fdd7a311" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5287", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5287" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5304", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5304" } } } diff --git a/client_reference/overview.md b/client_reference/overview.md index 24940ed..f7b1062 100644 --- a/client_reference/overview.md +++ b/client_reference/overview.md @@ -4,7 +4,7 @@ description: "Reference documentation for the Kosli CLI." --- - This reference was generated from Kosli CLI **v2.39.1**. + This reference was generated from Kosli CLI **v2.39.2**. The Kosli CLI allows you to interact with Kosli from your terminal and CI/CD pipelines.