From 5be60fbac78d972a106116a664db77658650909f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 15:08:23 +0000 Subject: [PATCH] docs: update CLI and helm reference for v2.36.6 --- 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 | 2 +- client_reference/kosli_begin_trail.md | 4 +- .../kosli_create_attestation-type.md | 2 +- client_reference/kosli_create_flow.md | 2 +- client_reference/kosli_diff_snapshots.md | 204 +- client_reference/kosli_evaluate_input.md | 2 +- client_reference/kosli_evaluate_trail.md | 2 +- client_reference/kosli_fingerprint.md | 2 +- client_reference/kosli_get_environment.md | 6 +- client_reference/kosli_get_snapshot.md | 4496 ++++++++--------- client_reference/kosli_get_trail.md | 12 +- client_reference/kosli_list_environments.md | 32 +- client_reference/kosli_list_flows.md | 160 +- client_reference/kosli_list_snapshots.md | 118 +- client_reference/kosli_log_environment.md | 406 +- client_reference/kosli_snapshot_ecs.md | 12 +- client_reference/overview.md | 2 +- 24 files changed, 2596 insertions(+), 2888 deletions(-) diff --git a/client_reference/kosli_assert_artifact.md b/client_reference/kosli_assert_artifact.md index e40f1ca..5412b0d 100644 --- a/client_reference/kosli_assert_artifact.md +++ b/client_reference/kosli_assert_artifact.md @@ -69,7 +69,7 @@ non-zero code if non-compliant status. View an example of the `kosli assert artifact` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/differ/blob/10e162d4e1294815375a31121f14d57e13183b34/.github/workflows/main.yml#L271) + In [this YAML file](https://github.com/cyber-dojo/differ/blob/a88b337310cef9b1ee259d18db3d43fed5dd9e03/.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 b7b2f13..1513302 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/10e162d4e1294815375a31121f14d57e13183b34?attestation_id=7e8c883e-f5ed-4df1-81d0-6b2959ee). + 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). 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/89019f6d8059406e56fa499b2dec2dbf93f4d5c7?attestation_id=e6a23489-6ea9-44f6-b4de-577edc06). + 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). diff --git a/client_reference/kosli_attest_custom.md b/client_reference/kosli_attest_custom.md index 4915709..e664526 100644 --- a/client_reference/kosli_attest_custom.md +++ b/client_reference/kosli_attest_custom.md @@ -78,7 +78,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/10e162d4e1294815375a31121f14d57e13183b34/.github/workflows/main.yml#L168), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/10e162d4e1294815375a31121f14d57e13183b34?attestation_id=9a56fd84-9b6e-4a78-a371-920acea5). + 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). diff --git a/client_reference/kosli_attest_generic.md b/client_reference/kosli_attest_generic.md index 6a58c69..575af45 100644 --- a/client_reference/kosli_attest_generic.md +++ b/client_reference/kosli_attest_generic.md @@ -74,12 +74,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/da7bacefac23b0983d2b9f39d87508e0f85b1167/.github/workflows/main.yml#L197), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/da7bacefac23b0983d2b9f39d87508e0f85b1167?attestation_id=5defe551-d900-4d22-85af-29a36134). + 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). 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/89019f6d8059406e56fa499b2dec2dbf93f4d5c7?attestation_id=25e37afb-6cff-423c-99e4-9e7991df). + 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). diff --git a/client_reference/kosli_attest_junit.md b/client_reference/kosli_attest_junit.md index 0228b26..50525fc 100644 --- a/client_reference/kosli_attest_junit.md +++ b/client_reference/kosli_attest_junit.md @@ -79,12 +79,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/10e162d4e1294815375a31121f14d57e13183b34/.github/workflows/main.yml#L101), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/10e162d4e1294815375a31121f14d57e13183b34?attestation_id=48e87b7c-6628-48de-8862-98d247f0). + 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). 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/89019f6d8059406e56fa499b2dec2dbf93f4d5c7?attestation_id=7e1c0c3c-7772-4123-96f6-1b116f72). + 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). diff --git a/client_reference/kosli_attest_pullrequest_github.md b/client_reference/kosli_attest_pullrequest_github.md index 203a944..ffbc6b0 100644 --- a/client_reference/kosli_attest_pullrequest_github.md +++ b/client_reference/kosli_attest_pullrequest_github.md @@ -71,7 +71,7 @@ The attestation can be bound to an *artifact* in two ways: View an example of the `kosli attest pullrequest github` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/differ/blob/10e162d4e1294815375a31121f14d57e13183b34/.github/workflows/main.yml#L81), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/differ-ci/trails/10e162d4e1294815375a31121f14d57e13183b34?attestation_id=f724067d-c658-4728-aeae-532055f6). + 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). diff --git a/client_reference/kosli_attest_pullrequest_gitlab.md b/client_reference/kosli_attest_pullrequest_gitlab.md index c0348cb..a05f2a4 100644 --- a/client_reference/kosli_attest_pullrequest_gitlab.md +++ b/client_reference/kosli_attest_pullrequest_gitlab.md @@ -71,7 +71,7 @@ The attestation can be bound to an *artifact* in two ways: 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/89019f6d8059406e56fa499b2dec2dbf93f4d5c7?attestation_id=e897dbed-7b66-466e-bbf0-d3872c70). + 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). diff --git a/client_reference/kosli_attest_sonar.md b/client_reference/kosli_attest_sonar.md index 281392c..1c88cbe 100644 --- a/client_reference/kosli_attest_sonar.md +++ b/client_reference/kosli_attest_sonar.md @@ -99,7 +99,7 @@ The attestation can be bound to an *artifact* in two ways: View an example of the `kosli attest sonar` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/da7bacefac23b0983d2b9f39d87508e0f85b1167/.github/workflows/main.yml#L122), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/da7bacefac23b0983d2b9f39d87508e0f85b1167?attestation_id=d7a7562d-cb07-4f68-837f-66f0ad70). + 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). diff --git a/client_reference/kosli_begin_trail.md b/client_reference/kosli_begin_trail.md index 192c29c..40604df 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/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3/.github/workflows/main.yml#L78), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/runner-ci/trails/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3?attestation_id=1). + In [this YAML file](https://github.com/cyber-dojo/runner/blob/85cac880cb74678426eb2ed4dbf2538995404c5c/.github/workflows/main.yml#L78), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/runner-ci/trails/85cac880cb74678426eb2ed4dbf2538995404c5c?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/89019f6d8059406e56fa499b2dec2dbf93f4d5c7?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/83357f112ef5c10b157cb84732c77965cc8ddc48?attestation_id=1). diff --git a/client_reference/kosli_create_attestation-type.md b/client_reference/kosli_create_attestation-type.md index 12a9262..5f43c1b 100644 --- a/client_reference/kosli_create_attestation-type.md +++ b/client_reference/kosli_create_attestation-type.md @@ -55,7 +55,7 @@ All rules must return `true` for the evaluation to pass and the attestation to b View an example of the `kosli create attestation-type` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/kosli-attestation-types/blob/b4596ac88e5a447cb0c8fa3aaf7a5cbf4c9b0c57/.github/workflows/main.yml#L30) + In [this YAML file](https://github.com/cyber-dojo/kosli-attestation-types/blob/e115b88d482df7563cb10ac4fe80bdc34aad1209/.github/workflows/main.yml#L50) diff --git a/client_reference/kosli_create_flow.md b/client_reference/kosli_create_flow.md index 9451adf..8944360 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/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3/.github/workflows/main.yml#L62) + In [this YAML file](https://github.com/cyber-dojo/runner/blob/85cac880cb74678426eb2ed4dbf2538995404c5c/.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 5800e4c..2639144 100644 --- a/client_reference/kosli_diff_snapshots.md +++ b/client_reference/kosli_diff_snapshots.md @@ -66,114 +66,123 @@ kosli diff snapshots aws-beta aws-prod --output=json ```json { "snappish1": { - "snapshot_id": "aws-beta#7978", + "snapshot_id": "aws-beta#8075", "artifacts": [ { - "fingerprint": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", - "most_recent_timestamp": 1785764779, - "flow": "dashboard-ci", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095", + "fingerprint": "00fe296ec6514fc1eb8918abb5b338260c8e7003d3eb0a57b8ac08a01d27d747", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:86ac11b@sha256:00fe296ec6514fc1eb8918abb5b338260c8e7003d3eb0a57b8ac08a01d27d747", + "most_recent_timestamp": 1786437915, + "flow": "languages-start-points-ci", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/86ac11b8ec4938b27dbf0cd5a481435d4f7c89c9", "instance_count": 1 }, { - "fingerprint": "2cfdbea64e0451b0de2213eca4abe14adce61b1cd6003e99aa8c5e6148528c94", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:a1d4103@sha256:2cfdbea64e0451b0de2213eca4abe14adce61b1cd6003e99aa8c5e6148528c94", - "most_recent_timestamp": 1785654145, + "fingerprint": "0f760ded7dc5144ede96da884c408f9b50bd2a239aa51137adb6c8a8d7bc7f36", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:6f922fe@sha256:0f760ded7dc5144ede96da884c408f9b50bd2a239aa51137adb6c8a8d7bc7f36", + "most_recent_timestamp": 1786438033, + "flow": "nginx-ci", + "commit_url": "https://github.com/cyber-dojo/nginx/commit/6f922fefbf719bad93fe4ea6f3b232d8cf3ed36d", + "instance_count": 1 + }, + { + "fingerprint": "31d2fe8b39715c5f5d7911c2bf11debed373bf23ba4e0543cccc9b91f1c3fd1e", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:1226370@sha256:31d2fe8b39715c5f5d7911c2bf11debed373bf23ba4e0543cccc9b91f1c3fd1e", + "most_recent_timestamp": 1786439206, "flow": "web-ci", - "commit_url": "https://github.com/cyber-dojo/web/commit/a1d410386c7fdc15ef48a626d6f59dded1cf1964", + "commit_url": "https://github.com/cyber-dojo/web/commit/1226370a2f6b636e7e255bebe1d026dd894887d0", "instance_count": 3 }, { - "fingerprint": "8771b2dbc5cc61aad59602e6c1b67e56496f9b6883a6bd0b3c6b85bc0dbfa052", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fda4677@sha256:8771b2dbc5cc61aad59602e6c1b67e56496f9b6883a6bd0b3c6b85bc0dbfa052", - "most_recent_timestamp": 1785754253, - "flow": "nginx-ci", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/fda467737fbb8ca1c6cb3639ebabe853fc3d74da", - "instance_count": 1 + "fingerprint": "45919ac3395a18573e5ca203e750ff2e5f0fb6239d6dd5a052075b3efb7ad7ef", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:9b0d9fc@sha256:45919ac3395a18573e5ca203e750ff2e5f0fb6239d6dd5a052075b3efb7ad7ef", + "most_recent_timestamp": 1786438417, + "flow": "runner-ci", + "commit_url": "https://github.com/cyber-dojo/runner/commit/9b0d9fc145d30c63dc9f9648c892a52d6e96d602", + "instance_count": 3 }, { - "fingerprint": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", - "most_recent_timestamp": 1785764812, - "flow": "creator-ci", - "commit_url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48", + "fingerprint": "627562d3198ac9a5d782da3db07725d48500788c2c6d86c33a5f5e77c7ec148a", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:074353d@sha256:627562d3198ac9a5d782da3db07725d48500788c2c6d86c33a5f5e77c7ec148a", + "most_recent_timestamp": 1786437210, + "flow": "exercises-start-points-ci", + "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/074353df2a7ea1ea386a78d16300ebac1dbe94fd", "instance_count": 1 }, { - "fingerprint": "bc1a1b5ffc66fee2004451dccdc0c2ad1ab566f665d93c63287e02ee88c3805e", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:061da97@sha256:bc1a1b5ffc66fee2004451dccdc0c2ad1ab566f665d93c63287e02ee88c3805e", - "most_recent_timestamp": 1785757608, - "flow": "languages-start-points-ci", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/061da97f094e86f4a3ecbd17d0c3a7925256dd0f", - "instance_count": 1 - } - ] - }, - "snappish2": { - "snapshot_id": "aws-prod#5177", - "artifacts": [ - { - "fingerprint": "8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:da7bace@sha256:8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "most_recent_timestamp": 1785755094, + "fingerprint": "94e3568d1b87a42b836bafdf9f1a197e46f72b6a880477a19068c0d75b978e37", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0e7e5c9@sha256:94e3568d1b87a42b836bafdf9f1a197e46f72b6a880477a19068c0d75b978e37", + "most_recent_timestamp": 1786438497, "flow": "dashboard-ci", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/da7bacefac23b0983d2b9f39d87508e0f85b1167", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/0e7e5c906b238c47901420b1fc471bbfb7dd8d32", "instance_count": 1 }, { - "fingerprint": "aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:89019f6@sha256:aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "most_recent_timestamp": 1785681913, + "fingerprint": "a430dad3077449b1726c4c733d01e03c3e545c7db10b8c4e8b6f619aa823b949", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:60b9a56@sha256:a430dad3077449b1726c4c733d01e03c3e545c7db10b8c4e8b6f619aa823b949", + "most_recent_timestamp": 1786438485, "flow": "creator-ci", - "commit_url": "https://github.com/cyber-dojo/creator/commit/89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "commit_url": "https://github.com/cyber-dojo/creator/commit/60b9a5602ea946503b421ab54bde8006b8499780", "instance_count": 1 }, { - "fingerprint": "af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:2779354@sha256:af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "most_recent_timestamp": 1785243412, - "flow": "web-ci", - "commit_url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1", - "instance_count": 3 + "fingerprint": "b59c2c9c63a3596a8edfa2e99defcddec0aa03bb7a0c2a4842ba2972a3bfb3f3", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:9b0aede@sha256:b59c2c9c63a3596a8edfa2e99defcddec0aa03bb7a0c2a4842ba2972a3bfb3f3", + "most_recent_timestamp": 1786438381, + "flow": "saver-ci", + "commit_url": "https://github.com/cyber-dojo/saver/commit/9b0aedec956238c8bb8bee21a881b378041056b4", + "instance_count": 1 }, { - "fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "most_recent_timestamp": 1785241263, - "flow": "languages-start-points-ci", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "fingerprint": "c1f2c03cea7a8b0f7f9c126881fbb1f9dd22120c77cf66981e9985ef3ce73f31", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:a88b337@sha256:c1f2c03cea7a8b0f7f9c126881fbb1f9dd22120c77cf66981e9985ef3ce73f31", + "most_recent_timestamp": 1786632554, + "flow": "differ-ci", + "commit_url": "https://github.com/cyber-dojo/differ/commit/a88b337310cef9b1ee259d18db3d43fed5dd9e03", "instance_count": 1 }, { - "fingerprint": "d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:c221bb1@sha256:d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", - "most_recent_timestamp": 1785744284, - "flow": "nginx-ci", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/c221bb1cdea95e14bc2df052e894756a9d96c378", + "fingerprint": "cb082e897305969d260656d0072538eb16f4db0b2e619a831f94bd36a432287a", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:ec2a405@sha256:cb082e897305969d260656d0072538eb16f4db0b2e619a831f94bd36a432287a", + "most_recent_timestamp": 1786437703, + "flow": "custom-start-points-ci", + "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/ec2a40576cbde05e9330bf03de403c3c04a63704", "instance_count": 1 } ] }, - "changed": { - "artifacts": [] - }, - "not-changed": { + "snappish2": { + "snapshot_id": "aws-prod#5234", "artifacts": [ { - "fingerprint": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "most_recent_timestamp": 1785310509, - "flow": "spooler-ci", - "commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", + "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": "8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:48bb369@sha256:8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", - "most_recent_timestamp": 1785831945, - "flow": "runner-ci", - "commit_url": "https://github.com/cyber-dojo/runner/commit/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", + "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": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "most_recent_timestamp": 1786425419, + "flow": "web-ci", + "commit_url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33", "instance_count": 3 }, { @@ -185,11 +194,27 @@ kosli diff snapshots aws-beta aws-prod --output=json "instance_count": 1 }, { - "fingerprint": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "most_recent_timestamp": 1785559130, - "flow": "saver-ci", - "commit_url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "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 }, { @@ -201,11 +226,26 @@ kosli diff snapshots aws-beta aws-prod --output=json "instance_count": 1 }, { - "fingerprint": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "most_recent_timestamp": 1785559134, - "flow": "differ-ci", - "commit_url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34", + "fingerprint": "f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:85cac88@sha256:f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "most_recent_timestamp": 1786425514, + "flow": "runner-ci", + "commit_url": "https://github.com/cyber-dojo/runner/commit/85cac880cb74678426eb2ed4dbf2538995404c5c", + "instance_count": 3 + } + ] + }, + "changed": { + "artifacts": [] + }, + "not-changed": { + "artifacts": [ + { + "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 } ] diff --git a/client_reference/kosli_evaluate_input.md b/client_reference/kosli_evaluate_input.md index 2329b95..9d30b5c 100644 --- a/client_reference/kosli_evaluate_input.md +++ b/client_reference/kosli_evaluate_input.md @@ -64,7 +64,7 @@ This accepts inline JSON or a file reference (`@file.json`). View an example of the `kosli evaluate input` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/c0666c020044ac5b5181999ec153db1e7f6cd303/tests/test_rego_rules.sh#L272) + In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/10203d5d23f93844726f204390cf3d5ca8d5c913/tests/test_rego_rules.sh#L272) diff --git a/client_reference/kosli_evaluate_trail.md b/client_reference/kosli_evaluate_trail.md index b552af8..74a4cfa 100644 --- a/client_reference/kosli_evaluate_trail.md +++ b/client_reference/kosli_evaluate_trail.md @@ -55,7 +55,7 @@ full data structure available to the policy. Use `--output json` for structured View an example of the `kosli evaluate trail` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/c0666c020044ac5b5181999ec153db1e7f6cd303/.github/workflows/artifact_snyk_test.yml#L323) + In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/10203d5d23f93844726f204390cf3d5ca8d5c913/.github/workflows/artifact_snyk_test.yml#L329) diff --git a/client_reference/kosli_fingerprint.md b/client_reference/kosli_fingerprint.md index cc5bfd5..8faa3f5 100644 --- a/client_reference/kosli_fingerprint.md +++ b/client_reference/kosli_fingerprint.md @@ -79,7 +79,7 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, View an example of the `kosli fingerprint` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/c0666c020044ac5b5181999ec153db1e7f6cd303/.github/workflows/artifact_snyk_test.yml#L152) + In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/10203d5d23f93844726f204390cf3d5ca8d5c913/.github/workflows/artifact_snyk_test.yml#L152) diff --git a/client_reference/kosli_get_environment.md b/client_reference/kosli_get_environment.md index 04aea3f..149d5e5 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": 1785857998.5548897, - "last_reported_at": 1785857998.5548897, - "last_changed_at": 1785832018.4991596, + "last_modified_at": 1786720018.4959269, + "last_reported_at": 1786720018.4959269, + "last_changed_at": 1786679818.4046729, "state": true, "include_scaling": false, "tags": { diff --git a/client_reference/kosli_get_snapshot.md b/client_reference/kosli_get_snapshot.md index 21d2235..97bf7f9 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": 5177, + "index": 5234, "is_latest": true, "next_snapshot_timestamp": null, "artifact_compliance_count": { @@ -72,13 +72,13 @@ kosli get snapshot aws-prod --output=json "false": 0, "null": 0 }, - "timestamp": 1785832018.4991596, + "timestamp": 1786679818.4046729, "type": "ECS", "compliant": true, - "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5177", + "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5234", "artifacts": [ { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:48bb369@sha256:8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:85cac88@sha256:f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "compliant": true, "deployments": [], "policy_decisions": [ @@ -101,584 +101,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null, - "for_control": "SDLC-CTRL-0002" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null, - "for_control": "SDLC-CTRL-0022" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "artifact_status": null - } - } - ] - }, - { - "rule": { - "type": "trail-compliance", - "definition": { - "required": false, - "exceptions": [] - } - }, - "satisfied": null, - "ignored": true, - "resolutions": [ - { - "type": "rule_not_applicable", - "context": { - "flow_name": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "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": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "artifact_status": "COMPLIANT" - } - } - ] - } - ], - "policy_name": "trail-compliance-aws-prod" - } - ], - "reasons_for_incompliance": [], - "fingerprint": "8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", - "creationTimestamp": [ - 1785831942, - 1785831943, - 1785831945 - ], - "pods": null, - "annotation": { - "type": "unchanged", - "was": 3, - "now": 3 - }, - "flow_name": "runner-ci", - "git_commit": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "commit_url": "https://github.com/cyber-dojo/runner/commit/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392?artifact_id=21473a84-3307-44f6-9fbe-fe200ddb", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/19f873464a01f28ecd588504ffe03529119d6297...48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "previous_git_commit": "19f873464a01f28ecd588504ffe03529119d6297", - "previous_fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", - "previous_trail_name": "19f873464a01f28ecd588504ffe03529119d6297", - "previous_template_reference_name": "runner" - }, - "commit_lead_time": 1250.0, - "flows": [ - { - "flow_name": "runner-ci", - "trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "template_reference_name": "runner", - "git_commit": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "commit_url": "https://github.com/cyber-dojo/runner/commit/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "git_commit_info": { - "sha1": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "message": "Merge pull request #276 from cyber-dojo/ignore-sigstore-go-pkg-verify-vuln-18508018\n\nIgnore non-exploitable sigstore-go expired-key vuln 18508018", - "author": "Jon Jagger ", - "branch": "", - "timestamp": 1785830692.0, - "url": "https://github.com/cyber-dojo/runner/commit/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392?artifact_id=21473a84-3307-44f6-9fbe-fe200ddb", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/19f873464a01f28ecd588504ffe03529119d6297...48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", - "previous_git_commit": "19f873464a01f28ecd588504ffe03529119d6297", - "previous_fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", - "previous_trail_name": "19f873464a01f28ecd588504ffe03529119d6297", - "previous_template_reference_name": "runner" - }, - "commit_lead_time": 1250.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "production-promotion", - "trail_name": "promotion-one-154", - "template_reference_name": "runner", - "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/8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392?artifact_id=3289e6b7-69b9-421e-bc5c-b80beb60", - "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/76325d840dc66e1c84743725e17de05a16616419...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "previous_fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", - "previous_trail_name": "promotion-one-137", - "previous_template_reference_name": "runner" - }, - "commit_lead_time": 514948.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - } - ], - "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/692753f7d523432eb54d98204385e34a", - "cluster_name": null, - "service_name": null - } - }, - { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:da7bace@sha256:8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "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": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null } }, @@ -686,7 +109,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } }, @@ -694,7 +117,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -702,7 +125,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } } @@ -722,8 +145,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": "COMPLIANT" } }, @@ -731,7 +154,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } }, @@ -739,7 +162,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -747,7 +170,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } } @@ -772,8 +195,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null } }, @@ -781,7 +204,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } }, @@ -789,7 +212,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -797,7 +220,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } } @@ -824,8 +247,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null } }, @@ -833,7 +256,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } }, @@ -841,7 +264,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -849,7 +272,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } } @@ -869,8 +292,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": "COMPLIANT" } }, @@ -878,7 +301,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } }, @@ -886,7 +309,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -894,7 +317,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } } @@ -919,8 +342,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -929,7 +352,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -938,7 +361,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -947,7 +370,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -975,8 +398,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null } }, @@ -984,7 +407,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } }, @@ -992,7 +415,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -1000,7 +423,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } } @@ -1020,8 +443,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": "COMPLIANT" } }, @@ -1029,7 +452,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } }, @@ -1037,7 +460,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -1045,7 +468,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } } @@ -1070,8 +493,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1080,7 +503,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1089,7 +512,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1098,7 +521,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1126,8 +549,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null } }, @@ -1135,7 +558,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } }, @@ -1143,7 +566,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -1151,7 +574,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } } @@ -1171,8 +594,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": "COMPLIANT" } }, @@ -1180,7 +603,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } }, @@ -1188,7 +611,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -1196,7 +619,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } } @@ -1221,8 +644,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null } }, @@ -1230,7 +653,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } }, @@ -1238,7 +661,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -1246,7 +669,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } } @@ -1273,8 +696,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": null } }, @@ -1282,7 +705,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } }, @@ -1290,7 +713,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -1298,7 +721,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": null } } @@ -1324,8 +747,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", "artifact_status": "COMPLIANT" } }, @@ -1333,7 +756,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } }, @@ -1341,7 +764,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -1349,7 +772,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "artifact_status": "COMPLIANT" } } @@ -1360,69 +783,71 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "fingerprint": "f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", "creationTimestamp": [ - 1785755094 + 1786425437, + 1786425461, + 1786425514 ], "pods": null, "annotation": { - "type": "unchanged", - "was": 1, - "now": 1 + "type": "updated-provenance", + "was": 3, + "now": 3 }, - "flow_name": "dashboard-ci", - "git_commit": "da7bacefac23b0983d2b9f39d87508e0f85b1167", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/da7bacefac23b0983d2b9f39d87508e0f85b1167", - "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6?artifact_id=04894b11-8736-4651-9824-7e882b54", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "flow_name": "runner-ci", + "git_commit": "85cac880cb74678426eb2ed4dbf2538995404c5c", + "commit_url": "https://github.com/cyber-dojo/runner/commit/85cac880cb74678426eb2ed4dbf2538995404c5c", + "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096?artifact_id=d4d2a067-63c8-4403-a6f5-554e6fef", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/dashboard/compare/0e39ff79ccab8804f4bfdff993b5df786bf47426...da7bacefac23b0983d2b9f39d87508e0f85b1167", - "previous_git_commit": "0e39ff79ccab8804f4bfdff993b5df786bf47426", - "previous_fingerprint": "778f16c37db1079972a0d51fb97d4cd468a2f838a1e75b40bd51ca5f8d44a54c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0e39ff7@sha256:778f16c37db1079972a0d51fb97d4cd468a2f838a1e75b40bd51ca5f8d44a54c", + "diff_url": "https://github.com/cyber-dojo/runner/compare/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3...85cac880cb74678426eb2ed4dbf2538995404c5c", + "previous_git_commit": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", + "previous_fingerprint": "8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:48bb369@sha256:8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/0e39ff79ccab8804f4bfdff993b5df786bf47426", - "previous_trail_name": "0e39ff79ccab8804f4bfdff993b5df786bf47426", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", + "previous_trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 86983.0, + "commit_lead_time": 171942.0, "flows": [ { - "flow_name": "dashboard-ci", - "trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", - "template_reference_name": "dashboard", - "git_commit": "da7bacefac23b0983d2b9f39d87508e0f85b1167", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/da7bacefac23b0983d2b9f39d87508e0f85b1167", + "flow_name": "runner-ci", + "trail_name": "85cac880cb74678426eb2ed4dbf2538995404c5c", + "template_reference_name": "runner", + "git_commit": "85cac880cb74678426eb2ed4dbf2538995404c5c", + "commit_url": "https://github.com/cyber-dojo/runner/commit/85cac880cb74678426eb2ed4dbf2538995404c5c", "git_commit_info": { - "sha1": "da7bacefac23b0983d2b9f39d87508e0f85b1167", - "message": "Build URLs from the mount point instead of writing /dashboard (#427)\n\nSeven places spelled the prefix into URLs the app emits - a redirect target,\n two asset links and four fetch calls - because the app had no way to know\n where it was mounted. It does now: rack sets SCRIPT_NAME, so path_to()\n prepends it for ruby and cd.mountPath carries it to the JavaScript.\n\n App.mounted is the one place that knows the prefix, and config.ru and the\n test base both call it. That closes a gap that had the tests driving the app\n at the root while production served it under /dashboard, so URL assertions\n had to encode whichever shape the harness happened to produce.\n\n The four fetch calls also shared a duplicated headers literal, now\n cd.lib.jsonHeaders.", + "sha1": "85cac880cb74678426eb2ed4dbf2538995404c5c", + "message": "Merge pull request #277 from cyber-dojo/fix-exit-non-zero\n\nMake exit_non_zero actually exit", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785668111.0, - "url": "https://github.com/cyber-dojo/dashboard/commit/da7bacefac23b0983d2b9f39d87508e0f85b1167" + "timestamp": 1786253495.0, + "url": "https://github.com/cyber-dojo/runner/commit/85cac880cb74678426eb2ed4dbf2538995404c5c" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6?artifact_id=04894b11-8736-4651-9824-7e882b54", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096?artifact_id=d4d2a067-63c8-4403-a6f5-554e6fef", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/dashboard/compare/0e39ff79ccab8804f4bfdff993b5df786bf47426...da7bacefac23b0983d2b9f39d87508e0f85b1167", - "previous_git_commit": "0e39ff79ccab8804f4bfdff993b5df786bf47426", - "previous_fingerprint": "778f16c37db1079972a0d51fb97d4cd468a2f838a1e75b40bd51ca5f8d44a54c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0e39ff7@sha256:778f16c37db1079972a0d51fb97d4cd468a2f838a1e75b40bd51ca5f8d44a54c", + "diff_url": "https://github.com/cyber-dojo/runner/compare/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3...85cac880cb74678426eb2ed4dbf2538995404c5c", + "previous_git_commit": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", + "previous_fingerprint": "8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:48bb369@sha256:8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/0e39ff79ccab8804f4bfdff993b5df786bf47426", - "previous_trail_name": "0e39ff79ccab8804f4bfdff993b5df786bf47426", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", + "previous_trail_name": "48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 86983.0, + "commit_lead_time": 171942.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "template_reference_name": "dashboard", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "template_reference_name": "runner", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -1433,27 +858,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6?artifact_id=71cbe6e6-7819-4d3b-a3ba-773139b6", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096?artifact_id=00b52efb-82ba-4573-b73e-1a4387c5", "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": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "previous_fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "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-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", - "previous_template_reference_name": "dashboard" + "previous_trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 438143.0, + "commit_lead_time": 1108486.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-153", - "template_reference_name": "dashboard", + "trail_name": "promote-all-33", + "template_reference_name": "runner", "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { @@ -1464,63 +889,63 @@ 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/8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6?artifact_id=d16ab1fc-fcc7-4e29-8ef9-5e01760e", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096?artifact_id=9a0fba00-e298-410d-aeea-99249451", "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": "778f16c37db1079972a0d51fb97d4cd468a2f838a1e75b40bd51ca5f8d44a54c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0e39ff7@sha256:778f16c37db1079972a0d51fb97d4cd468a2f838a1e75b40bd51ca5f8d44a54c", + "previous_fingerprint": "8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:48bb369@sha256:8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", "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-149", - "previous_template_reference_name": "dashboard" + "previous_trail_name": "promotion-one-154", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 438100.0, + "commit_lead_time": 1108443.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "template_reference_name": "dashboard", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "runner-f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "template_reference_name": "runner", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6?artifact_id=96b440e9-6ecd-401c-a93a-866a0c15", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096?artifact_id=998845fb-cf84-49a9-af77-e857b8e2", "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...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...10203d5d23f93844726f204390cf3d5ca8d5c913", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:87f560f@sha256:45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", + "previous_fingerprint": "414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:9cc2a80@sha256:414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", "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": "runner-414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 438143.0, + "commit_lead_time": -176956.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/4fdad7d44d2e41ce9c96957d2baeeba9", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/e13cf5bfd5a04a88afd3b2d02a1a3eaa", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:c221bb1@sha256:d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "compliant": true, "deployments": [], "policy_decisions": [ @@ -1542,8 +967,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null } }, @@ -1551,7 +976,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } }, @@ -1559,7 +992,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } } @@ -1579,8 +1012,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": "COMPLIANT" } }, @@ -1588,7 +1021,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } }, @@ -1596,7 +1037,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } } @@ -1615,14 +1056,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": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null } }, @@ -1630,7 +1071,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } }, @@ -1638,7 +1087,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } } @@ -1665,8 +1114,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null } }, @@ -1674,7 +1123,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } }, @@ -1682,7 +1139,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } } @@ -1702,8 +1159,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": "COMPLIANT" } }, @@ -1711,7 +1168,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } }, @@ -1719,7 +1184,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } } @@ -1738,14 +1203,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": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1754,7 +1219,16 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1763,7 +1237,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1791,8 +1265,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null } }, @@ -1800,7 +1274,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } }, @@ -1808,7 +1290,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } } @@ -1828,8 +1310,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": "COMPLIANT" } }, @@ -1837,7 +1319,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } }, @@ -1845,7 +1335,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } } @@ -1870,8 +1360,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1880,7 +1370,16 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1889,7 +1388,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1917,8 +1416,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null } }, @@ -1926,7 +1425,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } }, @@ -1934,7 +1441,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } } @@ -1954,8 +1461,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": "COMPLIANT" } }, @@ -1963,7 +1470,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } }, @@ -1971,7 +1486,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } } @@ -1996,8 +1511,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null } }, @@ -2005,7 +1520,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } }, @@ -2013,7 +1536,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } } @@ -2040,8 +1563,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": null } }, @@ -2049,7 +1572,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } }, @@ -2057,7 +1588,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": null } } @@ -2083,8 +1614,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "artifact_status": "COMPLIANT" } }, @@ -2092,7 +1623,15 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", + "trail_name": "promote-all-33", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } }, @@ -2100,7 +1639,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "trail_name": "spooler-ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "artifact_status": "COMPLIANT" } } @@ -2111,9 +1650,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "fingerprint": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "creationTimestamp": [ - 1785744284 + 1786425512 ], "pods": null, "annotation": { @@ -2121,59 +1660,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "nginx-ci", - "git_commit": "c221bb1cdea95e14bc2df052e894756a9d96c378", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/c221bb1cdea95e14bc2df052e894756a9d96c378", - "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355?artifact_id=071c9aea-36bf-4284-9394-80b05793", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/nginx/compare/bc3fd56aa1076613dc6631f817fb336424824506...c221bb1cdea95e14bc2df052e894756a9d96c378", - "previous_git_commit": "bc3fd56aa1076613dc6631f817fb336424824506", - "previous_fingerprint": "55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:bc3fd56@sha256:55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/bc3fd56aa1076613dc6631f817fb336424824506", - "previous_trail_name": "bc3fd56aa1076613dc6631f817fb336424824506", - "previous_template_reference_name": "nginx" + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", + "previous_trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 7763.0, + "commit_lead_time": 171872.0, "flows": [ { - "flow_name": "nginx-ci", - "trail_name": "c221bb1cdea95e14bc2df052e894756a9d96c378", - "template_reference_name": "nginx", - "git_commit": "c221bb1cdea95e14bc2df052e894756a9d96c378", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/c221bb1cdea95e14bc2df052e894756a9d96c378", + "flow_name": "spooler-ci", + "trail_name": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "template_reference_name": "spooler", + "git_commit": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "git_commit_info": { - "sha1": "c221bb1cdea95e14bc2df052e894756a9d96c378", - "message": "Merge pull request #163 from cyber-dojo/rate-limits-configurable-by-env\n\nLet a test run turn a rate limit up without leaving this image", + "sha1": "dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", + "message": "Merge pull request #14 from cyber-dojo/fix-exit-non-zero\n\nMake exit_non_zero actually exit", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785736521.0, - "url": "https://github.com/cyber-dojo/nginx/commit/c221bb1cdea95e14bc2df052e894756a9d96c378" + "timestamp": 1786253640.0, + "url": "https://github.com/cyber-dojo/spooler/commit/dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355?artifact_id=071c9aea-36bf-4284-9394-80b05793", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/nginx/compare/bc3fd56aa1076613dc6631f817fb336424824506...c221bb1cdea95e14bc2df052e894756a9d96c378", - "previous_git_commit": "bc3fd56aa1076613dc6631f817fb336424824506", - "previous_fingerprint": "55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:bc3fd56@sha256:55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/bc3fd56aa1076613dc6631f817fb336424824506", - "previous_trail_name": "bc3fd56aa1076613dc6631f817fb336424824506", - "previous_template_reference_name": "nginx" + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", + "previous_trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 7763.0, + "commit_lead_time": 171872.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-152", - "template_reference_name": "nginx", + "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", "git_commit_info": { @@ -2184,63 +1723,74 @@ 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/d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355?artifact_id=42308372-38b1-4d1c-afa4-f1c848a3", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:bc3fd56@sha256:55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", + "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", "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-151", - "previous_template_reference_name": "nginx" + "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" }, - "commit_lead_time": 427290.0, + "commit_lead_time": 1108518.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", - "template_reference_name": "nginx", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "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", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355?artifact_id=be88b797-2a2c-4785-8e48-ea834df7", - "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...c0666c020044ac5b5181999ec153db1e7f6cd303", - "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" + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0?artifact_id=44c4d8d3-ea7a-4bcb-8bdb-e0a542b1", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", + "deployment_diff": null, + "commit_lead_time": -176881.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", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", + "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.", + "author": "JonJagger ", + "branch": "main", + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "commit_lead_time": 427333.0, + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0?artifact_id=f32dc033-10c6-4755-b76a-34327cc3", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", + "deployment_diff": null, + "commit_lead_time": -176881.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d6b0e6a626cb48009981aa152c8b4562", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d965b62fd5c64cd98456881feb1352c7", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:89019f6@sha256:aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "compliant": true, "deployments": [], "policy_decisions": [ @@ -2262,24 +1812,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -2287,7 +1837,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } } @@ -2307,24 +1857,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -2332,7 +1882,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } } @@ -2357,24 +1907,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -2382,7 +1932,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } } @@ -2409,24 +1959,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -2434,7 +1984,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } } @@ -2454,24 +2004,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -2479,7 +2029,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } } @@ -2504,8 +2054,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2513,8 +2063,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2522,8 +2072,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2532,7 +2082,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2560,24 +2110,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -2585,7 +2135,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } } @@ -2605,24 +2155,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -2630,7 +2180,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } } @@ -2655,8 +2205,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2664,8 +2214,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2673,8 +2223,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2683,7 +2233,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2711,24 +2261,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -2736,7 +2286,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } } @@ -2756,24 +2306,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -2781,7 +2331,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } } @@ -2806,24 +2356,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -2831,7 +2381,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } } @@ -2858,24 +2408,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -2883,7 +2433,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": null } } @@ -2909,24 +2459,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -2934,7 +2484,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "artifact_status": "COMPLIANT" } } @@ -2945,167 +2495,169 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "fingerprint": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "creationTimestamp": [ - 1785681913 + 1786425419, + 1786425419, + 1786425419 ], "pods": null, "annotation": { "type": "unchanged", - "was": 1, - "now": 1 + "was": 3, + "now": 3 }, - "flow_name": "creator-ci", - "git_commit": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "commit_url": "https://github.com/cyber-dojo/creator/commit/89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34?artifact_id=e6a23489-6ea9-44f6-b4de-577edc06", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/creator/compare/07ed087071878b405ac1cf7fe77e5d8c70ce3a4b...89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "previous_git_commit": "07ed087071878b405ac1cf7fe77e5d8c70ce3a4b", - "previous_fingerprint": "26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:07ed087@sha256:26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/07ed087071878b405ac1cf7fe77e5d8c70ce3a4b", - "previous_trail_name": "07ed087071878b405ac1cf7fe77e5d8c70ce3a4b", - "previous_template_reference_name": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", + "previous_trail_name": "0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", + "previous_template_reference_name": "web" }, - "commit_lead_time": 12924.0, + "commit_lead_time": 58766.0, "flows": [ { - "flow_name": "creator-ci", - "trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "template_reference_name": "creator", - "git_commit": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "commit_url": "https://github.com/cyber-dojo/creator/commit/89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "flow_name": "web-ci", + "trail_name": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "template_reference_name": "web", + "git_commit": "5e4b9873df93525c041c386c06e0ab8fc36b6f33", + "commit_url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33", "git_commit_info": { - "sha1": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "message": "Serve /creator/... in the app, not just after nginx strips it (#48)\n\nnginx rewrites /creator/... down to /... before proxying, so the app has never\n seen its own prefix. That is why roughly twenty places - a redirect, the asset\n links in layout.erb, and the JS in eight views - spell /creator into the URLs\n they emit.\n\n config.ru now mounts the app at both / and /creator. Nothing changes in\n production: the rewrite still lands requests on the / mount. Deleting the\n rewrite, in the real nginx and in nginx_stub, makes the /creator mount serve\n them; the / mount goes last, so nginx and the app never release together.\n\n The new test is the only one that loads config.ru - the rest of the suite\n drives App directly, so nothing else would notice a mount going missing.", + "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.", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785668989.0, - "url": "https://github.com/cyber-dojo/creator/commit/89019f6d8059406e56fa499b2dec2dbf93f4d5c7" + "timestamp": 1786366653.0, + "url": "https://github.com/cyber-dojo/web/commit/5e4b9873df93525c041c386c06e0ab8fc36b6f33" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34?artifact_id=e6a23489-6ea9-44f6-b4de-577edc06", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/creator/compare/07ed087071878b405ac1cf7fe77e5d8c70ce3a4b...89019f6d8059406e56fa499b2dec2dbf93f4d5c7", - "previous_git_commit": "07ed087071878b405ac1cf7fe77e5d8c70ce3a4b", - "previous_fingerprint": "26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:07ed087@sha256:26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/07ed087071878b405ac1cf7fe77e5d8c70ce3a4b", - "previous_trail_name": "07ed087071878b405ac1cf7fe77e5d8c70ce3a4b", - "previous_template_reference_name": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", + "previous_trail_name": "0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e", + "previous_template_reference_name": "web" }, - "commit_lead_time": 12924.0, + "commit_lead_time": 58766.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "production-promotion", - "trail_name": "promotion-one-150", - "template_reference_name": "creator", - "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": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "template_reference_name": "web", + "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { - "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", "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" + "timestamp": 1785316951.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34?artifact_id=13699012-56b9-4bf4-a484-7cf92f71", - "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/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=da135937-1562-4662-b672-53688f17", + "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/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", - "previous_fingerprint": "26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:07ed087@sha256:26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", + "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", "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": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "previous_template_reference_name": "web" }, - "commit_lead_time": 364919.0, + "commit_lead_time": 1108468.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "template_reference_name": "creator", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", + "template_reference_name": "web", + "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/aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34?artifact_id=8613d5d9-8518-43f0-ba81-eae5aa75", - "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/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=5254e39c-72c5-4946-86ed-08f7b11a", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:07ed087@sha256:26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", + "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_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_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" }, - "commit_lead_time": 364962.0, + "commit_lead_time": 1108425.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "template_reference_name": "creator", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "web-6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "template_reference_name": "web", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34?artifact_id=c0f25582-0724-45c7-af32-9e7d888d", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd?artifact_id=2303006b-bbe0-4f05-9f2e-a294698a", "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...c0666c020044ac5b5181999ec153db1e7f6cd303", - "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...10203d5d23f93844726f204390cf3d5ca8d5c913", + "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", + "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/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": "web-29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "previous_template_reference_name": "web" }, - "commit_lead_time": 364962.0, + "commit_lead_time": -176974.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/dec03f30b98f4ecc8d490fa0b85bf421", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/1af4cc2636fa44c3867fc792d9285670", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "compliant": true, "deployments": [], "policy_decisions": [ @@ -3127,24 +2679,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -3152,7 +2704,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } } @@ -3172,24 +2724,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -3197,7 +2749,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } } @@ -3222,24 +2774,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -3247,7 +2799,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } } @@ -3274,24 +2826,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -3299,7 +2851,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } } @@ -3319,24 +2871,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -3344,7 +2896,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } } @@ -3369,8 +2921,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3378,8 +2930,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3387,8 +2939,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3397,7 +2949,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3425,24 +2977,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -3450,7 +3002,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } } @@ -3470,24 +3022,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -3495,7 +3047,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } } @@ -3520,8 +3072,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3529,8 +3081,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3538,8 +3090,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3548,7 +3100,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3576,24 +3128,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -3601,7 +3153,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } } @@ -3621,24 +3173,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -3646,7 +3198,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } } @@ -3671,24 +3223,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -3696,7 +3248,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } } @@ -3723,24 +3275,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -3748,7 +3300,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": null } } @@ -3774,24 +3326,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -3799,7 +3351,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "artifact_status": "COMPLIANT" } } @@ -3810,9 +3362,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "fingerprint": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", "creationTimestamp": [ - 1785559134 + 1786425173 ], "pods": null, "annotation": { @@ -3820,157 +3372,157 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "differ-ci", - "git_commit": "10e162d4e1294815375a31121f14d57e13183b34", - "commit_url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34", - "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4?artifact_id=7e8c883e-f5ed-4df1-81d0-6b2959ee", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/differ/compare/1b7ea87a174a1a290600b469dc1029ec4c974320...10e162d4e1294815375a31121f14d57e13183b34", - "previous_git_commit": "1b7ea87a174a1a290600b469dc1029ec4c974320", - "previous_fingerprint": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320", - "previous_trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", - "previous_template_reference_name": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "previous_trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 137546.0, + "commit_lead_time": 660751.0, "flows": [ { - "flow_name": "differ-ci", - "trail_name": "10e162d4e1294815375a31121f14d57e13183b34", - "template_reference_name": "differ", - "git_commit": "10e162d4e1294815375a31121f14d57e13183b34", - "commit_url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34", + "flow_name": "creator-ci", + "trail_name": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "template_reference_name": "creator", + "git_commit": "83357f112ef5c10b157cb84732c77965cc8ddc48", + "commit_url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48", "git_commit_info": { - "sha1": "10e162d4e1294815375a31121f14d57e13183b34", - "message": "Remove dead differ-state-reporter stack and its workflow (#442)\n\nThe nested environment-reporter stack deployed a lambda, differ-state-reporter,\nintended to report differ's Terraform state file to a Kosli environment named\nterraform-state-differ- every minute. It had been broken since ~2025-04:\nevery invocation crashed at init with Runtime.InvalidEntrypoint, so it never\nreported anything, and its target Kosli environments were never created. It was\nsuperseded by the consolidated terraform-statefile-paths-reporter, which covers\nevery service at once.\n\nThe live AWS resources have now been destroyed by hand in both accounts (beta\n244531986313 and prod 274425519734), 16 resources each, so removing the\nconfiguration no longer risks orphaning them. Delete the directory and the\nworkflow together: the workflow triggers on pushes under the stack's path with\ntf_apply set, so removing the directory alone would fire a run against a\nworking_directory that no longer exists.\n\nCo-authored-by: Claude Opus 5 (1M context) ", - "author": "Graham Savage ", + "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.", + "author": "Jon Jagger ", "branch": "", - "timestamp": 1785421588.0, - "url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34" + "timestamp": 1785764422.0, + "url": "https://github.com/cyber-dojo/creator/commit/83357f112ef5c10b157cb84732c77965cc8ddc48" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4?artifact_id=7e8c883e-f5ed-4df1-81d0-6b2959ee", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/differ/compare/1b7ea87a174a1a290600b469dc1029ec4c974320...10e162d4e1294815375a31121f14d57e13183b34", - "previous_git_commit": "1b7ea87a174a1a290600b469dc1029ec4c974320", - "previous_fingerprint": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320", - "previous_trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", - "previous_template_reference_name": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "previous_trail_name": "89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 137546.0, + "commit_lead_time": 660751.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", - "template_reference_name": "differ", - "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": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "template_reference_name": "creator", + "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { - "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", "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" + "timestamp": 1785316951.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4?artifact_id=a6f543ea-34ce-4226-bdf8-e75cd599", - "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/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=6feaf5cb-761e-4f05-8591-1db09ac4", + "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": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:07ed087@sha256:26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", "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": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "creator-26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 242140.0, + "commit_lead_time": 1108222.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "template_reference_name": "differ", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", + "template_reference_name": "creator", + "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/f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4?artifact_id=8d06fcb7-9ef4-4775-8591-0d64062e", - "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/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=d5412ba4-c8b6-4bf3-8a8f-05f2ed00", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_fingerprint": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "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_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "previous_template_reference_name": "differ" + "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" }, - "commit_lead_time": 242183.0, + "commit_lead_time": 1108179.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "template_reference_name": "differ", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "creator-adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "template_reference_name": "creator", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4?artifact_id=cb3e7ff6-5e46-478f-980a-b5ed92c5", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b?artifact_id=226c3cec-3298-4691-8568-c6770b95", "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...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:981dcfc@sha256:902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/7172cc22125f480a9f12127edb481a4d84aabea3...10203d5d23f93844726f204390cf3d5ca8d5c913", + "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/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "differ-902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", - "previous_template_reference_name": "differ" + "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": 242183.0, + "commit_lead_time": -177220.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/aa5bd18948f84e6fb152029e6f6b8d68", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d85a1f3513dd45c788f6341641110bfd", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "compliant": true, "deployments": [], "policy_decisions": [ @@ -3992,24 +3544,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4017,7 +3569,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } } @@ -4037,24 +3589,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -4062,7 +3614,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } } @@ -4087,24 +3639,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4112,7 +3664,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } } @@ -4139,24 +3691,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4164,7 +3716,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } } @@ -4184,24 +3736,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -4209,7 +3761,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } } @@ -4234,8 +3786,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4243,8 +3795,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4252,8 +3804,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4262,7 +3814,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4290,24 +3842,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4315,7 +3867,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } } @@ -4335,24 +3887,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -4360,7 +3912,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } } @@ -4385,8 +3937,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4394,8 +3946,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4403,8 +3955,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4413,7 +3965,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4441,24 +3993,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4466,7 +4018,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } } @@ -4486,24 +4038,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -4511,7 +4063,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } } @@ -4536,24 +4088,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4561,7 +4113,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } } @@ -4588,24 +4140,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4613,7 +4165,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": null } } @@ -4639,24 +4191,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -4664,7 +4216,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "artifact_status": "COMPLIANT" } } @@ -4675,9 +4227,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "fingerprint": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", "creationTimestamp": [ - 1785559130 + 1786425092 ], "pods": null, "annotation": { @@ -4685,157 +4237,157 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "saver-ci", - "git_commit": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "commit_url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3?artifact_id=8cfcfa9a-8b26-401b-8c06-945fff4f", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/saver/compare/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e...595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "previous_git_commit": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "previous_fingerprint": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "previous_trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "previous_template_reference_name": "saver" + "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34", + "previous_trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 166899.0, + "commit_lead_time": 162716.0, "flows": [ { - "flow_name": "saver-ci", - "trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "template_reference_name": "saver", - "git_commit": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "commit_url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "flow_name": "differ-ci", + "trail_name": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "template_reference_name": "differ", + "git_commit": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "commit_url": "https://github.com/cyber-dojo/differ/commit/108cccf9bccf9af5d455db66c250480b53cbecc7", "git_commit_info": { - "sha1": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "message": "Delete dead code (#437)\n\n* Delete dead code\n\n* Retire client-test premises the wire can no longer produce\n\n Every client now sends laptop_id and tab_seq on the kata-write POSTs and\n sends no index, so a test describing a \"stale-index write\" describes an\n input that cannot arrive. La7C03 asserted only that two ordinary writes\n append and that the second laptop_id is stamped. La7C01 already covers the\n client round-trip and La3F06 covers the two-laptop case more strictly\n (it asserts both events), so La7C03 goes rather than being reworded.\n\n La7C02 keeps its coverage but loses its reasoning: a nil laptop_id is not a\n transitional default waiting for web to catch up, it is a browser with no\n laptop_id cookie. That path is deliberate, and it is what keeps\n valid_laptop_id? a live guard rather than dead code.\n\n The laptop_id focus tests now pass laptop_id explicitly and let the helper\n supply tab_seq, so the incidental argument stops appearing in tests that\n are not about it. Deleting La7C03 orphaned the client's another_laptop_id,\n so that goes too; the server's is still used by kata_torn_read.\n\n Server-side, LAPTOP_A/B/C duplicated values test_base already exposes as\n default_laptop_id and another_laptop_id, and uppercase shouts \"important\"\n for values whose specific bytes do not matter.\n\n Co-Authored-By: Claude Opus 5 (1M context) ", - "author": "Jon Jagger ", + "sha1": "108cccf9bccf9af5d455db66c250480b53cbecc7", + "message": "Merge pull request #449 from cyber-dojo/fix-exit-non-zero", + "author": "AlexKantor87 ", "branch": "", - "timestamp": 1785392231.0, - "url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97" + "timestamp": 1786262376.0, + "url": "https://github.com/cyber-dojo/differ/commit/108cccf9bccf9af5d455db66c250480b53cbecc7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3?artifact_id=8cfcfa9a-8b26-401b-8c06-945fff4f", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/saver/compare/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e...595e902fa2f5844d9ce0612a5c9295cd8dab5b97", - "previous_git_commit": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "previous_fingerprint": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "previous_trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "previous_template_reference_name": "saver" + "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34", + "previous_trail_name": "10e162d4e1294815375a31121f14d57e13183b34", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 166899.0, + "commit_lead_time": 162716.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "production-promotion", - "trail_name": "promote-all-32", - "template_reference_name": "saver", - "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": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "template_reference_name": "differ", + "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { - "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", "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" + "timestamp": 1785316951.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3?artifact_id=f2818542-8908-44af-aa9d-4d0e6216", - "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/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=33c43d32-ff7c-4f02-8819-c03ff8e0", + "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": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", "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-141", - "previous_template_reference_name": "saver" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "differ-f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 242136.0, + "commit_lead_time": 1108141.0, "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "template_reference_name": "saver", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "production-promotion", + "trail_name": "promote-all-33", + "template_reference_name": "differ", + "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/a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3?artifact_id=ade5596e-b26a-45be-8b91-7e776528", - "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/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=a1a352b5-d5bb-4420-b064-c0b165d7", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:55561dc@sha256:b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "saver-b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", - "previous_template_reference_name": "saver" + "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" }, - "commit_lead_time": 242179.0, + "commit_lead_time": 1108098.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "template_reference_name": "saver", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "differ-31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "template_reference_name": "differ", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3?artifact_id=e7f2ccee-98d2-4f2e-835d-14a5d894", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac?artifact_id=9c406aef-cc3e-46ba-aa70-cb9a5172", "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...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...10203d5d23f93844726f204390cf3d5ca8d5c913", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:8c84fac@sha256:f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", + "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": "saver-f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", - "previous_template_reference_name": "saver" + "previous_trail_name": "differ-902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 242179.0, + "commit_lead_time": -177301.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/3c29b1e7fd044e8aad9f803d178a0dee", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/35d500a5dc23412bad3e1fe7459c66fb", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "compliant": true, "deployments": [], "policy_decisions": [ @@ -4857,24 +4409,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4882,7 +4434,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } } @@ -4902,24 +4454,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -4927,7 +4479,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } } @@ -4946,30 +4498,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": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -4977,7 +4529,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } } @@ -5004,24 +4556,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -5029,7 +4581,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } } @@ -5049,24 +4601,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -5074,7 +4626,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } } @@ -5093,14 +4645,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": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5108,8 +4660,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5117,8 +4669,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5127,7 +4679,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5155,24 +4707,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -5180,7 +4732,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } } @@ -5200,24 +4752,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -5225,7 +4777,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } } @@ -5250,8 +4802,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5259,8 +4811,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5268,8 +4820,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5278,7 +4830,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5306,24 +4858,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -5331,7 +4883,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } } @@ -5351,24 +4903,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -5376,7 +4928,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } } @@ -5401,24 +4953,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -5426,7 +4978,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } } @@ -5453,24 +5005,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -5478,7 +5030,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": null } } @@ -5504,24 +5056,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -5529,7 +5081,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "artifact_status": "COMPLIANT" } } @@ -5540,9 +5092,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "fingerprint": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "creationTimestamp": [ - 1785310509 + 1786425086 ], "pods": null, "annotation": { @@ -5550,137 +5102,157 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "spooler-ci", - "git_commit": "c81791fd10558a59f83876137fb021abcd89f262", - "commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", - "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", + "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", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", - "previous_git_commit": "e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_trail_name": "e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_template_reference_name": "spooler" + "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "previous_trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 791.0, + "commit_lead_time": 171420.0, "flows": [ { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", - "template_reference_name": "spooler", - "git_commit": "c81791fd10558a59f83876137fb021abcd89f262", - "commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "saver-ci", + "trail_name": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "template_reference_name": "saver", + "git_commit": "36f0420f728fe61e44a3ab0043cf9a3d70863cad", + "commit_url": "https://github.com/cyber-dojo/saver/commit/36f0420f728fe61e44a3ab0043cf9a3d70863cad", "git_commit_info": { - "sha1": "c81791fd10558a59f83876137fb021abcd89f262", - "message": "Merge pull request #13 from cyber-dojo/unsequenced-writes-no-longer-wedge-drainer\n\nKeep a shard draining when a write has no tab_seq", + "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.", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785309718.0, - "url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262" + "timestamp": 1786253666.0, + "url": "https://github.com/cyber-dojo/saver/commit/36f0420f728fe61e44a3ab0043cf9a3d70863cad" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=01bf7de8-52fc-4585-a4b6-abf82047", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", - "previous_git_commit": "e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_trail_name": "e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_template_reference_name": "spooler" + "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "previous_trail_name": "595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 791.0, + "commit_lead_time": 171420.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "production-promotion", - "trail_name": "promotion-one-145", - "template_reference_name": "spooler", - "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": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "template_reference_name": "saver", + "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { - "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", - "message": "Add spooler service name to promote_one.yml", + "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "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": 1785316951.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=6154dd8b-8a89-49c6-be10-9c36fd71", - "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/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=070b4e9b-f146-43ef-89f9-49b75fa4", + "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...81c216a55b2cb1787645e699ceaceca868cad253", - "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", "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-144", - "previous_template_reference_name": "spooler" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "saver-a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 167455.0, + "commit_lead_time": 1108135.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "template_reference_name": "spooler", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", + "template_reference_name": "saver", + "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/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=c911384e-7786-4e3d-99c2-ab107cc4", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", - "deployment_diff": null, - "commit_lead_time": -6442.0, + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=b3939e7a-afe0-460c-8da7-f456c2df", + "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_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": "saver" + }, + "commit_lead_time": 1108092.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "template_reference_name": "spooler", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "saver-2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "template_reference_name": "saver", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=1099abca-59d5-429d-8b87-f3a6b6e8", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=3c649403-7ee1-42db-af6f-c4f6cff7", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", - "deployment_diff": null, - "commit_lead_time": -6442.0, + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...10203d5d23f93844726f204390cf3d5ca8d5c913", + "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_fingerprint": "f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:8c84fac@sha256:f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_trail_name": "saver-f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", + "previous_template_reference_name": "saver" + }, + "commit_lead_time": -177307.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f33363aadf854b71b715ff4961e94b82", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/d20584d0428f41a3944ac335cea4da5c", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:2779354@sha256:af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "compliant": true, "deployments": [], "policy_decisions": [ @@ -5702,24 +5274,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -5727,7 +5299,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } } @@ -5747,24 +5319,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -5772,7 +5344,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } } @@ -5797,24 +5369,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -5822,7 +5394,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } } @@ -5849,24 +5421,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -5874,7 +5446,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } } @@ -5894,24 +5466,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -5919,7 +5491,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } } @@ -5944,8 +5516,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5953,8 +5525,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5962,8 +5534,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5972,7 +5544,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6000,24 +5572,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -6025,7 +5597,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } } @@ -6045,24 +5617,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -6070,7 +5642,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } } @@ -6095,8 +5667,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6104,8 +5676,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6113,8 +5685,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6123,7 +5695,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6151,24 +5723,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -6176,7 +5748,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } } @@ -6196,24 +5768,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -6221,7 +5793,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } } @@ -6246,24 +5818,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -6271,7 +5843,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } } @@ -6298,24 +5870,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -6323,7 +5895,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": null } } @@ -6349,24 +5921,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -6374,7 +5946,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "artifact_status": "COMPLIANT" } } @@ -6385,169 +5957,167 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "fingerprint": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", "creationTimestamp": [ - 1785243407, - 1785243408, - 1785243412 + 1786425083 ], "pods": null, "annotation": { "type": "unchanged", - "was": 3, - "now": 3 + "was": 1, + "now": 1 }, - "flow_name": "web-ci", - "git_commit": "2779354a4fda0eeb90fd43f32211836d99f6bde1", - "commit_url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1", - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", - "previous_git_commit": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_fingerprint": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_trail_name": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/da7bacefac23b0983d2b9f39d87508e0f85b1167", + "previous_trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 856.0, + "commit_lead_time": 660655.0, "flows": [ { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", - "template_reference_name": "web", - "git_commit": "2779354a4fda0eeb90fd43f32211836d99f6bde1", - "commit_url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "dashboard-ci", + "trail_name": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "template_reference_name": "dashboard", + "git_commit": "2b300f450f72006f6a9000aaf9cd04485f1e8095", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095", "git_commit_info": { - "sha1": "2779354a4fda0eeb90fd43f32211836d99f6bde1", - "message": "Add spooler env-vars for deployment (#389)", + "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.", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785242551.0, - "url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1" + "timestamp": 1785764428.0, + "url": "https://github.com/cyber-dojo/dashboard/commit/2b300f450f72006f6a9000aaf9cd04485f1e8095" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", - "previous_git_commit": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_fingerprint": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_trail_name": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/da7bacefac23b0983d2b9f39d87508e0f85b1167", + "previous_trail_name": "da7bacefac23b0983d2b9f39d87508e0f85b1167", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 856.0, + "commit_lead_time": 660655.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "production-promotion", - "trail_name": "promotion-one-143", - "template_reference_name": "web", - "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": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "template_reference_name": "dashboard", + "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { - "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", - "message": "Add spooler service name to promote_one.yml", + "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "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": 1785316951.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=11f2828c-83b9-4e8c-bd6a-be37eb17", - "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/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=12bfdb5d-1c9b-4420-b2e1-83318c0f", + "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...81c216a55b2cb1787645e699ceaceca868cad253", - "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "previous_fingerprint": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c0666c020044ac5b5181999ec153db1e7f6cd303...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:da7bace@sha256:8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", "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-142", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "dashboard-8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 100353.0, + "commit_lead_time": 1108132.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "template_reference_name": "web", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", + "template_reference_name": "dashboard", + "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/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=a4dc9877-3cec-4721-b1ef-5b4abcca", - "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/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=2eff9d42-2240-4f5b-8217-ccc995c3", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "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/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", "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/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "previous_trail_name": "promotion-one-153", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": -73544.0, + "commit_lead_time": 1108089.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "template_reference_name": "web", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "dashboard-1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "template_reference_name": "dashboard", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=9e83e1c3-66dd-4567-ace2-a78ccda1", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5?artifact_id=a00e4c8d-4872-4bb1-86d2-ee08d231", "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...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...10203d5d23f93844726f204390cf3d5ca8d5c913", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:f66cc5c@sha256:29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "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": "web-29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", - "previous_template_reference_name": "web" + "previous_trail_name": "dashboard-45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": -73544.0, + "commit_lead_time": -177310.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/4984e4ce7a34424585623c1a67da8c6d", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/fb58f1ca5ba94c30b59fe097af55fd5f", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "compliant": true, "deployments": [], "policy_decisions": [ @@ -6570,23 +6140,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -6594,7 +6164,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } } @@ -6615,23 +6185,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -6639,7 +6209,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } } @@ -6665,23 +6235,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -6689,7 +6259,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } } @@ -6717,23 +6287,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -6741,7 +6311,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } } @@ -6762,23 +6332,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -6786,7 +6356,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } } @@ -6812,7 +6382,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6820,8 +6390,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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6829,8 +6399,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6839,7 +6409,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6868,23 +6438,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -6892,7 +6462,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } } @@ -6913,23 +6483,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -6937,7 +6507,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } } @@ -6963,7 +6533,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6971,8 +6541,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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6980,8 +6550,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6990,7 +6560,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7019,23 +6589,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -7043,7 +6613,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } } @@ -7064,23 +6634,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -7088,7 +6658,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } } @@ -7114,23 +6684,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -7138,7 +6708,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } } @@ -7166,23 +6736,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, @@ -7190,7 +6760,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-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": null } } @@ -7217,23 +6787,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "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": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, @@ -7241,7 +6811,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "trail_name": "languages-start-points-adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "artifact_status": "COMPLIANT" } } @@ -7252,9 +6822,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "fingerprint": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "creationTimestamp": [ - 1785241263 + 1786425079 ], "pods": null, "annotation": { @@ -7263,88 +6833,57 @@ kosli get snapshot aws-prod --output=json "now": 1 }, "flow_name": "languages-start-points-ci", - "git_commit": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "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" }, - "commit_lead_time": 929088.0, + "commit_lead_time": 31476.0, "flows": [ { "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "trail_name": "068b3424c7da843a4f2d428d2e4915f33efc4a02", "template_reference_name": "languages-start-points", - "git_commit": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "git_commit": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/068b3424c7da843a4f2d428d2e4915f33efc4a02", "git_commit_info": { - "sha1": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "message": "Merge pull request #243 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "sha1": "068b3424c7da843a4f2d428d2e4915f33efc4a02", + "message": "Merge pull request #245 from cyber-dojo/update-zig\n\nUpdate zig-test to 0.16.0", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312175.0, - "url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23" + "timestamp": 1786393603.0, + "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/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_template_reference_name": "languages-start-points" - }, - "commit_lead_time": 929088.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "production-promotion", - "trail_name": "promote-all-31", - "template_reference_name": "languages-start-points", - "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", - "git_commit_info": { - "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", - "message": "Add spooler service name to promote_one.yml", - "author": "JonJagger ", - "branch": "main", - "timestamp": 1785143054.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=a1ab8675-9b0a-485b-be6a-c153fd4e", - "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": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "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", "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_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" }, - "commit_lead_time": 98209.0, + "commit_lead_time": 31476.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "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", @@ -7356,41 +6895,72 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=62b559ea-8bf7-4f5c-a33f-784a1708", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=d9e69b41-322d-4dea-8b56-dbd50334", "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": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "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" }, - "commit_lead_time": -75688.0, + "commit_lead_time": 1108128.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "template_reference_name": "languages-start-points", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "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/production-promotion/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=ee065d98-ce20-46c7-bc2f-a4502952", + "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", + "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" + }, + "commit_lead_time": 1108085.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", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", + "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.", + "author": "JonJagger ", + "branch": "main", + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=c6540af7-12d9-4d1a-b047-1207dd1d", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb?artifact_id=47b6bfe1-0630-4466-852f-282de00c", "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...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...10203d5d23f93844726f204390cf3d5ca8d5c913", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", "previous_fingerprint": "b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:7e86fed@sha256:b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", @@ -7400,19 +6970,19 @@ kosli get snapshot aws-prod --output=json "previous_trail_name": "languages-start-points-b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": -75688.0, + "commit_lead_time": -177314.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/42e358b2bd144b99b7f4b93382dddc90", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ed7c6bde626840e6a054cc94cd2c3363", "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/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "compliant": true, "deployments": [], "policy_decisions": [ @@ -7434,32 +7004,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } } @@ -7479,32 +7049,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } } @@ -7529,32 +7099,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } } @@ -7581,32 +7151,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } } @@ -7626,32 +7196,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } } @@ -7676,8 +7246,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7685,8 +7255,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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7694,8 +7264,8 @@ 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", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7703,8 +7273,8 @@ 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", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7732,32 +7302,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } } @@ -7777,32 +7347,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } } @@ -7827,8 +7397,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7836,26 +7406,26 @@ 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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7883,32 +7453,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } } @@ -7928,32 +7498,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } } @@ -7978,32 +7548,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } } @@ -8030,32 +7600,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": null } } @@ -8081,32 +7651,32 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", "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": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "artifact_status": "COMPLIANT" } } @@ -8117,9 +7687,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "fingerprint": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "creationTimestamp": [ - 1785241255 + 1786425079 ], "pods": null, "annotation": { @@ -8127,157 +7697,157 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "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": "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", "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/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", "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/nginx/commit/5ce2769937a4014a853787d7b3d89ec30b6ac967", + "previous_trail_name": "5ce2769937a4014a853787d7b3d89ec30b6ac967", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 929108.0, + "commit_lead_time": 412187.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": "nginx-ci", + "trail_name": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "template_reference_name": "nginx", + "git_commit": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "commit_url": "https://github.com/cyber-dojo/nginx/commit/fb791742054fa28dd89269aac8002ebfd7b3386e", "git_commit_info": { - "sha1": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "message": "Merge pull request #146 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "sha1": "fb791742054fa28dd89269aac8002ebfd7b3386e", + "message": "Merge pull request #166 from cyber-dojo/drop-old-fork-spellings\n\nStop rate limiting the old fork paths", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312147.0, - "url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a" + "timestamp": 1786012892.0, + "url": "https://github.com/cyber-dojo/nginx/commit/fb791742054fa28dd89269aac8002ebfd7b3386e" }, - "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/nginx-ci/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=b9778ac6-6d83-4954-98ba-a3e60a22", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-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/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", "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/nginx/commit/5ce2769937a4014a853787d7b3d89ec30b6ac967", + "previous_trail_name": "5ce2769937a4014a853787d7b3d89ec30b6ac967", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 929108.0, + "commit_lead_time": 412187.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", + "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", "git_commit_info": { - "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", - "message": "Add spooler service name to promote_one.yml", + "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "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": 1785316951.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=b17578fc-3dc0-42c5-98a7-216ebe8a", - "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/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=9474b76c-5cd0-42da-b469-c6a26c8c", + "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": "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...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_fingerprint": "55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:bc3fd56@sha256:55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", "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/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_trail_name": "nginx-55335a374bd7c02fb204ad62ec94b060e5fef14b83c2ba879ade094db04f8744", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 98201.0, + "commit_lead_time": 1108128.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", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "flow_name": "production-promotion", + "trail_name": "promote-all-33", + "template_reference_name": "nginx", + "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-prod-per-artifact/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=140baa5d-f15f-4394-b19f-531979b5", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=49f9d376-d38a-4540-bbb1-4a739116", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:b8e5cbf@sha256:f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "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_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_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" }, - "commit_lead_time": -75696.0, + "commit_lead_time": 1108085.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", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "nginx-b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "template_reference_name": "nginx", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=669c0bf2-5f20-4c4e-a0d2-6c5e574f", - "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/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=ae2240f9-51f2-488c-8653-2bbe71b8", + "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/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/00c479764cb9eca038fdaaaef108672d0bb0ed26...10203d5d23f93844726f204390cf3d5ca8d5c913", + "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/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/00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_trail_name": "nginx-b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": -75696.0, + "commit_lead_time": -177314.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/50474795074a4b039a5d59ff411b87e9", "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/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "compliant": true, "deployments": [], "policy_decisions": [ @@ -8299,8 +7869,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -8316,7 +7886,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, @@ -8324,7 +7894,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -8344,8 +7914,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -8361,7 +7931,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, @@ -8369,7 +7939,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -8394,8 +7964,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -8411,7 +7981,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, @@ -8419,7 +7989,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -8446,8 +8016,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -8463,7 +8033,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, @@ -8471,7 +8041,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -8491,8 +8061,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -8508,7 +8078,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, @@ -8516,7 +8086,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -8541,8 +8111,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8560,7 +8130,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8569,7 +8139,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8597,8 +8167,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -8614,7 +8184,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, @@ -8622,7 +8192,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -8642,8 +8212,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -8659,7 +8229,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, @@ -8667,7 +8237,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -8692,8 +8262,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8711,7 +8281,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8720,7 +8290,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8748,8 +8318,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -8765,7 +8335,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, @@ -8773,7 +8343,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -8793,8 +8363,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -8810,7 +8380,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, @@ -8818,7 +8388,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -8843,8 +8413,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -8860,7 +8430,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, @@ -8868,7 +8438,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -8895,8 +8465,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -8912,7 +8482,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, @@ -8920,7 +8490,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -8946,8 +8516,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -8963,7 +8533,7 @@ 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", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, @@ -8971,7 +8541,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": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -8982,9 +8552,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "creationTimestamp": [ - 1785241244 + 1785241255 ], "pods": null, "annotation": { @@ -8992,59 +8562,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "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": "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", "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/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", "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/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", + "previous_trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 929228.0, + "commit_lead_time": 929108.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": "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", "git_commit_info": { - "sha1": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "message": "Merge pull request #140 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "sha1": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "message": "Merge pull request #146 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312016.0, - "url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d" + "timestamp": 1784312147.0, + "url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a" }, - "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/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", "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/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", "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/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", + "previous_trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 929228.0, + "commit_lead_time": 929108.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", + "template_reference_name": "exercises-start-points", "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", "git_commit_info": { @@ -9055,27 +8625,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785143054.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=48b388e8-ce61-4668-a0dd-eb163cd4", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=b17578fc-3dc0-42c5-98a7-216ebe8a", "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": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", "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_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 98190.0, + "commit_lead_time": 98201.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", + "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", "git_commit_info": { @@ -9086,63 +8656,63 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=f5359561-6cc0-4040-977c-1812f923", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=c5be014c-5c90-4940-9d24-3f1d472a", "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/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/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", "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/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": -75707.0, + "commit_lead_time": -75696.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", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "template_reference_name": "exercises-start-points", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=9cd41157-5e0a-49c8-841c-7ada78f4", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=5c6e0f63-cc54-4dd7-a899-a9efab7f", "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...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...10203d5d23f93844726f204390cf3d5ca8d5c913", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:6b5c159@sha256:b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", + "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": "custom-start-points-b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", - "previous_template_reference_name": "custom-start-points" + "previous_trail_name": "exercises-start-points-f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": -75707.0, + "commit_lead_time": -1361138.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/f248719ae7814027825075c5ea81acff", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "compliant": true, "deployments": [], "policy_decisions": [ @@ -9164,8 +8734,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -9173,7 +8743,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -9181,7 +8751,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, @@ -9189,7 +8759,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -9209,8 +8779,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -9218,7 +8788,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -9226,7 +8796,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, @@ -9234,7 +8804,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -9259,8 +8829,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -9268,7 +8838,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -9276,7 +8846,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, @@ -9284,7 +8854,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -9311,8 +8881,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -9320,7 +8890,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -9328,7 +8898,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, @@ -9336,7 +8906,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -9356,8 +8926,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -9365,7 +8935,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -9373,7 +8943,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, @@ -9381,7 +8951,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -9406,8 +8976,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -9416,7 +8986,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -9425,7 +8995,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -9434,7 +9004,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -9462,8 +9032,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -9471,7 +9041,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -9479,7 +9049,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, @@ -9487,7 +9057,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -9507,8 +9077,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -9516,7 +9086,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -9524,7 +9094,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, @@ -9532,7 +9102,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -9557,8 +9127,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -9567,7 +9137,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -9576,7 +9146,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -9585,7 +9155,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -9613,8 +9183,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -9622,7 +9192,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -9630,7 +9200,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, @@ -9638,7 +9208,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -9658,8 +9228,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -9667,7 +9237,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -9675,7 +9245,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, @@ -9683,7 +9253,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -9708,8 +9278,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -9717,7 +9287,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -9725,7 +9295,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, @@ -9733,7 +9303,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -9760,8 +9330,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -9769,7 +9339,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -9777,7 +9347,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, @@ -9785,7 +9355,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -9811,8 +9381,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -9820,7 +9390,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -9828,7 +9398,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, @@ -9836,7 +9406,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -9847,102 +9417,100 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "creationTimestamp": [ - 1785138608, - 1785138608, - 1785138609 + 1785241244 ], "pods": null, "annotation": { - "type": "exited", - "was": 3, - "now": 0 + "type": "unchanged", + "was": 1, + "now": 1 }, - "flow_name": "runner-ci", - "git_commit": "19f873464a01f28ecd588504ffe03529119d6297", - "commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=046fc54c-c295-45b3-bac0-81d40282", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", - "previous_git_commit": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_template_reference_name": "runner" + "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" }, - "commit_lead_time": 85840.0, + "commit_lead_time": 929228.0, "flows": [ { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", - "template_reference_name": "runner", - "git_commit": "19f873464a01f28ecd588504ffe03529119d6297", - "commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", + "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", "git_commit_info": { - "sha1": "19f873464a01f28ecd588504ffe03529119d6297", - "message": "Merge pull request #275 from cyber-dojo/extend-snyk-ignore-expiry-to-2026-08-26\n\nExtend .snyk ignore expiry to 2026-08-26", + "sha1": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "message": "Merge pull request #140 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785052768.0, - "url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297" + "timestamp": 1784312016.0, + "url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=046fc54c-c295-45b3-bac0-81d40282", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", - "previous_git_commit": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_template_reference_name": "runner" + "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" }, - "commit_lead_time": 85840.0, + "commit_lead_time": 929228.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", - "template_reference_name": "runner", - "git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", + "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", "git_commit_info": { - "sha1": "76325d840dc66e1c84743725e17de05a16616419", - "message": "Add emoji prefix to workflow names", + "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", + "message": "Add spooler service name to promote_one.yml", "author": "JonJagger ", "branch": "main", - "timestamp": 1783852701.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" + "timestamp": 1785143054.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=cceaf70c-da3e-4637-a622-d7091e3c", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/76325d840dc66e1c84743725e17de05a16616419...76325d840dc66e1c84743725e17de05a16616419", - "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", - "previous_trail_name": "promotion-one-136", - "previous_template_reference_name": "runner" + "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" }, - "commit_lead_time": 1285907.0, + "commit_lead_time": 98190.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "template_reference_name": "runner", + "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", "git_commit_info": { @@ -9953,57 +9521,57 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=aa71de9f-9571-41f1-ae0f-680aeeb9", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_template_reference_name": "runner" + "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" }, - "commit_lead_time": -178343.0, + "commit_lead_time": -75707.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "template_reference_name": "runner", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "template_reference_name": "custom-start-points", + "git_commit": "10203d5d23f93844726f204390cf3d5ca8d5c913", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913", "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "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.", "author": "JonJagger ", "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "timestamp": 1786602393.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/10203d5d23f93844726f204390cf3d5ca8d5c913" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=73f0bd42-508a-4e5f-a924-9f36ae55", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=28e2cc3e-2182-4081-80ea-333953ff", "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...c0666c020044ac5b5181999ec153db1e7f6cd303", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...10203d5d23f93844726f204390cf3d5ca8d5c913", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:9cc2a80@sha256:414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", + "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": "runner-414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", - "previous_template_reference_name": "runner" + "previous_trail_name": "custom-start-points-b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": -178343.0, + "commit_lead_time": -1361149.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ffc316ec94724a67a7775accf9b9232a", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/6bf799c87c194e17be0f99fcd811abb6", "cluster_name": null, "service_name": null } diff --git a/client_reference/kosli_get_trail.md b/client_reference/kosli_get_trail.md index 9249cc5..af1188b 100644 --- a/client_reference/kosli_get_trail.md +++ b/client_reference/kosli_get_trail.md @@ -325,7 +325,8 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "attestation_type": "pull_request", "is_compliant": true, "attestation_id": "60045efd-1851-45f4-9b27-5f7ae946", - "template_reference_name": "pull-request" + "template_reference_name": "pull-request", + "is_reattestation": null }, { "org_id": "83acb2bc-2c26-48a7-8b87-90dfcce7", @@ -364,6 +365,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "d81b5df8-7c67-42ce-b332-5f10aba5", "template_reference_name": "rubocop-lint", + "is_reattestation": null, "target_artifact": "dashboard" }, { @@ -442,6 +444,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "8753765c-0df9-421c-bfe3-c8aa1f8d", "template_reference_name": "provenance-facts", + "is_reattestation": null, "artifact_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768", "target_artifact": "dashboard" @@ -483,6 +486,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "b0786932-6ff7-4359-bb20-1bb43671", "template_reference_name": "provenance-decision", + "is_reattestation": null, "artifact_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768", "target_artifact": "dashboard" @@ -524,6 +528,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "7d834d1e-e7de-4890-870c-a783053b", "template_reference_name": "sbom-facts", + "is_reattestation": null, "artifact_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768", "target_artifact": "dashboard" @@ -565,6 +570,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "c955d971-4600-4b45-950f-cd8b3642", "template_reference_name": "sonarcloud-scan", + "is_reattestation": null, "target_artifact": "dashboard" }, { @@ -604,6 +610,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "d37cd3aa-3909-4d0d-a8c3-0c623de1", "template_reference_name": "sbom-decision", + "is_reattestation": null, "artifact_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768", "target_artifact": "dashboard" @@ -645,6 +652,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "084be09c-f101-4a29-985e-ee305d60", "template_reference_name": "unit-test", + "is_reattestation": null, "artifact_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768", "target_artifact": "dashboard" @@ -686,6 +694,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "ede0b52b-d56e-474f-b04c-03e6be01", "template_reference_name": "unit-test-coverage", + "is_reattestation": null, "artifact_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768", "target_artifact": "dashboard" @@ -727,6 +736,7 @@ kosli get trail dashboard-ci e4757683b74df7033c95aa544a7824b395c2f8bb --output=j "is_compliant": true, "attestation_id": "2e01c56f-18f9-4e75-8b45-f7d5846e", "template_reference_name": "snyk-container-scan", + "is_reattestation": null, "artifact_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768", "target_artifact": "dashboard" diff --git a/client_reference/kosli_list_environments.md b/client_reference/kosli_list_environments.md index 48c2982..c8b3753 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": 1785857964.0640154, - "last_reported_at": 1785857964.0640154, - "last_changed_at": 1785831803.9757986, + "last_modified_at": 1786720043.998481, + "last_reported_at": 1786720043.998481, + "last_changed_at": 1786679783.9316874, "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": 1785858012.0522373, - "last_reported_at": 1785858012.0522373, - "last_changed_at": 1785831608.8067434, + "last_modified_at": 1786719908.7127595, + "last_reported_at": 1786719908.7127595, + "last_changed_at": 1786632908.9464843, "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": 1785857998.5548897, - "last_reported_at": 1785857998.5548897, - "last_changed_at": 1785832018.4991596, + "last_modified_at": 1786720018.4959269, + "last_reported_at": 1786720018.4959269, + "last_changed_at": 1786679818.4046729, "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": 1785857911.983904, - "last_reported_at": 1785857911.983904, - "last_changed_at": 1785832412.3237588, + "last_modified_at": 1786719811.9755135, + "last_reported_at": 1786719811.9755135, + "last_changed_at": 1786426111.953674, "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": 1785832412.3237588, + "last_modified_at": 1786679818.4046729, "last_reported_at": null, - "last_changed_at": 1785832412.3237588, + "last_changed_at": 1786679818.4046729, "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": 1785831803.9757986, + "last_modified_at": 1786679783.9316874, "last_reported_at": null, - "last_changed_at": 1785831803.9757986, + "last_changed_at": 1786679783.9316874, "state": true, "include_scaling": false, "tags": {}, diff --git a/client_reference/kosli_list_flows.md b/client_reference/kosli_list_flows.md index d8d39ae..7e2a20a 100644 --- a/client_reference/kosli_list_flows.md +++ b/client_reference/kosli_list_flows.md @@ -67,7 +67,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/creator", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786438583.8978486, + "latest_state": "COMPLIANT" }, { "id": "217f4b82-2fe6-41ef-8214-e34c3a47", @@ -82,7 +84,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/custom-start-points", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786437744.0761797, + "latest_state": "COMPLIANT" }, { "id": "f60c8f3f-67cd-4496-8e17-ed6fdb1e", @@ -97,7 +101,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/dashboard", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786438583.8978486, + "latest_state": "COMPLIANT" }, { "id": "d398561b-b0a9-4f0e-95a3-bbb0e347", @@ -112,7 +118,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/differ", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786632623.852957, + "latest_state": "COMPLIANT" }, { "id": "7f0ddaf2-32be-4cae-9512-161dc24c", @@ -122,7 +130,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "version: 1\n\ntrail:\n artifacts:\n - name: docker-base\n attestations:\n - name: snyk-container-scan\n type: decision\n", "repo_url": "https://github.com/cyber-dojo/docker-base", - "tags": {} + "tags": {}, + "latest_activity_at": 1783067775.5474463, + "latest_state": "COMPLIANT" }, { "id": "c1bb83be-5195-4814-9fae-eac6bf67", @@ -137,7 +147,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/exercises-start-points", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786437264.0834873, + "latest_state": "COMPLIANT" }, { "id": "0b4a3bb0-4f77-41a9-8dea-733d1dc3", @@ -152,7 +164,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/languages-start-points", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786437984.0695097, + "latest_state": "COMPLIANT" }, { "id": "d81371fe-6264-4bb1-aace-9b0af86c", @@ -162,7 +176,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "version: 1", "repo_url": "https://github.com/cyber-dojo/monorepo", - "tags": {} + "tags": {}, + "latest_activity_at": 1781600733.1821082, + "latest_state": "COMPLIANT" }, { "id": "10751390-44e0-4d32-a860-bd5f7584", @@ -172,7 +188,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "\nversion: 1\ntrail:\n attestations:\n - { name: pull-request, type: pull_request }\n artifacts:\n - name: creator\n attestations:\n - { name: unit-test, type: junit }\n", "repo_url": "https://github.com/cyber-dojo/monorepo", - "tags": {} + "tags": {}, + "latest_activity_at": 1781600708.1972978, + "latest_state": "COMPLIANT" }, { "id": "0f0e3f56-f7ac-4830-acc3-3a36e111", @@ -182,7 +200,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "\nversion: 1\ntrail:\n attestations:\n - { name: pull-request, type: pull_request }\n artifacts:\n - name: dashboard\n attestations:\n - { name: rubocop, type: junit }\n - { name: snyk-container-scan, type: generic }\n", "repo_url": "https://github.com/cyber-dojo/monorepo", - "tags": {} + "tags": {}, + "latest_activity_at": 1781600707.3320358, + "latest_state": "COMPLIANT" }, { "id": "c03d5ba2-cb6e-4f6c-a5ec-05805c49", @@ -192,7 +212,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "\nversion: 1\ntrail:\n attestations:\n - { name: pull-request, type: pull_request }\n artifacts:\n - name: web\n attestations:\n - { name: lint, type: generic }\n - { name: unit-test, type: junit }\n", "repo_url": "https://github.com/cyber-dojo/monorepo", - "tags": {} + "tags": {}, + "latest_activity_at": 1781600712.989079, + "latest_state": "COMPLIANT" }, { "id": "28447c7d-904b-4594-8b05-88d5d938", @@ -207,7 +229,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/nginx", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786438104.0795615, + "latest_state": "COMPLIANT" }, { "id": "d454e45e-3746-417f-992c-e41515d5", @@ -215,14 +239,16 @@ 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", "repo_url": "https://github.com/cyber-dojo/aws-prod-co-promotion", "kind": "release", "env": "aws-prod" - } + }, + "latest_activity_at": 1786424495.509061, + "latest_state": "COMPLIANT" }, { "id": "4afd2a1f-5045-4145-934a-64b533a6", @@ -232,7 +258,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "version: 1\ntrail:\n attestations:\n - name: command-logs\n type: generic\n - name: user-identity\n type: generic\n - name: service-identity\n type: generic\n - name: sso-session-data\n type: generic\n", "repo_url": "", - "tags": {} + "tags": {}, + "latest_activity_at": 1711724314.4139948, + "latest_state": "COMPLIANT" }, { "id": "a81e8c6d-bb00-474f-b986-a6cb9b08", @@ -247,7 +275,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/runner", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786438471.9191556, + "latest_state": "COMPLIANT" }, { "id": "e54bdf65-de27-448f-807a-08e09590", @@ -262,7 +292,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/saver", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786438471.9191556, + "latest_state": "COMPLIANT" }, { "id": "9a967617-89c5-4121-ab26-99e1f4ae", @@ -276,7 +308,9 @@ kosli list flows --output=json "ci": "github", "kind": "run", "repo_url": "https://github.com/cyber-dojo/secrets" - } + }, + "latest_activity_at": 1786681248.1733625, + "latest_state": "NON-COMPLIANT" }, { "id": "a43239d6-fa3d-4e58-b7c4-f00b7432", @@ -291,7 +325,9 @@ kosli list flows --output=json "kind": "run", "workflow_url": "https://github.com/cyber-dojo/snyk-scanning/blob/main/.github/workflows/aws-beta.yml", "env": "aws-beta" - } + }, + "latest_activity_at": 1786679730.0200381, + "latest_state": "COMPLIANT" }, { "id": "e0f4dbb0-0d25-44d0-8aa1-ced9876e", @@ -306,7 +342,9 @@ kosli list flows --output=json "env": "aws-beta", "kind": "run", "workflow_url": "https://github.com/cyber-dojo/snyk-scanning/blob/main/.github/workflows/artifact_snyk_test.yml" - } + }, + "latest_activity_at": 1786679615.989234, + "latest_state": "COMPLIANT" }, { "id": "021d42e3-f52e-4e48-959b-33f1fd60", @@ -321,7 +359,9 @@ kosli list flows --output=json "kind": "run", "workflow_url": "https://github.com/cyber-dojo/snyk-scanning/blob/main/.github/workflows/aws-prod.yml", "env": "aws-prod" - } + }, + "latest_activity_at": 1786679766.2105615, + "latest_state": "COMPLIANT" }, { "id": "7fc06a03-241f-4b17-baa1-05cf7585", @@ -336,7 +376,9 @@ kosli list flows --output=json "env": "aws-prod", "kind": "run", "workflow_url": "https://github.com/cyber-dojo/snyk-scanning/blob/main/.github/workflows/artifact_snyk_test.yml" - } + }, + "latest_activity_at": 1786679720.7573857, + "latest_state": "COMPLIANT" }, { "id": "6d59cdf1-0d6b-412a-bd81-ecdc8767", @@ -348,7 +390,9 @@ kosli list flows --output=json "repo_url": "https://github.com/cyber-dojo/spooler", "tags": { "env": "aws-beta" - } + }, + "latest_activity_at": 1786425598.492372, + "latest_state": "COMPLIANT" }, { "id": "57de7461-f687-4b93-a1d7-d4268e44", @@ -358,7 +402,9 @@ kosli list flows --output=json "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/creator", - "tags": {} + "tags": {}, + "latest_activity_at": 1786438808.6495974, + "latest_state": "COMPLIANT" }, { "id": "63ea4110-f185-4a04-ae62-8519474b", @@ -368,7 +414,9 @@ kosli list flows --output=json "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/custom-start-points", - "tags": {} + "tags": {}, + "latest_activity_at": 1786438808.6495974, + "latest_state": "COMPLIANT" }, { "id": "ceb02030-a523-436d-86a5-c45270dc", @@ -378,7 +426,9 @@ kosli list flows --output=json "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/dashboard", - "tags": {} + "tags": {}, + "latest_activity_at": 1786438808.6495974, + "latest_state": "COMPLIANT" }, { "id": "92d8c902-3dc1-4db5-ad07-6ceabc1e", @@ -388,7 +438,9 @@ kosli list flows --output=json "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/differ", - "tags": {} + "tags": {}, + "latest_activity_at": 1786632908.9464843, + "latest_state": "COMPLIANT" }, { "id": "3a0768fb-33b4-47f6-ba63-5c69df8e", @@ -398,7 +450,9 @@ kosli list flows --output=json "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/exercises-start-points", - "tags": {} + "tags": {}, + "latest_activity_at": 1786437608.696814, + "latest_state": "COMPLIANT" }, { "id": "03286d89-1428-4077-9294-fddf609b", @@ -408,7 +462,9 @@ kosli list flows --output=json "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/languages-start-points", - "tags": {} + "tags": {}, + "latest_activity_at": 1786438808.6495974, + "latest_state": "COMPLIANT" }, { "id": "152592aa-87a9-46e5-9b4b-2180b0b5", @@ -418,7 +474,9 @@ kosli list flows --output=json "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/nginx", - "tags": {} + "tags": {}, + "latest_activity_at": 1786438808.6495974, + "latest_state": "COMPLIANT" }, { "id": "091c0875-2863-48cb-b1f5-e08bb8dd", @@ -428,7 +486,9 @@ kosli list flows --output=json "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/runner", - "tags": {} + "tags": {}, + "latest_activity_at": 1786438808.6495974, + "latest_state": "COMPLIANT" }, { "id": "348ea96a-84ba-4c17-8ed9-55b397f2", @@ -438,7 +498,9 @@ kosli list flows --output=json "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/saver", - "tags": {} + "tags": {}, + "latest_activity_at": 1786438808.6495974, + "latest_state": "COMPLIANT" }, { "id": "418dcba5-0f85-44c1-9bfa-73fe61a2", @@ -448,7 +510,9 @@ kosli list flows --output=json "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/spooler", - "tags": {} + "tags": {}, + "latest_activity_at": 1786254608.5082495, + "latest_state": "COMPLIANT" }, { "id": "0408259b-db9a-47b4-bd5d-2cafb533", @@ -458,7 +522,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n - name: pull-request\n type: pull_request\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", "repo_url": "https://github.com/cyber-dojo/terraform-base-infra", - "tags": {} + "tags": {}, + "latest_activity_at": 1785232808.6739333, + "latest_state": "COMPLIANT" }, { "id": "60bfe410-ffe9-421e-a347-0bbd1554", @@ -468,7 +534,9 @@ kosli list flows --output=json "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", - "tags": {} + "tags": {}, + "latest_activity_at": 1786439708.543009, + "latest_state": "COMPLIANT" }, { "id": "61ab4b1c-5b59-4f2b-a484-86b887cb", @@ -478,7 +546,9 @@ kosli list flows --output=json "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/runner", - "tags": {} + "tags": {}, + "latest_activity_at": 1786426111.953674, + "latest_state": "COMPLIANT" }, { "id": "d32a5b61-d72c-4279-824a-55226c4b", @@ -488,7 +558,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n - name: pull-request\n type: pull_request\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", "repo_url": "https://github.com/cyber-dojo/terraform-base-infra", - "tags": {} + "tags": {}, + "latest_activity_at": 1785236322.8149745, + "latest_state": "COMPLIANT" }, { "id": "cf915667-e09e-4451-b689-8efe0605", @@ -498,7 +570,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n", "repo_url": "", - "tags": {} + "tags": {}, + "latest_activity_at": 1785166016.9913907, + "latest_state": "COMPLIANT" }, { "id": "27cb0696-7226-4420-b4c9-b8c91ed7", @@ -508,7 +582,9 @@ kosli list flows --output=json "org": "cyber-dojo", "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n", "repo_url": "", - "tags": {} + "tags": {}, + "latest_activity_at": 1785232718.7436328, + "latest_state": "COMPLIANT" }, { "id": "fd583a48-28de-4b5c-b4a7-b6356e94", @@ -516,14 +592,16 @@ kosli list flows --output=json "description": "UX for practicing TDD", "visibility": "private", "org": "cyber-dojo", - "template": "version: 1\n\ntrail:\n attestations:\n - name: pull-request\n type: pull_request\n\n artifacts:\n - name: web\n attestations:\n - name: provenance-facts\n type: custom:provenance-facts\n - name: provenance-decision\n type: decision\n\n - name: sbom-facts\n type: custom:sbom-facts\n - name: sbom-decision\n type: decision\n\n - name: snyk-container-scan\n type: decision\n", + "template": "version: 1\n\ntrail:\n attestations:\n - name: pull-request\n type: pull_request\n\n artifacts:\n - name: web\n attestations:\n - name: provenance-facts\n type: custom:provenance-facts\n - name: provenance-decision\n type: decision\n\n - name: sbom-facts\n type: custom:sbom-facts\n - name: sbom-decision\n type: decision\n\n - name: snyk-container-scan\n type: decision\n\n - name: rubocop-lint\n type: junit\n\n - name: server-test\n type: junit\n\n - name: test-facts\n type: custom:test-facts\n - name: test-decision\n type: decision\n\n - name: coverage-facts\n type: custom:coverage-facts\n - name: coverage-decision\n type: decision\n", "repo_url": "https://github.com/cyber-dojo/web", "tags": { "ci": "github", "repo_url": "https://github.com/cyber-dojo/web", "kind": "build", "env": "aws-beta" - } + }, + "latest_activity_at": 1786439303.8973844, + "latest_state": "COMPLIANT" } ] ``` diff --git a/client_reference/kosli_list_snapshots.md b/client_reference/kosli_list_snapshots.md index a654c4c..352afd0 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": 5177, - "from": 1785832018.4991596, + "index": 5234, + "from": 1786679818.4046729, "to": 0.0, "compliant": true, - "duration": 26000.202961444855 + "duration": 40244.23185634613 }, { - "index": 5176, - "from": 1785831958.460517, - "to": 1785832018.4991596, + "index": 5233, + "from": 1786679758.5206547, + "to": 1786679818.4046729, "compliant": true, - "duration": 60.0386426448822 + "duration": 59.88401818275452 }, { - "index": 5175, - "from": 1785819298.4851117, - "to": 1785831958.460517, + "index": 5232, + "from": 1786679638.3800714, + "to": 1786679758.5206547, "compliant": true, - "duration": 12659.975405216217 + "duration": 120.14058327674866 }, { - "index": 5174, - "from": 1785819238.477179, - "to": 1785819298.4851117, + "index": 5231, + "from": 1786679578.5574222, + "to": 1786679638.3800714, "compliant": true, - "duration": 60.00793266296387 + "duration": 59.822649240493774 }, { - "index": 5173, - "from": 1785819058.4024458, - "to": 1785819238.477179, + "index": 5230, + "from": 1786679518.6214967, + "to": 1786679578.5574222, "compliant": true, - "duration": 180.0747332572937 + "duration": 59.93592548370361 }, { - "index": 5172, - "from": 1785818998.3559153, - "to": 1785819058.4024458, + "index": 5229, + "from": 1786598698.4780145, + "to": 1786679518.6214967, "compliant": true, - "duration": 60.0465304851532 + "duration": 80820.14348220825 }, { - "index": 5171, - "from": 1785755158.5525944, - "to": 1785818998.3559153, + "index": 5228, + "from": 1786593538.460407, + "to": 1786598698.4780145, "compliant": true, - "duration": 63839.803320884705 + "duration": 5160.017607450485 }, { - "index": 5170, - "from": 1785755098.5952232, - "to": 1785755158.5525944, + "index": 5227, + "from": 1786593418.452673, + "to": 1786593538.460407, "compliant": true, - "duration": 59.9573712348938 + "duration": 120.00773406028748 }, { - "index": 5169, - "from": 1785744358.5353608, - "to": 1785755098.5952232, + "index": 5226, + "from": 1786593358.5152867, + "to": 1786593418.452673, "compliant": true, - "duration": 10740.05986237526 + "duration": 59.93738627433777 }, { - "index": 5168, - "from": 1785744298.6376145, - "to": 1785744358.5353608, + "index": 5225, + "from": 1786593298.400066, + "to": 1786593358.5152867, "compliant": true, - "duration": 59.897746324539185 + "duration": 60.11522078514099 }, { - "index": 5167, - "from": 1785736378.4882667, - "to": 1785744298.6376145, + "index": 5224, + "from": 1786506718.3598936, + "to": 1786593298.400066, "compliant": true, - "duration": 7920.149347782135 + "duration": 86580.04017233849 }, { - "index": 5166, - "from": 1785734098.6068468, - "to": 1785736378.4882667, + "index": 5223, + "from": 1786506358.497881, + "to": 1786506718.3598936, "compliant": true, - "duration": 2279.8814198970795 + "duration": 359.8620126247406 }, { - "index": 5165, - "from": 1785733978.6575258, - "to": 1785734098.6068468, + "index": 5222, + "from": 1786506298.5599546, + "to": 1786506358.497881, "compliant": true, - "duration": 119.94932103157043 + "duration": 59.937926292419434 }, { - "index": 5164, - "from": 1785733858.4808197, - "to": 1785733978.6575258, + "index": 5221, + "from": 1786506238.507325, + "to": 1786506298.5599546, "compliant": true, - "duration": 120.17670607566833 + "duration": 60.052629709243774 }, { - "index": 5163, - "from": 1785681958.5195231, - "to": 1785733858.4808197, + "index": 5220, + "from": 1786425598.492372, + "to": 1786506238.507325, "compliant": true, - "duration": 51899.96129655838 + "duration": 80640.01495289803 } ] ``` diff --git a/client_reference/kosli_log_environment.md b/client_reference/kosli_log_environment.md index 0d3bce3..c0c0042 100644 --- a/client_reference/kosli_log_environment.md +++ b/client_reference/kosli_log_environment.md @@ -72,11 +72,11 @@ kosli log environment aws-prod --output=json [ { "environment_name": "aws-prod", - "snapshot_index": 5177, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "sha256": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "description": "3 instances stopped running (from 3 to 0)", - "reported_at": 1785832018.4991596, + "snapshot_index": 5234, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:85cac88@sha256:f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "sha256": "f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "description": "3 instances changed", + "reported_at": 1786679818.4046729, "pipeline": "runner-ci", "deployments": [], "flows": [ @@ -85,11 +85,11 @@ kosli log environment aws-prod --output=json "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 }, { @@ -99,73 +99,81 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "exited", - "code_diff": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/runner/compare/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3...85cac880cb74678426eb2ed4dbf2538995404c5c", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=046fc54c-c295-45b3-bac0-81d40282" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096?artifact_id=d4d2a067-63c8-4403-a6f5-554e6fef" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5177", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5177" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5234", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5234" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5176, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:48bb369@sha256:8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", - "sha256": "8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", - "description": "3 instances started running (from 0 to 3)", - "reported_at": 1785831958.460517, - "pipeline": "runner-ci", + "snapshot_index": 5233, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:108cccf@sha256:31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "sha256": "31a4c3abc3ccef33397ed1d84496a08d94ca9d6f9d0df44b6a72aba9743bc8ac", + "description": "1 instance changed", + "reported_at": 1786679758.5206547, + "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/19f873464a01f28ecd588504ffe03529119d6297...48bb36950ae12b98bdcaf39d77225a3ca7b1dda3", + "type": "updated-provenance", + "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/8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8cd50be384864573324f1edd08dbd2b7d00448e12c400db8bf84fbcf0da5d392?artifact_id=21473a84-3307-44f6-9fbe-fe200ddb" + "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/5176", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5176" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5233", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5233" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5175, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "sha256": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "snapshot_index": 5233, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:5e4b987@sha256:6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", + "sha256": "6f394e0dccb59b852fa52ffa114fde8452280054c84de05b0627b1b0f18657bd", "description": "3 instances changed", - "reported_at": 1785819298.4851117, - "pipeline": "runner-ci", + "reported_at": 1786679758.5206547, + "pipeline": "web-ci", "deployments": [], "flows": [ { - "flow_name": "runner-ci", + "flow_name": "web-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 }, { @@ -176,38 +184,38 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", + "code_diff": "https://github.com/cyber-dojo/web/compare/0c31ab46a7d8c7d34d2ce0654dc09f8ae4229c7e...5e4b9873df93525c041c386c06e0ab8fc36b6f33", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=046fc54c-c295-45b3-bac0-81d40282" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5175", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5175" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5233", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5233" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5174, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:da7bace@sha256:8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "sha256": "8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", + "snapshot_index": 5233, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "sha256": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "description": "1 instance changed", - "reported_at": 1785819238.477179, - "pipeline": "dashboard-ci", + "reported_at": 1786679758.5206547, + "pipeline": "custom-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "dashboard-ci", + "flow_name": "custom-start-points-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 }, { @@ -218,80 +226,80 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/dashboard/compare/0e39ff79ccab8804f4bfdff993b5df786bf47426...da7bacefac23b0983d2b9f39d87508e0f85b1167", + "code_diff": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/dashboard-ci/fingerprint/8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6", - "html": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/8a89de34c6d8102bc376b6a238015b1dd768a81f16a741b28dbd8c8af3deefd6?artifact_id=04894b11-8736-4651-9824-7e882b54" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5174", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5174" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5233", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5233" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5174, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "sha256": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "description": "3 instances changed", - "reported_at": 1785819238.477179, - "pipeline": "runner-ci", + "snapshot_index": 5233, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:83357f1@sha256:adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "sha256": "adb922d738b50876f1cd13f5a998ade341abfd64b3561d0889264399c33c528b", + "description": "1 instance changed", + "reported_at": 1786679758.5206547, + "pipeline": "creator-ci", "deployments": [], "flows": [ { - "flow_name": "runner-ci", + "flow_name": "creator-ci", "deployments": null }, { - "flow_name": "production-promotion", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "production-promotion", "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": "changed", - "code_diff": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/creator/compare/89019f6d8059406e56fa499b2dec2dbf93f4d5c7...83357f112ef5c10b157cb84732c77965cc8ddc48", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=046fc54c-c295-45b3-bac0-81d40282" + "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/5174", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5174" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5233", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5233" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5174, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "sha256": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", + "snapshot_index": 5233, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "sha256": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "description": "1 instance changed", - "reported_at": 1785819238.477179, - "pipeline": "saver-ci", + "reported_at": 1786679758.5206547, + "pipeline": "languages-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "saver-ci", + "flow_name": "languages-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 }, { @@ -302,30 +310,30 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/saver/compare/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e...595e902fa2f5844d9ce0612a5c9295cd8dab5b97", + "code_diff": "https://github.com/cyber-dojo/languages-start-points/compare/6a7f7be81022f7ed3fa8383f016b55af86e2af23...068b3424c7da843a4f2d428d2e4915f33efc4a02", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/saver-ci/fingerprint/a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", - "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3?artifact_id=8cfcfa9a-8b26-401b-8c06-945fff4f" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5174", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5174" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5233", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5233" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5174, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "sha256": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "snapshot_index": 5233, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "sha256": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "description": "1 instance changed", - "reported_at": 1785819238.477179, - "pipeline": "languages-start-points-ci", + "reported_at": 1786679758.5206547, + "pipeline": "exercises-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "languages-start-points-ci", + "flow_name": "exercises-start-points-ci", "deployments": null }, { @@ -344,25 +352,25 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "code_diff": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/languages-start-points-ci/fingerprint/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "html": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5174", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5174" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5233", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5233" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5173, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "sha256": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "snapshot_index": 5233, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "sha256": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "description": "1 instance changed", - "reported_at": 1785819058.4024458, + "reported_at": 1786679758.5206547, "pipeline": "spooler-ci", "deployments": [], "flows": [ @@ -386,38 +394,38 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", + "code_diff": "https://github.com/cyber-dojo/spooler/compare/c81791fd10558a59f83876137fb021abcd89f262...dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5173", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5173" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5233", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5233" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5173, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "sha256": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "snapshot_index": 5232, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:fb79174@sha256:b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "sha256": "b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", "description": "1 instance changed", - "reported_at": 1785819058.4024458, - "pipeline": "custom-start-points-ci", + "reported_at": 1786679638.3800714, + "pipeline": "nginx-ci", "deployments": [], "flows": [ { - "flow_name": "custom-start-points-ci", + "flow_name": "nginx-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 }, { @@ -428,38 +436,38 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "code_diff": "https://github.com/cyber-dojo/nginx/compare/5ce2769937a4014a853787d7b3d89ec30b6ac967...fb791742054fa28dd89269aac8002ebfd7b3386e", "_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/nginx-ci/fingerprint/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf", + "html": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/b70ff1f9493f5d4205e0e95e565b3fc4d909de237b10e490b250671d0d6895cf?artifact_id=b9778ac6-6d83-4954-98ba-a3e60a22" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5173", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5173" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5232", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5232" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5173, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:89019f6@sha256:aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "sha256": "aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", + "snapshot_index": 5231, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "sha256": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "description": "1 instance changed", - "reported_at": 1785819058.4024458, - "pipeline": "creator-ci", + "reported_at": 1786679578.5574222, + "pipeline": "saver-ci", "deployments": [], "flows": [ { - "flow_name": "creator-ci", + "flow_name": "saver-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 }, { @@ -469,39 +477,39 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/creator/compare/07ed087071878b405ac1cf7fe77e5d8c70ce3a4b...89019f6d8059406e56fa499b2dec2dbf93f4d5c7", + "type": "changed", + "code_diff": "https://github.com/cyber-dojo/saver/compare/595e902fa2f5844d9ce0612a5c9295cd8dab5b97...36f0420f728fe61e44a3ab0043cf9a3d70863cad", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34", - "html": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aa64db9bd0519d00fba81faf620d0bb1aae3d13839b585ed2ec8179d5e035a34?artifact_id=e6a23489-6ea9-44f6-b4de-577edc06" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5173", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5173" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5231", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5231" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5173, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:2779354@sha256:af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "sha256": "af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "description": "3 instances changed", - "reported_at": 1785819058.4024458, - "pipeline": "web-ci", + "snapshot_index": 5230, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:2b300f4@sha256:1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "sha256": "1342e060fb8af6c34d004e474544d1472b940250eb0084f206c3d7bf9d78e2b5", + "description": "1 instance changed", + "reported_at": 1786679518.6214967, + "pipeline": "dashboard-ci", "deployments": [], "flows": [ { - "flow_name": "web-ci", + "flow_name": "dashboard-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 }, { @@ -511,73 +519,73 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/dashboard/compare/da7bacefac23b0983d2b9f39d87508e0f85b1167...2b300f450f72006f6a9000aaf9cd04485f1e8095", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5173", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5173" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5230", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5230" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5173, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "sha256": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "snapshot_index": 5230, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:36f0420@sha256:2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "sha256": "2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", "description": "1 instance changed", - "reported_at": 1785819058.4024458, - "pipeline": "exercises-start-points-ci", + "reported_at": 1786679518.6214967, + "pipeline": "saver-ci", "deployments": [], "flows": [ { - "flow_name": "exercises-start-points-ci", + "flow_name": "saver-ci", "deployments": null }, { - "flow_name": "production-promotion", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "production-promotion", "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/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "code_diff": "https://github.com/cyber-dojo/saver/compare/595e902fa2f5844d9ce0612a5c9295cd8dab5b97...36f0420f728fe61e44a3ab0043cf9a3d70863cad", "_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/saver-ci/fingerprint/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a", + "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/2ec004d6e7c2668ff407b4384d6b4c62f92d9606ae18447c5fb326211921bc6a?artifact_id=01bf7de8-52fc-4585-a4b6-abf82047" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5173", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5173" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5230", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5230" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5173, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:c221bb1@sha256:d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", - "sha256": "d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", + "snapshot_index": 5230, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:dc7dea2@sha256:ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", + "sha256": "ff871c3c8f4b5cfb60012bed1cd7f020b20f17fdabc2db0d8a5c77e75518fce0", "description": "1 instance changed", - "reported_at": 1785819058.4024458, - "pipeline": "nginx-ci", + "reported_at": 1786679518.6214967, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "nginx-ci", + "flow_name": "spooler-ci", "deployments": null }, { @@ -587,43 +595,47 @@ kosli log environment aws-prod --output=json { "flow_name": "snyk-aws-prod-per-artifact", "deployments": null + }, + { + "flow_name": "snyk-aws-beta-per-artifact", + "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/nginx/compare/bc3fd56aa1076613dc6631f817fb336424824506...c221bb1cdea95e14bc2df052e894756a9d96c378", + "code_diff": "https://github.com/cyber-dojo/spooler/compare/c81791fd10558a59f83876137fb021abcd89f262...dc7dea2d9086fcdfe4629f3ab02501ed92aad1bb", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/nginx-ci/fingerprint/d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355", - "html": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/d801a758e959a9e30ddeb9f82df9ff6eb4515eb9e6bb6a7d2b57500d0e665355?artifact_id=071c9aea-36bf-4284-9394-80b05793" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5173", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5173" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5230", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5230" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5173, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "sha256": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "snapshot_index": 5229, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:068b342@sha256:adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", + "sha256": "adf2596645ae3fe9b711849a2e9aae3a65173b270963e3214b9c7ea00b03c1cb", "description": "1 instance changed", - "reported_at": 1785819058.4024458, - "pipeline": "differ-ci", + "reported_at": 1786598698.4780145, + "pipeline": "languages-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "differ-ci", + "flow_name": "languages-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 }, { @@ -633,58 +645,58 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/differ/compare/1b7ea87a174a1a290600b469dc1029ec4c974320...10e162d4e1294815375a31121f14d57e13183b34", + "type": "changed", + "code_diff": "https://github.com/cyber-dojo/languages-start-points/compare/6a7f7be81022f7ed3fa8383f016b55af86e2af23...068b3424c7da843a4f2d428d2e4915f33efc4a02", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/differ-ci/fingerprint/f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", - "html": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4?artifact_id=7e8c883e-f5ed-4df1-81d0-6b2959ee" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5173", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5173" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5229", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5229" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5172, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "sha256": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "description": "1 instance changed", - "reported_at": 1785818998.3559153, - "pipeline": "spooler-ci", + "snapshot_index": 5229, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:85cac88@sha256:f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "sha256": "f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "description": "3 instances changed", + "reported_at": 1786598698.4780145, + "pipeline": "runner-ci", "deployments": [], "flows": [ { - "flow_name": "spooler-ci", + "flow_name": "runner-ci", "deployments": null }, { - "flow_name": "production-promotion", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "production-promotion", "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": "changed", - "code_diff": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", + "code_diff": "https://github.com/cyber-dojo/runner/compare/48bb36950ae12b98bdcaf39d77225a3ca7b1dda3...85cac880cb74678426eb2ed4dbf2538995404c5c", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096", + "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/f3cdc22a599ddb789e7791389a5a58b43fd9c30d3af079aec392d5962d181096?artifact_id=d4d2a067-63c8-4403-a6f5-554e6fef" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5172", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5172" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5229", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5229" } } } diff --git a/client_reference/kosli_snapshot_ecs.md b/client_reference/kosli_snapshot_ecs.md index b7ac62f..928b54b 100644 --- a/client_reference/kosli_snapshot_ecs.md +++ b/client_reference/kosli_snapshot_ecs.md @@ -104,7 +104,7 @@ kosli snapshot ecs my-env --clusters my-cluster ... ```shell -kosli snapshot ecs my-env --clusters-regex "my-cluster-*" ... +kosli snapshot ecs my-env --clusters-regex "^my-cluster-.*" ... ``` @@ -122,7 +122,7 @@ kosli snapshot ecs my-env --exclude my-cluster ... ```shell -kosli snapshot ecs my-env --exclude-regex "my-cluster-*" ... +kosli snapshot ecs my-env --exclude-regex "^my-cluster-.*" ... ``` @@ -140,13 +140,13 @@ kosli snapshot ecs my-env --clusters my-cluster --services backend-app ... ```shell -kosli snapshot ecs my-env --clusters my-cluster --services-regex "backend-*" ... +kosli snapshot ecs my-env --clusters my-cluster --services-regex "^backend-.*" ... ``` ```shell -kosli snapshot ecs my-env --services-regex "*-prod-*" ... +kosli snapshot ecs my-env --services-regex ".*-prod-.*" ... ``` @@ -164,13 +164,13 @@ kosli snapshot ecs my-env --services backend-app,frontend-app ... ```shell -kosli snapshot ecs my-env --clusters my-cluster --exclude-services-regex "backend-*" ... +kosli snapshot ecs my-env --clusters my-cluster --exclude-services-regex "^backend-.*" ... ``` ```shell -kosli snapshot ecs my-env --exclude-services-regex "*-prod-*" ... +kosli snapshot ecs my-env --exclude-services-regex ".*-prod-.*" ... ``` diff --git a/client_reference/overview.md b/client_reference/overview.md index 83021e0..b48a19e 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.36.5**. + This reference was generated from Kosli CLI **v2.36.6**. The Kosli CLI allows you to interact with Kosli from your terminal and CI/CD pipelines.