diff --git a/client_reference/kosli_assert_approval.md b/client_reference/kosli_assert_approval.md deleted file mode 100644 index 9dce287..0000000 --- a/client_reference/kosli_assert_approval.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: "kosli assert approval" -tag: "DEPRECATED" -description: "Assert an artifact in Kosli has been approved for deployment. " ---- - -import CliDeprecatedNotice from "/snippets/cli-deprecated-notice.mdx"; - - - -## Synopsis - -```shell -kosli assert approval [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags] -``` - -Assert an artifact in Kosli has been approved for deployment. -Exits with non-zero code if the artifact has not been approved. - -The artifact fingerprint can be provided directly with the `--fingerprint` flag, or -calculated based on `--artifact-type` flag. - -Artifact type can be one of: "file" for files, "dir" for directories, "oci" for container -images in registries or "docker" for local docker images. - -Note: `--artifact-type=docker` reads the image's repo digest via the local Docker daemon. -The image must have been pushed to or pulled from a registry for a repo digest to exist; -a freshly built image (just `docker build`) will not have one. If the image is already in -a registry, prefer `--artifact-type=oci`, which fetches the digest directly from the -registry without needing a local Docker daemon. - -For `--artifact-type=oci` (and for `--artifact-type=docker` when `--registry-username` -is set), registry credentials are resolved as follows: - 1) If `--registry-username` (and optionally `--registry-password`) is set, it is used directly. - 2) Otherwise, credentials are discovered automatically from: - - the Docker config file (`~/.docker/config.json`, populated by `docker login`) - - the Podman/containers auth file (`~/.config/containers/auth.json`, or `$REGISTRY_AUTH_FILE`) - - any Docker credential helper configured in that config (e.g. `docker-credential-ecr-login` - for AWS ECR, `docker-credential-gcloud` for GCR/Artifact Registry, an ACR helper for Azure, - or a local keychain helper), invoked as an external binary on `$PATH` - - if none of the above yield credentials, the registry is accessed anonymously, which works - for public images - `--registry-provider` is deprecated and no longer used. - - - -## Flags -| Flag | Description | -| :--- | :--- | -| `-t`, `--artifact-type` string | The type of the artifact to calculate its SHA256 fingerprint. One of: [oci, docker, file, dir]. Only required if you want Kosli to calculate the fingerprint for you (i.e. when you don't specify '`--fingerprint`' on commands that allow it). | -| `-D`, `--dry-run` | [optional] Run in dry-run mode. When enabled, no data is sent to Kosli and the CLI exits with 0 exit code regardless of any errors. | -| `-x`, `--exclude` strings | [optional] The comma separated list of directories and files to exclude from fingerprinting. Can take glob patterns. Only applicable for `--artifact-type` dir. | -| `-F`, `--fingerprint` string | [conditional] The SHA256 fingerprint of the artifact. Only required if you don't specify '`--artifact-type`'. | -| `-f`, `--flow` string | The Kosli flow name. | -| `-h`, `--help` | help for approval | -| `--registry-password` string | [conditional] The container registry password or access token. Only required if you want to read container image SHA256 digest from a remote container registry and it is not already accessible via Docker/Podman auth files or a credential helper. | -| `--registry-username` string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry and it is not already accessible via Docker/Podman auth files or a credential helper. | - - -## Flags inherited from parent commands -| Flag | Description | -| :--- | :--- | -| `-a`, `--api-token` string | The Kosli API token. | -| `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | -| `--debug` | [optional] Print debug logs to stdout. | -| `-H`, `--host` string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") | -| `--http-proxy` string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` | -| `-r`, `--max-api-retries` int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) | -| `--org` string | The Kosli organization. | -| `-q`, `--quiet` | [optional] Suppress non-critical warning messages. Errors and normal output are not affected. If both `--quiet` and `--debug` are set, `--debug` wins. | - - -## Examples Use Cases - -These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables). - - - -```shell -kosli assert approval FILE.tgz - --artifact-type file - - -``` - - -```shell -kosli assert approval - --fingerprint yourArtifactFingerprint -``` - - - diff --git a/client_reference/kosli_begin_trail.md b/client_reference/kosli_begin_trail.md index 3c9bcb3..afaed00 100644 --- a/client_reference/kosli_begin_trail.md +++ b/client_reference/kosli_begin_trail.md @@ -60,7 +60,7 @@ 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/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b/.github/workflows/main.yml#L78), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/runner-ci/trails/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b?attestation_id=1). + In [this YAML file](https://github.com/cyber-dojo/runner/blob/19f873464a01f28ecd588504ffe03529119d6297/.github/workflows/main.yml#L78), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/runner-ci/trails/19f873464a01f28ecd588504ffe03529119d6297?attestation_id=1). View an example of the `kosli begin trail` command in GitLab. diff --git a/client_reference/kosli_create_flow.md b/client_reference/kosli_create_flow.md index 798f8b4..355884f 100644 --- a/client_reference/kosli_create_flow.md +++ b/client_reference/kosli_create_flow.md @@ -45,7 +45,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/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b/.github/workflows/main.yml#L62) + In [this YAML file](https://github.com/cyber-dojo/runner/blob/19f873464a01f28ecd588504ffe03529119d6297/.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 99cc574..a1c77ca 100644 --- a/client_reference/kosli_diff_snapshots.md +++ b/client_reference/kosli_diff_snapshots.md @@ -66,7 +66,7 @@ kosli diff snapshots aws-beta aws-prod --output=json ```json { "snappish1": { - "snapshot_id": "aws-beta#7837", + "snapshot_id": "aws-beta#7858", "artifacts": [ { "fingerprint": "278a29bc232ce0294ce46cd08bb3f3a28ce53ddc14e588e00f67f6a93173b916", @@ -77,12 +77,12 @@ kosli diff snapshots aws-beta aws-prod --output=json "instance_count": 3 }, { - "fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "most_recent_timestamp": 1785053313, - "flow": "runner-ci", - "commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", - "instance_count": 3 + "fingerprint": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "most_recent_timestamp": 1785229556, + "flow": "saver-ci", + "commit_url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "instance_count": 1 }, { "fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", @@ -135,7 +135,7 @@ kosli diff snapshots aws-beta aws-prod --output=json ] }, "snappish2": { - "snapshot_id": "aws-prod#5102", + "snapshot_id": "aws-prod#5116", "artifacts": [ { "fingerprint": "0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", @@ -185,14 +185,6 @@ kosli diff snapshots aws-beta aws-prod --output=json "commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "instance_count": 1 }, - { - "fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "most_recent_timestamp": 1784962821, - "flow": "runner-ci", - "commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "instance_count": 3 - }, { "fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", @@ -200,6 +192,14 @@ kosli diff snapshots aws-beta aws-prod --output=json "flow": "languages-start-points-ci", "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", "instance_count": 1 + }, + { + "fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "most_recent_timestamp": 1784443888, + "flow": "saver-ci", + "commit_url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72", + "instance_count": 1 } ] }, @@ -208,6 +208,22 @@ kosli diff snapshots aws-beta aws-prod --output=json }, "not-changed": { "artifacts": [ + { + "fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "most_recent_timestamp": 1785138609, + "flow": "runner-ci", + "commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", + "instance_count": 3 + }, + { + "fingerprint": "a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:92c624e@sha256:a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975", + "most_recent_timestamp": 1785224823, + "flow": "spooler-ci", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/92c624eabb024729fb2af6cdbe354db11ee3882f", + "instance_count": 1 + }, { "fingerprint": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", @@ -215,14 +231,6 @@ kosli diff snapshots aws-beta aws-prod --output=json "flow": "creator-ci", "commit_url": "https://github.com/cyber-dojo/creator/commit/76672a8b247049c3ce8c3140852e17be8f47d995", "instance_count": 1 - }, - { - "fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "most_recent_timestamp": 1784443888, - "flow": "saver-ci", - "commit_url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72", - "instance_count": 1 } ] } diff --git a/client_reference/kosli_get_approval.md b/client_reference/kosli_get_approval.md deleted file mode 100644 index 4df52e2..0000000 --- a/client_reference/kosli_get_approval.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "kosli get approval" -tag: "DEPRECATED" -description: "Get an approval from a specified flow." ---- - -import CliDeprecatedNotice from "/snippets/cli-deprecated-notice.mdx"; - - - -## Synopsis - -```shell -kosli get approval EXPRESSION [flags] -``` - -Get an approval from a specified flow. -EXPRESSION can be specified as follows: -- flowName - - the latest approval to flowName, at the time of the request - - e.g., **creator** -- flowName#N - - the Nth approval, counting from 1 - - e.g., **creator#453** -- flowName~N - - the Nth approval behind the latest, at the time of the request - - e.g., **creator~56** - - -## Flags -| Flag | Description | -| :--- | :--- | -| `-h`, `--help` | help for approval | -| `-o`, `--output` string | [defaulted] The format of the output. Valid formats are: [table, json]. (default "table") | - - -## Flags inherited from parent commands -| Flag | Description | -| :--- | :--- | -| `-a`, `--api-token` string | The Kosli API token. | -| `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | -| `--debug` | [optional] Print debug logs to stdout. | -| `-H`, `--host` string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") | -| `--http-proxy` string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` | -| `-r`, `--max-api-retries` int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) | -| `--org` string | The Kosli organization. | -| `-q`, `--quiet` | [optional] Suppress non-critical warning messages. Errors and normal output are not affected. If both `--quiet` and `--debug` are set, `--debug` wins. | - - -## Examples Use Cases - -These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables). - - - -```shell -kosli get approval flowName~1 - -``` - - -```shell -kosli get approval flowName#10 - -``` - - -```shell -kosli get approval flowName -``` - - - diff --git a/client_reference/kosli_get_environment.md b/client_reference/kosli_get_environment.md index ca43148..79893a4 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": 1785096298.5593374, - "last_reported_at": 1785096298.5593374, - "last_changed_at": 1785042598.396489, + "last_modified_at": 1785233578.5153272, + "last_reported_at": 1785233578.5153272, + "last_changed_at": 1785224878.4373872, "state": true, "include_scaling": false, "tags": { diff --git a/client_reference/kosli_get_snapshot.md b/client_reference/kosli_get_snapshot.md index d63804e..d528c77 100644 --- a/client_reference/kosli_get_snapshot.md +++ b/client_reference/kosli_get_snapshot.md @@ -64,21 +64,21 @@ kosli get snapshot aws-prod --output=json ```json { - "index": 5102, + "index": 5116, "is_latest": true, "next_snapshot_timestamp": null, "artifact_compliance_count": { - "true": 10, + "true": 11, "false": 0, "null": 0 }, - "timestamp": 1785042598.396489, + "timestamp": 1785224878.4373872, "type": "ECS", "compliant": true, - "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5102", + "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5116", "artifacts": [ { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:92c624e@sha256:a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975", "compliant": true, "deployments": [], "policy_decisions": [ @@ -100,8 +100,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null } }, @@ -109,23 +109,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": null } } @@ -145,8 +129,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": "COMPLIANT" } }, @@ -154,23 +138,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": "COMPLIANT" } } @@ -189,38 +157,22 @@ kosli get snapshot aws-prod --output=json "for_control": null } }, - "satisfied": true, - "ignored": false, + "satisfied": null, + "ignored": true, "resolutions": [ - { - "type": "rule_satisfied", - "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null - } - }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "flow_name": "production-promotion", + "trail_name": "promotion-one-140", "artifact_status": null } } @@ -247,8 +199,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null } }, @@ -256,23 +208,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": null } } @@ -292,8 +228,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": "COMPLIANT" } }, @@ -301,23 +237,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": "COMPLIANT" } } @@ -336,32 +256,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", - "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "artifact_status": null, - "for_control": "SDLC-CTRL-0002" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null, - "for_control": "SDLC-CTRL-0002" - } - }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -369,8 +271,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "flow_name": "production-promotion", + "trail_name": "promotion-one-140", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -398,8 +300,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null } }, @@ -407,23 +309,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": null } } @@ -443,8 +329,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": "COMPLIANT" } }, @@ -452,23 +338,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": "COMPLIANT" } } @@ -487,14 +357,14 @@ kosli get snapshot aws-prod --output=json "for_control": "SDLC-CTRL-0022" } }, - "satisfied": true, - "ignored": false, + "satisfied": null, + "ignored": true, "resolutions": [ { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -503,25 +373,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null, - "for_control": "SDLC-CTRL-0022" - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": null, - "for_control": "SDLC-CTRL-0022" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -549,8 +401,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null } }, @@ -558,23 +410,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": null } } @@ -594,8 +430,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": "COMPLIANT" } }, @@ -603,23 +439,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": "COMPLIANT" } } @@ -644,8 +464,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null } }, @@ -653,23 +473,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": null } } @@ -696,8 +500,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": null } }, @@ -705,23 +509,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": null } } @@ -747,8 +535,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", "artifact_status": "COMPLIANT" } }, @@ -756,23 +544,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "trail_name": "promotion-one-140", "artifact_status": "COMPLIANT" } } @@ -783,169 +555,105 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "fingerprint": "a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975", "creationTimestamp": [ - 1784962818, - 1784962820, - 1784962821 + 1785224823 ], "pods": null, "annotation": { - "type": "updated-provenance", - "was": 3, - "now": 3 + "type": "started-compliant", + "was": 0, + "now": 1 }, - "flow_name": "runner-ci", - "git_commit": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b?artifact_id=78314ad9-75a0-4789-9a13-dba5ade2", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", + "flow_name": "spooler-ci", + "git_commit": "92c624eabb024729fb2af6cdbe354db11ee3882f", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/92c624eabb024729fb2af6cdbe354db11ee3882f", + "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975?artifact_id=42025c9c-2608-4ef0-b140-84548282", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/bc233ac93efa55b9db67db9062b7fbb600726c8a...6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_git_commit": "bc233ac93efa55b9db67db9062b7fbb600726c8a", - "previous_fingerprint": "5f04f692b28c0d7810d5fee3fb10e7640e585efb231518478d403716c9113f71", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:bc233ac@sha256:5f04f692b28c0d7810d5fee3fb10e7640e585efb231518478d403716c9113f71", + "diff_url": "https://github.com/cyber-dojo/spooler/compare/b592c3af03e9530c1d224686a1745e4a12e1df00...92c624eabb024729fb2af6cdbe354db11ee3882f", + "previous_git_commit": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "previous_fingerprint": "5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:b592c3a@sha256:5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/bc233ac93efa55b9db67db9062b7fbb600726c8a", - "previous_trail_name": "bc233ac93efa55b9db67db9062b7fbb600726c8a", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/b592c3af03e9530c1d224686a1745e4a12e1df00", + "previous_trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 38793.0, + "commit_lead_time": 1217.0, "flows": [ { - "flow_name": "runner-ci", - "trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "template_reference_name": "runner", - "git_commit": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "flow_name": "spooler-ci", + "trail_name": "92c624eabb024729fb2af6cdbe354db11ee3882f", + "template_reference_name": "spooler", + "git_commit": "92c624eabb024729fb2af6cdbe354db11ee3882f", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/92c624eabb024729fb2af6cdbe354db11ee3882f", "git_commit_info": { - "sha1": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "message": "Merge pull request #274 from cyber-dojo/ignore-buildkit-llbsolver-and-fileop-vulns-18265269-18269949\n\nIgnore two non-exploitable BuildKit vulns 18265269 and 18269949", + "sha1": "92c624eabb024729fb2af6cdbe354db11ee3882f", + "message": "Merge pull request #11 from cyber-dojo/run-ci-workflow-3\n\nRun ci workflow to check deployment", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784924025.0, - "url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b" + "timestamp": 1785223606.0, + "url": "https://github.com/cyber-dojo/spooler/commit/92c624eabb024729fb2af6cdbe354db11ee3882f" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b?artifact_id=78314ad9-75a0-4789-9a13-dba5ade2", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975?artifact_id=42025c9c-2608-4ef0-b140-84548282", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/bc233ac93efa55b9db67db9062b7fbb600726c8a...6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_git_commit": "bc233ac93efa55b9db67db9062b7fbb600726c8a", - "previous_fingerprint": "5f04f692b28c0d7810d5fee3fb10e7640e585efb231518478d403716c9113f71", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:bc233ac@sha256:5f04f692b28c0d7810d5fee3fb10e7640e585efb231518478d403716c9113f71", + "diff_url": "https://github.com/cyber-dojo/spooler/compare/b592c3af03e9530c1d224686a1745e4a12e1df00...92c624eabb024729fb2af6cdbe354db11ee3882f", + "previous_git_commit": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "previous_fingerprint": "5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:b592c3a@sha256:5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/bc233ac93efa55b9db67db9062b7fbb600726c8a", - "previous_trail_name": "bc233ac93efa55b9db67db9062b7fbb600726c8a", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/b592c3af03e9530c1d224686a1745e4a12e1df00", + "previous_trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 38793.0, + "commit_lead_time": 1217.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-136", - "template_reference_name": "runner", - "git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", + "trail_name": "promotion-one-140", + "template_reference_name": "spooler", + "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/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b?artifact_id=188d0c80-4887-4724-bb2e-f479d41d", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975?artifact_id=fcfeda3a-8a41-444b-af27-4d97a807", "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": "5f04f692b28c0d7810d5fee3fb10e7640e585efb231518478d403716c9113f71", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:bc233ac@sha256:5f04f692b28c0d7810d5fee3fb10e7640e585efb231518478d403716c9113f71", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/81c216a55b2cb1787645e699ceaceca868cad253...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", + "previous_fingerprint": "5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:b592c3a@sha256:5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", "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-135", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "previous_trail_name": "promotion-one-139", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 1110117.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "template_reference_name": "runner", - "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "git_commit_info": { - "sha1": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "message": "Add emoji prefixes to workflow names\n\n Match the visual convention already used in the kosli-demo/stochastic-committer\n repo, where the Actions sidebar distinguishes workflow roles at a glance.\n\n The two aws-* files are the top-level entry points, triggered by dispatch and\n schedule, so they get the play emoji. The three reusable workflow_call\n sub-workflows get the package emoji to mark them as callable building blocks.", - "author": "JonJagger ", - "branch": "main", - "timestamp": 1783850974.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b?artifact_id=867f55fc-92d2-4e3e-be56-7926eea4", - "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "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": "runner-414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", - "previous_template_reference_name": "runner" - }, - "commit_lead_time": 1111844.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "template_reference_name": "runner", - "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "git_commit_info": { - "sha1": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "message": "Add emoji prefixes to workflow names\n\n Match the visual convention already used in the kosli-demo/stochastic-committer\n repo, where the Actions sidebar distinguishes workflow roles at a glance.\n\n The two aws-* files are the top-level entry points, triggered by dispatch and\n schedule, so they get the play emoji. The three reusable workflow_call\n sub-workflows get the package emoji to mark them as callable building blocks.", - "author": "JonJagger ", - "branch": "main", - "timestamp": 1783850974.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b?artifact_id=0a41f7b5-5655-4a73-91e0-3644b180", - "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "cf3f94bb0d1130ca799b94450614109a917d8c53ea99fc20bd04c51141873fcf", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:88b7eea@sha256:cf3f94bb0d1130ca799b94450614109a917d8c53ea99fc20bd04c51141873fcf", - "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-cf3f94bb0d1130ca799b94450614109a917d8c53ea99fc20bd04c51141873fcf", - "previous_template_reference_name": "runner" - }, - "commit_lead_time": 1111844.0, + "commit_lead_time": 81769.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/cea8bf711a934a96a33bbcb4ba1a6886", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ca0246c31f1e4a9d9819a606b9cd6715", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "compliant": true, "deployments": [], "policy_decisions": [ @@ -967,8 +675,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -976,7 +684,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null } }, @@ -984,7 +692,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, @@ -992,7 +700,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -1012,8 +720,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -1021,7 +729,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, @@ -1029,7 +737,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, @@ -1037,7 +745,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -1062,8 +770,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -1071,7 +779,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null } }, @@ -1079,7 +787,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, @@ -1087,7 +795,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -1114,8 +822,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -1123,7 +831,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null } }, @@ -1131,7 +839,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, @@ -1139,7 +847,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -1159,8 +867,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -1168,7 +876,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, @@ -1176,7 +884,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, @@ -1184,7 +892,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -1209,8 +917,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1219,7 +927,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1228,7 +936,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1237,7 +945,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1265,8 +973,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -1274,7 +982,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null } }, @@ -1282,7 +990,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, @@ -1290,7 +998,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -1310,8 +1018,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -1319,7 +1027,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, @@ -1327,7 +1035,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, @@ -1335,7 +1043,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -1360,8 +1068,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1370,7 +1078,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1379,7 +1087,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1388,7 +1096,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1416,8 +1124,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -1425,7 +1133,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null } }, @@ -1433,7 +1141,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, @@ -1441,7 +1149,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -1461,8 +1169,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -1470,7 +1178,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, @@ -1478,7 +1186,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, @@ -1486,7 +1194,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -1511,8 +1219,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -1520,7 +1228,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null } }, @@ -1528,7 +1236,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, @@ -1536,7 +1244,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -1563,8 +1271,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -1572,7 +1280,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": null } }, @@ -1580,7 +1288,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, @@ -1588,7 +1296,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -1614,8 +1322,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -1623,7 +1331,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, @@ -1631,7 +1339,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, @@ -1639,7 +1347,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -1650,69 +1358,71 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "creationTimestamp": [ - 1784443888 + 1785138608, + 1785138608, + 1785138609 ], "pods": null, "annotation": { "type": "unchanged", - "was": 1, - "now": 1 + "was": 3, + "now": 3 }, - "flow_name": "saver-ci", - "git_commit": "f4bb3412725258648a7cf5ce1a776609b4dade72", - "commit_url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72", - "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=e3c009b8-349c-4f4e-8730-f45dfccf", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/saver/compare/55561dc8a8d25313f5318038f26892cdee5e90f7...f4bb3412725258648a7cf5ce1a776609b4dade72", - "previous_git_commit": "55561dc8a8d25313f5318038f26892cdee5e90f7", - "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/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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/55561dc8a8d25313f5318038f26892cdee5e90f7", - "previous_trail_name": "55561dc8a8d25313f5318038f26892cdee5e90f7", - "previous_template_reference_name": "saver" + "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "previous_trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 3678.0, + "commit_lead_time": 85840.0, "flows": [ { - "flow_name": "saver-ci", - "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", - "template_reference_name": "saver", - "git_commit": "f4bb3412725258648a7cf5ce1a776609b4dade72", - "commit_url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "template_reference_name": "runner", + "git_commit": "19f873464a01f28ecd588504ffe03529119d6297", + "commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", "git_commit_info": { - "sha1": "f4bb3412725258648a7cf5ce1a776609b4dade72", - "message": "Docs api tab seq and restructure (#435)\n\n* Document tab_seq and restructure the API reference\n\n The saver now dedups kata writes on (laptop_id, tab_seq), so tab_seq\n needs documenting alongside laptop_id on the nine write methods, and\n the read-event examples need it shown on committed events.\n\n While there, make the API reference easier to scan and navigate:\n - headings and links use bare method names (params moved below)\n - each section lists its methods in a Verb/Method/Description table\n - Cluster/Group/Kata/ID/Diff/Probe each gain a one-line blurb\n - each method leads with a description item; parameters become a\n Name/Type/Description table\n - kata_events/kata_event examples refreshed to the v2 event shape\n\n Co-Authored-By: Claude Opus 4.8 (1M context) \n\n* Add client-side tab_seq to the kata write methods\n\n The saver dedups kata writes on (laptop_id, tab_seq), but the client\n library only forwarded laptop_id and had no tab_seq coverage, so a\n redelivered write could not be exercised end-to-end from the client.\n\n Make tab_seq a required arg on the five client write methods (forwarded\n in the POST body like laptop_id), have the test-base forwarders default\n it via a per-test next_tab_seq counter, and add kata_tab_seq_test:\n tab_seq is stored and read back, a redelivered (laptop_id, tab_seq) is a\n no-op, and distinct tab_seqs both commit. Same-laptop concurrent writes\n now pass a distinct tab_seq per racing thread so they are not deduped.\n\n Co-Authored-By: Claude Opus 4.8 (1M context) ", + "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", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784440210.0, - "url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72" + "timestamp": 1785052768.0, + "url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=e3c009b8-349c-4f4e-8730-f45dfccf", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", + "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", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/saver/compare/55561dc8a8d25313f5318038f26892cdee5e90f7...f4bb3412725258648a7cf5ce1a776609b4dade72", - "previous_git_commit": "55561dc8a8d25313f5318038f26892cdee5e90f7", - "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/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", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/55561dc8a8d25313f5318038f26892cdee5e90f7", - "previous_trail_name": "55561dc8a8d25313f5318038f26892cdee5e90f7", - "previous_template_reference_name": "saver" + "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "previous_trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 3678.0, + "commit_lead_time": 85840.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-133", - "template_reference_name": "saver", + "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", "git_commit_info": { @@ -1723,27 +1433,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783852701.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=4863df5d-e4e4-4239-ba51-0c76d3e8", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=cceaf70c-da3e-4637-a622-d7091e3c", "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": "b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:55561dc@sha256:b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", "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-129", - "previous_template_reference_name": "saver" + "previous_trail_name": "promotion-one-136", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 591187.0, + "commit_lead_time": 1285907.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "template_reference_name": "saver", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "template_reference_name": "runner", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -1754,27 +1464,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=34f2124c-1f0f-4d0d-9e47-dc46b5fd", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=eb363a63-17e1-4ec2-8c13-7cd210d5", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:8c84fac@sha256:f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", + "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": "saver-f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", - "previous_template_reference_name": "saver" + "previous_trail_name": "runner-414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 592914.0, + "commit_lead_time": 1287634.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "template_reference_name": "saver", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "template_reference_name": "runner", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -1785,32 +1495,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=d5f98181-13ca-46fd-8442-613e76f8", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=e2c38ae9-2d66-41b8-a06f-14c1b5c3", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:55561dc@sha256:b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", "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_trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 592914.0, + "commit_lead_time": 1287634.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/a63d8644d8fc4fa8b527fabd8e6cec3a", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ffc316ec94724a67a7775accf9b9232a", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "compliant": true, "deployments": [], "policy_decisions": [ @@ -1832,8 +1542,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null } }, @@ -1841,7 +1551,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null } }, @@ -1849,7 +1559,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } }, @@ -1857,7 +1567,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } } @@ -1877,8 +1587,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": "COMPLIANT" } }, @@ -1886,7 +1596,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": "COMPLIANT" } }, @@ -1894,7 +1604,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } }, @@ -1902,7 +1612,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } } @@ -1927,8 +1637,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null } }, @@ -1936,7 +1646,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null } }, @@ -1944,7 +1654,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } }, @@ -1952,7 +1662,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } } @@ -1979,8 +1689,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null } }, @@ -1988,7 +1698,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null } }, @@ -1996,7 +1706,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } }, @@ -2004,7 +1714,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } } @@ -2024,8 +1734,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": "COMPLIANT" } }, @@ -2033,7 +1743,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": "COMPLIANT" } }, @@ -2041,7 +1751,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } }, @@ -2049,7 +1759,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } } @@ -2074,8 +1784,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2084,7 +1794,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2093,7 +1803,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2102,7 +1812,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2130,8 +1840,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null } }, @@ -2139,7 +1849,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null } }, @@ -2147,7 +1857,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } }, @@ -2155,7 +1865,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } } @@ -2175,8 +1885,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": "COMPLIANT" } }, @@ -2184,7 +1894,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": "COMPLIANT" } }, @@ -2192,7 +1902,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } }, @@ -2200,7 +1910,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } } @@ -2225,8 +1935,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2235,7 +1945,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2244,7 +1954,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2253,7 +1963,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2281,8 +1991,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null } }, @@ -2290,7 +2000,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null } }, @@ -2298,7 +2008,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } }, @@ -2306,7 +2016,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } } @@ -2326,8 +2036,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": "COMPLIANT" } }, @@ -2335,7 +2045,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": "COMPLIANT" } }, @@ -2343,7 +2053,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } }, @@ -2351,7 +2061,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } } @@ -2376,8 +2086,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null } }, @@ -2385,7 +2095,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null } }, @@ -2393,7 +2103,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } }, @@ -2401,7 +2111,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } } @@ -2428,8 +2138,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": null } }, @@ -2437,7 +2147,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": null } }, @@ -2445,7 +2155,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } }, @@ -2453,7 +2163,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": null } } @@ -2479,8 +2189,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", "artifact_status": "COMPLIANT" } }, @@ -2488,7 +2198,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", + "trail_name": "promotion-one-133", "artifact_status": "COMPLIANT" } }, @@ -2496,7 +2206,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } }, @@ -2504,7 +2214,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "artifact_status": "COMPLIANT" } } @@ -2515,9 +2225,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "creationTimestamp": [ - 1784357070 + 1784443888 ], "pods": null, "annotation": { @@ -2525,59 +2235,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "creator-ci", - "git_commit": "76672a8b247049c3ce8c3140852e17be8f47d995", - "commit_url": "https://github.com/cyber-dojo/creator/commit/76672a8b247049c3ce8c3140852e17be8f47d995", - "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=3cb9c270-d59b-4b28-b16a-b23d89d2", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", + "flow_name": "saver-ci", + "git_commit": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "commit_url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72", + "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=e3c009b8-349c-4f4e-8730-f45dfccf", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", - "previous_git_commit": "7e00b70f8911edf1c480ba9a8b9c2a280260cb08", - "previous_fingerprint": "0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:7e00b70@sha256:0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "diff_url": "https://github.com/cyber-dojo/saver/compare/55561dc8a8d25313f5318038f26892cdee5e90f7...f4bb3412725258648a7cf5ce1a776609b4dade72", + "previous_git_commit": "55561dc8a8d25313f5318038f26892cdee5e90f7", + "previous_fingerprint": "b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:55561dc@sha256:b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/7e00b70f8911edf1c480ba9a8b9c2a280260cb08", - "previous_trail_name": "7e00b70f8911edf1c480ba9a8b9c2a280260cb08", - "previous_template_reference_name": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/55561dc8a8d25313f5318038f26892cdee5e90f7", + "previous_trail_name": "55561dc8a8d25313f5318038f26892cdee5e90f7", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 45219.0, + "commit_lead_time": 3678.0, "flows": [ { - "flow_name": "creator-ci", - "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", - "template_reference_name": "creator", - "git_commit": "76672a8b247049c3ce8c3140852e17be8f47d995", - "commit_url": "https://github.com/cyber-dojo/creator/commit/76672a8b247049c3ce8c3140852e17be8f47d995", + "flow_name": "saver-ci", + "trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "template_reference_name": "saver", + "git_commit": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "commit_url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72", "git_commit_info": { - "sha1": "76672a8b247049c3ce8c3140852e17be8f47d995", - "message": "Read deployed image for drift-detection plan (#43)\n\nThe Detect Drift workflow runs a terraform plan with no build behind it,\nbut the ECS deployment requires a container image (TF_VAR_TAGGED_IMAGE).\nThe variable has no default and the task definition tracks it directly,\nso a drift plan either fails with \"no value for required variable\" or, if\ngiven a placeholder, reports permanent false drift on the task definition.\n\nBefore planning, each environment reads the image that is currently\ndeployed straight from its ECS task definition and passes it to the\nreusable drift workflow as TF_VAR_TAGGED_IMAGE. The image lookup is done\nexplicitly in this repository rather than in the shared kosli-dev/tf\nworkflow, so Kosli's own drift detection is unaffected.\n\nThe logic lives in a local reusable workflow, detect-drift-env.yml, which\nis parameterized by AWS account and environment. detect-drift.yml holds\nonly the schedule and a beta/prod matrix that calls it, so there is no\nduplication between environments and adding another is a two-line change.", - "author": "Graham Savage ", + "sha1": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "message": "Docs api tab seq and restructure (#435)\n\n* Document tab_seq and restructure the API reference\n\n The saver now dedups kata writes on (laptop_id, tab_seq), so tab_seq\n needs documenting alongside laptop_id on the nine write methods, and\n the read-event examples need it shown on committed events.\n\n While there, make the API reference easier to scan and navigate:\n - headings and links use bare method names (params moved below)\n - each section lists its methods in a Verb/Method/Description table\n - Cluster/Group/Kata/ID/Diff/Probe each gain a one-line blurb\n - each method leads with a description item; parameters become a\n Name/Type/Description table\n - kata_events/kata_event examples refreshed to the v2 event shape\n\n Co-Authored-By: Claude Opus 4.8 (1M context) \n\n* Add client-side tab_seq to the kata write methods\n\n The saver dedups kata writes on (laptop_id, tab_seq), but the client\n library only forwarded laptop_id and had no tab_seq coverage, so a\n redelivered write could not be exercised end-to-end from the client.\n\n Make tab_seq a required arg on the five client write methods (forwarded\n in the POST body like laptop_id), have the test-base forwarders default\n it via a per-test next_tab_seq counter, and add kata_tab_seq_test:\n tab_seq is stored and read back, a redelivered (laptop_id, tab_seq) is a\n no-op, and distinct tab_seqs both commit. Same-laptop concurrent writes\n now pass a distinct tab_seq per racing thread so they are not deduped.\n\n Co-Authored-By: Claude Opus 4.8 (1M context) ", + "author": "Jon Jagger ", "branch": "", - "timestamp": 1784311851.0, - "url": "https://github.com/cyber-dojo/creator/commit/76672a8b247049c3ce8c3140852e17be8f47d995" + "timestamp": 1784440210.0, + "url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=3cb9c270-d59b-4b28-b16a-b23d89d2", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=e3c009b8-349c-4f4e-8730-f45dfccf", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", - "previous_git_commit": "7e00b70f8911edf1c480ba9a8b9c2a280260cb08", - "previous_fingerprint": "0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:7e00b70@sha256:0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "diff_url": "https://github.com/cyber-dojo/saver/compare/55561dc8a8d25313f5318038f26892cdee5e90f7...f4bb3412725258648a7cf5ce1a776609b4dade72", + "previous_git_commit": "55561dc8a8d25313f5318038f26892cdee5e90f7", + "previous_fingerprint": "b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:55561dc@sha256:b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/7e00b70f8911edf1c480ba9a8b9c2a280260cb08", - "previous_trail_name": "7e00b70f8911edf1c480ba9a8b9c2a280260cb08", - "previous_template_reference_name": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/55561dc8a8d25313f5318038f26892cdee5e90f7", + "previous_trail_name": "55561dc8a8d25313f5318038f26892cdee5e90f7", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 45219.0, + "commit_lead_time": 3678.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-132", - "template_reference_name": "creator", + "trail_name": "promotion-one-133", + "template_reference_name": "saver", "git_commit": "76325d840dc66e1c84743725e17de05a16616419", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", "git_commit_info": { @@ -2588,27 +2298,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783852701.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=ebfdade0-510f-44f8-9b9f-2d4c7d0d", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=4863df5d-e4e4-4239-ba51-0c76d3e8", "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...76325d840dc66e1c84743725e17de05a16616419", - "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:7e00b70@sha256:0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/76325d840dc66e1c84743725e17de05a16616419...76325d840dc66e1c84743725e17de05a16616419", + "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", + "previous_fingerprint": "b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:55561dc@sha256:b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", "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": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", + "previous_trail_name": "promotion-one-129", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 504369.0, + "commit_lead_time": 591187.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "template_reference_name": "creator", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "template_reference_name": "saver", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -2619,27 +2329,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=507a7e91-5898-4ac8-b312-e319e4d3", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=5ec7bbf9-39b1-4e23-b016-29f20382", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "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/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": "saver-f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 506096.0, + "commit_lead_time": 592914.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "template_reference_name": "creator", + "trail_name": "saver-fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "template_reference_name": "saver", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -2650,32 +2360,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=c94b7898-c2d2-4e70-9471-09733cf0", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=482bfc49-53be-4268-bc5e-99cdec4f", "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/a517304f4e9013e2e9ea67e90c7342f7e56653f0...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_git_commit": "a517304f4e9013e2e9ea67e90c7342f7e56653f0", - "previous_fingerprint": "0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:7e00b70@sha256:0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_fingerprint": "b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:55561dc@sha256:b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/a517304f4e9013e2e9ea67e90c7342f7e56653f0", - "previous_trail_name": "creator-0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", - "previous_template_reference_name": "creator" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_trail_name": "saver-b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 506096.0, + "commit_lead_time": 592914.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/2730a627a7a3472b810cacada52f3935", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/a63d8644d8fc4fa8b527fabd8e6cec3a", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "compliant": true, "deployments": [], "policy_decisions": [ @@ -2697,8 +2407,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null } }, @@ -2706,23 +2416,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } } @@ -2742,8 +2452,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": "COMPLIANT" } }, @@ -2751,23 +2461,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } } @@ -2792,8 +2502,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null } }, @@ -2801,23 +2511,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } } @@ -2844,8 +2554,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null } }, @@ -2853,23 +2563,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } } @@ -2889,8 +2599,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": "COMPLIANT" } }, @@ -2898,23 +2608,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } } @@ -2939,8 +2649,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2949,7 +2659,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2957,8 +2667,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2966,8 +2676,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2995,8 +2705,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null } }, @@ -3004,23 +2714,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } } @@ -3040,8 +2750,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": "COMPLIANT" } }, @@ -3049,23 +2759,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } } @@ -3090,8 +2800,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3100,25 +2810,25 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "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": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "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": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3146,8 +2856,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null } }, @@ -3155,23 +2865,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } } @@ -3191,8 +2901,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": "COMPLIANT" } }, @@ -3200,23 +2910,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } } @@ -3241,8 +2951,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null } }, @@ -3250,23 +2960,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } } @@ -3293,8 +3003,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": null } }, @@ -3302,23 +3012,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } } @@ -3344,8 +3054,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", "artifact_status": "COMPLIANT" } }, @@ -3353,23 +3063,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", + "trail_name": "promotion-one-132", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } } @@ -3380,9 +3090,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "fingerprint": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "creationTimestamp": [ - 1784355921 + 1784357070 ], "pods": null, "annotation": { @@ -3390,59 +3100,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "dashboard-ci", - "git_commit": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=53e5b750-6f87-43db-a8a3-e1f5b1db", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "flow_name": "creator-ci", + "git_commit": "76672a8b247049c3ce8c3140852e17be8f47d995", + "commit_url": "https://github.com/cyber-dojo/creator/commit/76672a8b247049c3ce8c3140852e17be8f47d995", + "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=3cb9c270-d59b-4b28-b16a-b23d89d2", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/dashboard/compare/e4757683b74df7033c95aa544a7824b395c2f8bb...5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "previous_git_commit": "e4757683b74df7033c95aa544a7824b395c2f8bb", - "previous_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768@sha256:54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "diff_url": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", + "previous_git_commit": "7e00b70f8911edf1c480ba9a8b9c2a280260cb08", + "previous_fingerprint": "0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:7e00b70@sha256:0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/e4757683b74df7033c95aa544a7824b395c2f8bb", - "previous_trail_name": "e4757683b74df7033c95aa544a7824b395c2f8bb", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/7e00b70f8911edf1c480ba9a8b9c2a280260cb08", + "previous_trail_name": "7e00b70f8911edf1c480ba9a8b9c2a280260cb08", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 43879.0, + "commit_lead_time": 45219.0, "flows": [ { - "flow_name": "dashboard-ci", - "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "template_reference_name": "dashboard", - "git_commit": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "flow_name": "creator-ci", + "trail_name": "76672a8b247049c3ce8c3140852e17be8f47d995", + "template_reference_name": "creator", + "git_commit": "76672a8b247049c3ce8c3140852e17be8f47d995", + "commit_url": "https://github.com/cyber-dojo/creator/commit/76672a8b247049c3ce8c3140852e17be8f47d995", "git_commit_info": { - "sha1": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "message": "Read deployed image for drift-detection plan (#417)\n\nThe Detect Drift workflow runs a terraform plan with no build behind it,\nbut the ECS deployment requires a container image (TF_VAR_TAGGED_IMAGE).\nThe variable has no default and the task definition tracks it directly,\nso a drift plan either fails with \"no value for required variable\" or, if\ngiven a placeholder, reports permanent false drift on the task definition.\n\nBefore planning, each environment reads the image that is currently\ndeployed straight from its ECS task definition and passes it to the\nreusable drift workflow as TF_VAR_TAGGED_IMAGE. The image lookup is done\nexplicitly in this repository rather than in the shared kosli-dev/tf\nworkflow, so Kosli's own drift detection is unaffected.\n\nThe logic lives in a local reusable workflow, detect-drift-env.yml, which\nis parameterized by AWS account and environment. detect-drift.yml holds\nonly the schedule and a beta/prod matrix that calls it, so there is no\nduplication between environments and adding another is a two-line change.", + "sha1": "76672a8b247049c3ce8c3140852e17be8f47d995", + "message": "Read deployed image for drift-detection plan (#43)\n\nThe Detect Drift workflow runs a terraform plan with no build behind it,\nbut the ECS deployment requires a container image (TF_VAR_TAGGED_IMAGE).\nThe variable has no default and the task definition tracks it directly,\nso a drift plan either fails with \"no value for required variable\" or, if\ngiven a placeholder, reports permanent false drift on the task definition.\n\nBefore planning, each environment reads the image that is currently\ndeployed straight from its ECS task definition and passes it to the\nreusable drift workflow as TF_VAR_TAGGED_IMAGE. The image lookup is done\nexplicitly in this repository rather than in the shared kosli-dev/tf\nworkflow, so Kosli's own drift detection is unaffected.\n\nThe logic lives in a local reusable workflow, detect-drift-env.yml, which\nis parameterized by AWS account and environment. detect-drift.yml holds\nonly the schedule and a beta/prod matrix that calls it, so there is no\nduplication between environments and adding another is a two-line change.", "author": "Graham Savage ", "branch": "", - "timestamp": 1784312042.0, - "url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01" + "timestamp": 1784311851.0, + "url": "https://github.com/cyber-dojo/creator/commit/76672a8b247049c3ce8c3140852e17be8f47d995" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=53e5b750-6f87-43db-a8a3-e1f5b1db", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=3cb9c270-d59b-4b28-b16a-b23d89d2", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/creator-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/dashboard/compare/e4757683b74df7033c95aa544a7824b395c2f8bb...5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "previous_git_commit": "e4757683b74df7033c95aa544a7824b395c2f8bb", - "previous_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768@sha256:54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "diff_url": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", + "previous_git_commit": "7e00b70f8911edf1c480ba9a8b9c2a280260cb08", + "previous_fingerprint": "0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:7e00b70@sha256:0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/e4757683b74df7033c95aa544a7824b395c2f8bb", - "previous_trail_name": "e4757683b74df7033c95aa544a7824b395c2f8bb", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/creator/commit/7e00b70f8911edf1c480ba9a8b9c2a280260cb08", + "previous_trail_name": "7e00b70f8911edf1c480ba9a8b9c2a280260cb08", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 43879.0, + "commit_lead_time": 45219.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-131", - "template_reference_name": "dashboard", + "trail_name": "promotion-one-132", + "template_reference_name": "creator", "git_commit": "76325d840dc66e1c84743725e17de05a16616419", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", "git_commit_info": { @@ -3453,27 +3163,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783852701.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=4485997e-f05e-4e02-a192-8e7ccff7", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=ebfdade0-510f-44f8-9b9f-2d4c7d0d", "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...76325d840dc66e1c84743725e17de05a16616419", "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768@sha256:54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "previous_fingerprint": "0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:7e00b70@sha256:0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", "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": "dashboard" + "previous_template_reference_name": "creator" }, - "commit_lead_time": 503220.0, + "commit_lead_time": 504369.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", - "template_reference_name": "dashboard", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "template_reference_name": "creator", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -3484,27 +3194,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=0562cdd9-17c8-47ae-84ab-86991475", - "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/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=fb202b8b-8f7b-4759-b011-db542952", + "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/a517304f4e9013e2e9ea67e90c7342f7e56653f0...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_git_commit": "a517304f4e9013e2e9ea67e90c7342f7e56653f0", - "previous_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768@sha256:54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/7172cc22125f480a9f12127edb481a4d84aabea3...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "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/a517304f4e9013e2e9ea67e90c7342f7e56653f0", - "previous_trail_name": "dashboard-54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", - "previous_template_reference_name": "dashboard" + "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": 504947.0, + "commit_lead_time": 506096.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", - "template_reference_name": "dashboard", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "template_reference_name": "creator", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -3515,32 +3225,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=2e4dbcce-2c59-4d3a-8304-388979c8", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=1a969b49-ddc3-4eda-becf-1fb6c837", + "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/00c479764cb9eca038fdaaaef108672d0bb0ed26...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:87f560f@sha256:45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/a517304f4e9013e2e9ea67e90c7342f7e56653f0...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_git_commit": "a517304f4e9013e2e9ea67e90c7342f7e56653f0", + "previous_fingerprint": "0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:7e00b70@sha256:0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", "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_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/a517304f4e9013e2e9ea67e90c7342f7e56653f0", + "previous_trail_name": "creator-0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "previous_template_reference_name": "creator" }, - "commit_lead_time": 504947.0, + "commit_lead_time": 506096.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/fb1ca8ead3c2436e83ca34d72d275313", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/2730a627a7a3472b810cacada52f3935", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:3f0b997@sha256:0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "compliant": true, "deployments": [], "policy_decisions": [ @@ -3562,24 +3272,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } }, @@ -3587,7 +3297,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } } @@ -3607,24 +3317,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } }, @@ -3632,7 +3342,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } } @@ -3657,24 +3367,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } }, @@ -3682,7 +3392,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } } @@ -3709,24 +3419,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } }, @@ -3734,7 +3444,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } } @@ -3754,24 +3464,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } }, @@ -3779,7 +3489,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } } @@ -3804,8 +3514,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3813,8 +3523,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3822,8 +3532,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3832,7 +3542,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3860,24 +3570,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } }, @@ -3885,7 +3595,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } } @@ -3905,24 +3615,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } }, @@ -3930,7 +3640,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } } @@ -3955,8 +3665,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3964,8 +3674,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3973,8 +3683,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3983,7 +3693,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4011,24 +3721,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } }, @@ -4036,7 +3746,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } } @@ -4056,24 +3766,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } }, @@ -4081,7 +3791,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } } @@ -4106,24 +3816,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } }, @@ -4131,7 +3841,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } } @@ -4158,24 +3868,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } }, @@ -4183,7 +3893,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": null } } @@ -4209,24 +3919,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } }, @@ -4234,7 +3944,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "artifact_status": "COMPLIANT" } } @@ -4245,133 +3955,131 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "creationTimestamp": [ - 1784352887, - 1784352892, - 1784352892 + 1784355921 ], "pods": null, "annotation": { "type": "unchanged", - "was": 3, - "now": 3 + "was": 1, + "now": 1 }, - "flow_name": "web-ci", - "git_commit": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", - "commit_url": "https://github.com/cyber-dojo/web/commit/3f0b9975f96b7f4e4aae0b4409cebda3209be164", - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=0f00c8a9-1489-416c-b64f-5819890f", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", + "flow_name": "dashboard-ci", + "git_commit": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=53e5b750-6f87-43db-a8a3-e1f5b1db", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/bdf01beca687a34db9689499bd805cfc752a1747...3f0b9975f96b7f4e4aae0b4409cebda3209be164", - "previous_git_commit": "bdf01beca687a34db9689499bd805cfc752a1747", - "previous_fingerprint": "64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:bdf01be@sha256:64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", + "diff_url": "https://github.com/cyber-dojo/dashboard/compare/e4757683b74df7033c95aa544a7824b395c2f8bb...5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "previous_git_commit": "e4757683b74df7033c95aa544a7824b395c2f8bb", + "previous_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768@sha256:54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/bdf01beca687a34db9689499bd805cfc752a1747", - "previous_trail_name": "bdf01beca687a34db9689499bd805cfc752a1747", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/e4757683b74df7033c95aa544a7824b395c2f8bb", + "previous_trail_name": "e4757683b74df7033c95aa544a7824b395c2f8bb", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 56258.0, + "commit_lead_time": 43879.0, "flows": [ { - "flow_name": "web-ci", - "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", - "template_reference_name": "web", - "git_commit": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", - "commit_url": "https://github.com/cyber-dojo/web/commit/3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "flow_name": "dashboard-ci", + "trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "template_reference_name": "dashboard", + "git_commit": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", "git_commit_info": { - "sha1": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", - "message": "Merge pull request #385 from cyber-dojo/add-drift-detection\n\nRead deployed image for drift-detection plan", + "sha1": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "message": "Read deployed image for drift-detection plan (#417)\n\nThe Detect Drift workflow runs a terraform plan with no build behind it,\nbut the ECS deployment requires a container image (TF_VAR_TAGGED_IMAGE).\nThe variable has no default and the task definition tracks it directly,\nso a drift plan either fails with \"no value for required variable\" or, if\ngiven a placeholder, reports permanent false drift on the task definition.\n\nBefore planning, each environment reads the image that is currently\ndeployed straight from its ECS task definition and passes it to the\nreusable drift workflow as TF_VAR_TAGGED_IMAGE. The image lookup is done\nexplicitly in this repository rather than in the shared kosli-dev/tf\nworkflow, so Kosli's own drift detection is unaffected.\n\nThe logic lives in a local reusable workflow, detect-drift-env.yml, which\nis parameterized by AWS account and environment. detect-drift.yml holds\nonly the schedule and a beta/prod matrix that calls it, so there is no\nduplication between environments and adding another is a two-line change.", "author": "Graham Savage ", "branch": "", - "timestamp": 1784296629.0, - "url": "https://github.com/cyber-dojo/web/commit/3f0b9975f96b7f4e4aae0b4409cebda3209be164" + "timestamp": 1784312042.0, + "url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=0f00c8a9-1489-416c-b64f-5819890f", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=53e5b750-6f87-43db-a8a3-e1f5b1db", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/bdf01beca687a34db9689499bd805cfc752a1747...3f0b9975f96b7f4e4aae0b4409cebda3209be164", - "previous_git_commit": "bdf01beca687a34db9689499bd805cfc752a1747", - "previous_fingerprint": "64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:bdf01be@sha256:64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", + "diff_url": "https://github.com/cyber-dojo/dashboard/compare/e4757683b74df7033c95aa544a7824b395c2f8bb...5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "previous_git_commit": "e4757683b74df7033c95aa544a7824b395c2f8bb", + "previous_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768@sha256:54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/bdf01beca687a34db9689499bd805cfc752a1747", - "previous_trail_name": "bdf01beca687a34db9689499bd805cfc752a1747", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/e4757683b74df7033c95aa544a7824b395c2f8bb", + "previous_trail_name": "e4757683b74df7033c95aa544a7824b395c2f8bb", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 56258.0, + "commit_lead_time": 43879.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "template_reference_name": "web", - "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "flow_name": "production-promotion", + "trail_name": "promotion-one-131", + "template_reference_name": "dashboard", + "git_commit": "76325d840dc66e1c84743725e17de05a16616419", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", "git_commit_info": { - "sha1": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "message": "Add emoji prefixes to workflow names\n\n Match the visual convention already used in the kosli-demo/stochastic-committer\n repo, where the Actions sidebar distinguishes workflow roles at a glance.\n\n The two aws-* files are the top-level entry points, triggered by dispatch and\n schedule, so they get the play emoji. The three reusable workflow_call\n sub-workflows get the package emoji to mark them as callable building blocks.", + "sha1": "76325d840dc66e1c84743725e17de05a16616419", + "message": "Add emoji prefix to workflow names", "author": "JonJagger ", "branch": "main", - "timestamp": 1783850974.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" + "timestamp": 1783852701.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=7a70a8fa-ae6d-40c2-9aea-532dfae2", - "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/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=4485997e-f05e-4e02-a192-8e7ccff7", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/a517304f4e9013e2e9ea67e90c7342f7e56653f0...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_git_commit": "a517304f4e9013e2e9ea67e90c7342f7e56653f0", - "previous_fingerprint": "929748bb88b31863da9cd8d62a5039c274ff3c669f2ef05bc025e6989d2c1eab", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:97ebee5@sha256:929748bb88b31863da9cd8d62a5039c274ff3c669f2ef05bc025e6989d2c1eab", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...76325d840dc66e1c84743725e17de05a16616419", + "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", + "previous_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768@sha256:54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/a517304f4e9013e2e9ea67e90c7342f7e56653f0", - "previous_trail_name": "web-929748bb88b31863da9cd8d62a5039c274ff3c669f2ef05bc025e6989d2c1eab", - "previous_template_reference_name": "web" + "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": "dashboard" }, - "commit_lead_time": 501913.0, + "commit_lead_time": 503220.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "production-promotion", - "trail_name": "promotion-one-130", - "template_reference_name": "web", - "git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "template_reference_name": "dashboard", + "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { - "sha1": "76325d840dc66e1c84743725e17de05a16616419", - "message": "Add emoji prefix to workflow names", + "sha1": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "message": "Add emoji prefixes to workflow names\n\n Match the visual convention already used in the kosli-demo/stochastic-committer\n repo, where the Actions sidebar distinguishes workflow roles at a glance.\n\n The two aws-* files are the top-level entry points, triggered by dispatch and\n schedule, so they get the play emoji. The three reusable workflow_call\n sub-workflows get the package emoji to mark them as callable building blocks.", "author": "JonJagger ", "branch": "main", - "timestamp": 1783852701.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" + "timestamp": 1783850974.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=ef4ad7ac-354a-4541-beb1-9d1e1ac7", - "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/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=0562cdd9-17c8-47ae-84ab-86991475", + "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/76325d840dc66e1c84743725e17de05a16616419...76325d840dc66e1c84743725e17de05a16616419", - "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "previous_fingerprint": "64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:bdf01be@sha256:64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/a517304f4e9013e2e9ea67e90c7342f7e56653f0...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_git_commit": "a517304f4e9013e2e9ea67e90c7342f7e56653f0", + "previous_fingerprint": "54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:e475768@sha256:54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", "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-125", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/a517304f4e9013e2e9ea67e90c7342f7e56653f0", + "previous_trail_name": "dashboard-54f6da185cd0f0ef001a0b33c099565fa736546562e0411f706832e72dca47bb", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 500186.0, + "commit_lead_time": 504947.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "template_reference_name": "web", + "trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "template_reference_name": "dashboard", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -4382,32 +4090,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=f379dd4e-4028-47d0-a38e-b1b4bd2b", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=dcc1a16c-b583-494e-a456-d5251a39", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "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": 501913.0, + "commit_lead_time": 504947.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ef2471a4418645c1ae25de259e1ac91f", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/fb1ca8ead3c2436e83ca34d72d275313", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:3f0b997@sha256:0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "compliant": true, "deployments": [], "policy_decisions": [ @@ -4429,24 +4137,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": null } }, @@ -4454,7 +4162,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } } @@ -4474,24 +4182,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": "COMPLIANT" } }, @@ -4499,7 +4207,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } } @@ -4524,24 +4232,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": null } }, @@ -4549,7 +4257,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } } @@ -4576,24 +4284,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": null } }, @@ -4601,7 +4309,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } } @@ -4621,24 +4329,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": "COMPLIANT" } }, @@ -4646,7 +4354,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } } @@ -4671,8 +4379,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4680,8 +4388,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4689,9 +4397,9 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "artifact_status": null, + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", + "artifact_status": null, "for_control": "SDLC-CTRL-0002" } }, @@ -4699,7 +4407,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -4727,24 +4435,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": null } }, @@ -4752,7 +4460,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } } @@ -4772,24 +4480,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": "COMPLIANT" } }, @@ -4797,7 +4505,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } } @@ -4822,8 +4530,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4831,8 +4539,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4840,8 +4548,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4850,7 +4558,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -4878,24 +4586,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": null } }, @@ -4903,7 +4611,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } } @@ -4923,24 +4631,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": "COMPLIANT" } }, @@ -4948,7 +4656,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } } @@ -4973,24 +4681,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": null } }, @@ -4998,7 +4706,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } } @@ -5025,24 +4733,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": null } }, @@ -5050,7 +4758,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": null } } @@ -5076,24 +4784,24 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", "artifact_status": "COMPLIANT" } }, @@ -5101,7 +4809,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "artifact_status": "COMPLIANT" } } @@ -5112,100 +4820,71 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "fingerprint": "0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "creationTimestamp": [ - 1784184597 + 1784352887, + 1784352892, + 1784352892 ], "pods": null, "annotation": { "type": "unchanged", - "was": 1, - "now": 1 + "was": 3, + "now": 3 }, - "flow_name": "differ-ci", - "git_commit": "335ddfa139708c37908dd594a0502bc6d88f8615", - "commit_url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615", - "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=5f3d2a2e-acdb-4414-a1e7-ebca7c32", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", + "flow_name": "web-ci", + "git_commit": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "commit_url": "https://github.com/cyber-dojo/web/commit/3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=0f00c8a9-1489-416c-b64f-5819890f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/differ/compare/8beff9901ac67acb7afcab3408106208571a1124...335ddfa139708c37908dd594a0502bc6d88f8615", - "previous_git_commit": "8beff9901ac67acb7afcab3408106208571a1124", - "previous_fingerprint": "7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:8beff99@sha256:7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", + "diff_url": "https://github.com/cyber-dojo/web/compare/bdf01beca687a34db9689499bd805cfc752a1747...3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "previous_git_commit": "bdf01beca687a34db9689499bd805cfc752a1747", + "previous_fingerprint": "64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:bdf01be@sha256:64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/8beff9901ac67acb7afcab3408106208571a1124", - "previous_trail_name": "8beff9901ac67acb7afcab3408106208571a1124", - "previous_template_reference_name": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/bdf01beca687a34db9689499bd805cfc752a1747", + "previous_trail_name": "bdf01beca687a34db9689499bd805cfc752a1747", + "previous_template_reference_name": "web" }, - "commit_lead_time": 423508.0, + "commit_lead_time": 56258.0, "flows": [ { - "flow_name": "differ-ci", - "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", - "template_reference_name": "differ", - "git_commit": "335ddfa139708c37908dd594a0502bc6d88f8615", - "commit_url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615", + "flow_name": "web-ci", + "trail_name": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "template_reference_name": "web", + "git_commit": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "commit_url": "https://github.com/cyber-dojo/web/commit/3f0b9975f96b7f4e4aae0b4409cebda3209be164", "git_commit_info": { - "sha1": "335ddfa139708c37908dd594a0502bc6d88f8615", - "message": "Run workflow so image has updated git to fix new cares snyk vuln (#431)", - "author": "Jon Jagger ", + "sha1": "3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "message": "Merge pull request #385 from cyber-dojo/add-drift-detection\n\nRead deployed image for drift-detection plan", + "author": "Graham Savage ", "branch": "", - "timestamp": 1783761089.0, - "url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=5f3d2a2e-acdb-4414-a1e7-ebca7c32", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/differ/compare/8beff9901ac67acb7afcab3408106208571a1124...335ddfa139708c37908dd594a0502bc6d88f8615", - "previous_git_commit": "8beff9901ac67acb7afcab3408106208571a1124", - "previous_fingerprint": "7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:8beff99@sha256:7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/8beff9901ac67acb7afcab3408106208571a1124", - "previous_trail_name": "8beff9901ac67acb7afcab3408106208571a1124", - "previous_template_reference_name": "differ" - }, - "commit_lead_time": 423508.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "production-promotion", - "trail_name": "promotion-one-128", - "template_reference_name": "differ", - "git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", - "git_commit_info": { - "sha1": "76325d840dc66e1c84743725e17de05a16616419", - "message": "Add emoji prefix to workflow names", - "author": "JonJagger ", - "branch": "main", - "timestamp": 1783852701.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" + "timestamp": 1784296629.0, + "url": "https://github.com/cyber-dojo/web/commit/3f0b9975f96b7f4e4aae0b4409cebda3209be164" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=c445f15d-1957-4d94-9123-d67ad0b8", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", + "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=0f00c8a9-1489-416c-b64f-5819890f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...76325d840dc66e1c84743725e17de05a16616419", - "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:8beff99@sha256:7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", + "diff_url": "https://github.com/cyber-dojo/web/compare/bdf01beca687a34db9689499bd805cfc752a1747...3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "previous_git_commit": "bdf01beca687a34db9689499bd805cfc752a1747", + "previous_fingerprint": "64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:bdf01be@sha256:64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", "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": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/bdf01beca687a34db9689499bd805cfc752a1747", + "previous_trail_name": "bdf01beca687a34db9689499bd805cfc752a1747", + "previous_template_reference_name": "web" }, - "commit_lead_time": 331896.0, + "commit_lead_time": 56258.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "template_reference_name": "differ", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "template_reference_name": "web", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -5216,63 +4895,94 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=dd1d108b-6d0a-47fb-8d6e-046c2862", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=7a70a8fa-ae6d-40c2-9aea-532dfae2", "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/a517304f4e9013e2e9ea67e90c7342f7e56653f0...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "previous_git_commit": "a517304f4e9013e2e9ea67e90c7342f7e56653f0", - "previous_fingerprint": "7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:8beff99@sha256:7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", + "previous_fingerprint": "929748bb88b31863da9cd8d62a5039c274ff3c669f2ef05bc025e6989d2c1eab", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:97ebee5@sha256:929748bb88b31863da9cd8d62a5039c274ff3c669f2ef05bc025e6989d2c1eab", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/a517304f4e9013e2e9ea67e90c7342f7e56653f0", - "previous_trail_name": "differ-7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", - "previous_template_reference_name": "differ" + "previous_trail_name": "web-929748bb88b31863da9cd8d62a5039c274ff3c669f2ef05bc025e6989d2c1eab", + "previous_template_reference_name": "web" }, - "commit_lead_time": 333623.0, + "commit_lead_time": 501913.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "template_reference_name": "differ", - "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "git_commit_info": { - "sha1": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "message": "Add emoji prefixes to workflow names\n\n Match the visual convention already used in the kosli-demo/stochastic-committer\n repo, where the Actions sidebar distinguishes workflow roles at a glance.\n\n The two aws-* files are the top-level entry points, triggered by dispatch and\n schedule, so they get the play emoji. The three reusable workflow_call\n sub-workflows get the package emoji to mark them as callable building blocks.", + "flow_name": "production-promotion", + "trail_name": "promotion-one-130", + "template_reference_name": "web", + "git_commit": "76325d840dc66e1c84743725e17de05a16616419", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", + "git_commit_info": { + "sha1": "76325d840dc66e1c84743725e17de05a16616419", + "message": "Add emoji prefix to workflow names", + "author": "JonJagger ", + "branch": "main", + "timestamp": 1783852701.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=ef4ad7ac-354a-4541-beb1-9d1e1ac7", + "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": "64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:bdf01be@sha256:64c1342f34dfbf19a5da21b0b027ac20abdbc1be6e1c763ff90a83ae207f9920", + "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-125", + "previous_template_reference_name": "web" + }, + "commit_lead_time": 500186.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "template_reference_name": "web", + "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "git_commit_info": { + "sha1": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "message": "Add emoji prefixes to workflow names\n\n Match the visual convention already used in the kosli-demo/stochastic-committer\n repo, where the Actions sidebar distinguishes workflow roles at a glance.\n\n The two aws-* files are the top-level entry points, triggered by dispatch and\n schedule, so they get the play emoji. The three reusable workflow_call\n sub-workflows get the package emoji to mark them as callable building blocks.", "author": "JonJagger ", "branch": "main", "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=b8a5fa17-fabd-4d4b-bb9f-4fc89d8d", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=85a65b0d-3833-45a7-a32a-02d06597", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:981dcfc@sha256:902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "previous_fingerprint": "29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:f66cc5c@sha256:29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "differ-902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", - "previous_template_reference_name": "differ" + "previous_trail_name": "web-29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "previous_template_reference_name": "web" }, - "commit_lead_time": 333623.0, + "commit_lead_time": 501913.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/28557ef6830842138dd4db99a13c5d4a", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ef2471a4418645c1ae25de259e1ac91f", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:7ba8029@sha256:3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "compliant": true, "deployments": [], "policy_decisions": [ @@ -5294,8 +5004,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null } }, @@ -5303,7 +5013,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null } }, @@ -5311,7 +5021,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } }, @@ -5319,7 +5029,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } } @@ -5339,8 +5049,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": "COMPLIANT" } }, @@ -5348,7 +5058,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": "COMPLIANT" } }, @@ -5356,7 +5066,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } }, @@ -5364,7 +5074,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } } @@ -5389,8 +5099,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null } }, @@ -5398,7 +5108,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null } }, @@ -5406,7 +5116,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } }, @@ -5414,7 +5124,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } } @@ -5441,8 +5151,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null } }, @@ -5450,7 +5160,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null } }, @@ -5458,7 +5168,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } }, @@ -5466,7 +5176,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } } @@ -5486,8 +5196,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": "COMPLIANT" } }, @@ -5495,7 +5205,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": "COMPLIANT" } }, @@ -5503,7 +5213,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } }, @@ -5511,7 +5221,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } } @@ -5536,8 +5246,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5546,7 +5256,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5555,7 +5265,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5564,7 +5274,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5592,8 +5302,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null } }, @@ -5601,7 +5311,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null } }, @@ -5609,7 +5319,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } }, @@ -5617,7 +5327,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } } @@ -5637,8 +5347,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": "COMPLIANT" } }, @@ -5646,7 +5356,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": "COMPLIANT" } }, @@ -5654,7 +5364,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } }, @@ -5662,7 +5372,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } } @@ -5687,8 +5397,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5697,7 +5407,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5706,7 +5416,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5715,7 +5425,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5743,8 +5453,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null } }, @@ -5752,7 +5462,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null } }, @@ -5760,7 +5470,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } }, @@ -5768,7 +5478,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } } @@ -5788,8 +5498,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": "COMPLIANT" } }, @@ -5797,7 +5507,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": "COMPLIANT" } }, @@ -5805,7 +5515,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } }, @@ -5813,7 +5523,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } } @@ -5838,8 +5548,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null } }, @@ -5847,7 +5557,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null } }, @@ -5855,7 +5565,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } }, @@ -5863,7 +5573,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } } @@ -5890,8 +5600,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": null } }, @@ -5899,7 +5609,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": null } }, @@ -5907,7 +5617,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } }, @@ -5915,7 +5625,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": null } } @@ -5941,8 +5651,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", "artifact_status": "COMPLIANT" } }, @@ -5950,7 +5660,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", + "trail_name": "promotion-one-128", "artifact_status": "COMPLIANT" } }, @@ -5958,7 +5668,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } }, @@ -5966,7 +5676,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "artifact_status": "COMPLIANT" } } @@ -5977,9 +5687,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "creationTimestamp": [ - 1784183551 + 1784184597 ], "pods": null, "annotation": { @@ -5987,59 +5697,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "nginx-ci", - "git_commit": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", - "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=5c293d3e-84a1-42dd-8215-6abd8d8d", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", + "flow_name": "differ-ci", + "git_commit": "335ddfa139708c37908dd594a0502bc6d88f8615", + "commit_url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615", + "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=5f3d2a2e-acdb-4414-a1e7-ebca7c32", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/nginx/compare/9b711df71c76a1f293c2525ace65778036591baf...7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", - "previous_git_commit": "9b711df71c76a1f293c2525ace65778036591baf", - "previous_fingerprint": "0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:9b711df@sha256:0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", + "diff_url": "https://github.com/cyber-dojo/differ/compare/8beff9901ac67acb7afcab3408106208571a1124...335ddfa139708c37908dd594a0502bc6d88f8615", + "previous_git_commit": "8beff9901ac67acb7afcab3408106208571a1124", + "previous_fingerprint": "7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:8beff99@sha256:7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/9b711df71c76a1f293c2525ace65778036591baf", - "previous_trail_name": "9b711df71c76a1f293c2525ace65778036591baf", - "previous_template_reference_name": "nginx" + "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/8beff9901ac67acb7afcab3408106208571a1124", + "previous_trail_name": "8beff9901ac67acb7afcab3408106208571a1124", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 1377.0, + "commit_lead_time": 423508.0, "flows": [ { - "flow_name": "nginx-ci", - "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", - "template_reference_name": "nginx", - "git_commit": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", - "commit_url": "https://github.com/cyber-dojo/nginx/commit/7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "flow_name": "differ-ci", + "trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "template_reference_name": "differ", + "git_commit": "335ddfa139708c37908dd594a0502bc6d88f8615", + "commit_url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615", "git_commit_info": { - "sha1": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", - "message": "Merge pull request #159 from cyber-dojo/remove-curl-fix-snyk-alpine323-curl-17970543\n\nRemove curl to clear recurring Alpine libcurl CVEs", + "sha1": "335ddfa139708c37908dd594a0502bc6d88f8615", + "message": "Run workflow so image has updated git to fix new cares snyk vuln (#431)", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784182174.0, - "url": "https://github.com/cyber-dojo/nginx/commit/7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47" + "timestamp": 1783761089.0, + "url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=5c293d3e-84a1-42dd-8215-6abd8d8d", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=5f3d2a2e-acdb-4414-a1e7-ebca7c32", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/nginx/compare/9b711df71c76a1f293c2525ace65778036591baf...7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", - "previous_git_commit": "9b711df71c76a1f293c2525ace65778036591baf", - "previous_fingerprint": "0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:9b711df@sha256:0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", + "diff_url": "https://github.com/cyber-dojo/differ/compare/8beff9901ac67acb7afcab3408106208571a1124...335ddfa139708c37908dd594a0502bc6d88f8615", + "previous_git_commit": "8beff9901ac67acb7afcab3408106208571a1124", + "previous_fingerprint": "7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:8beff99@sha256:7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/9b711df71c76a1f293c2525ace65778036591baf", - "previous_trail_name": "9b711df71c76a1f293c2525ace65778036591baf", - "previous_template_reference_name": "nginx" + "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/8beff9901ac67acb7afcab3408106208571a1124", + "previous_trail_name": "8beff9901ac67acb7afcab3408106208571a1124", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 1377.0, + "commit_lead_time": 423508.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-127", - "template_reference_name": "nginx", + "trail_name": "promotion-one-128", + "template_reference_name": "differ", "git_commit": "76325d840dc66e1c84743725e17de05a16616419", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", "git_commit_info": { @@ -6050,27 +5760,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783852701.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=70dad200-6f93-430c-a06d-e1479d48", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=c445f15d-1957-4d94-9123-d67ad0b8", "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...76325d840dc66e1c84743725e17de05a16616419", "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:9b711df@sha256:0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", + "previous_fingerprint": "7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:8beff99@sha256:7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", "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": "nginx" + "previous_template_reference_name": "differ" }, - "commit_lead_time": 330850.0, + "commit_lead_time": 331896.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", - "template_reference_name": "nginx", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "template_reference_name": "differ", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -6081,27 +5791,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=39abaccd-2adc-48e5-992d-8804e957", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=dd1d108b-6d0a-47fb-8d6e-046c2862", "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/d07d841723e4e524e4ea4d7dc8a7e60f0fc3349e...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_git_commit": "d07d841723e4e524e4ea4d7dc8a7e60f0fc3349e", - "previous_fingerprint": "8bc44a90894de99aa76cd931ea42e2544b0727c5e3842ea57e4f08cace175ca9", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:66c0766@sha256:8bc44a90894de99aa76cd931ea42e2544b0727c5e3842ea57e4f08cace175ca9", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/a517304f4e9013e2e9ea67e90c7342f7e56653f0...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_git_commit": "a517304f4e9013e2e9ea67e90c7342f7e56653f0", + "previous_fingerprint": "7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:8beff99@sha256:7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/d07d841723e4e524e4ea4d7dc8a7e60f0fc3349e", - "previous_trail_name": "nginx-8bc44a90894de99aa76cd931ea42e2544b0727c5e3842ea57e4f08cace175ca9", - "previous_template_reference_name": "nginx" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/a517304f4e9013e2e9ea67e90c7342f7e56653f0", + "previous_trail_name": "differ-7e2d411aedcf779dc4be7da47957f698696df954a7f557688d0052e9a18218fc", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 332577.0, + "commit_lead_time": 333623.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", - "template_reference_name": "nginx", + "trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "template_reference_name": "differ", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -6112,32 +5822,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=b1490b23-4e6d-4db2-96af-f63a3376", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=15a60915-d2ed-4d30-b616-a4de4e7e", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:7065268@sha256:b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", + "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": "nginx-b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", - "previous_template_reference_name": "nginx" + "previous_trail_name": "differ-902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 332577.0, + "commit_lead_time": 333623.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/950b7815820f45dd82a7dec0a382128a", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/28557ef6830842138dd4db99a13c5d4a", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:7ba8029@sha256:3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "compliant": true, "deployments": [], "policy_decisions": [ @@ -6159,8 +5869,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null } }, @@ -6168,7 +5878,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null } }, @@ -6176,7 +5886,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } }, @@ -6184,7 +5894,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } } @@ -6204,8 +5914,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": "COMPLIANT" } }, @@ -6213,7 +5923,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": "COMPLIANT" } }, @@ -6221,7 +5931,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } }, @@ -6229,7 +5939,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } } @@ -6254,8 +5964,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null } }, @@ -6263,7 +5973,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null } }, @@ -6271,7 +5981,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } }, @@ -6279,7 +5989,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } } @@ -6306,8 +6016,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null } }, @@ -6315,7 +6025,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null } }, @@ -6323,7 +6033,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } }, @@ -6331,7 +6041,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } } @@ -6351,8 +6061,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": "COMPLIANT" } }, @@ -6360,7 +6070,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": "COMPLIANT" } }, @@ -6368,7 +6078,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } }, @@ -6376,7 +6086,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } } @@ -6401,8 +6111,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6411,7 +6121,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6420,7 +6130,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6429,7 +6139,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6457,8 +6167,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null } }, @@ -6466,7 +6176,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null } }, @@ -6474,7 +6184,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } }, @@ -6482,7 +6192,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } } @@ -6502,8 +6212,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": "COMPLIANT" } }, @@ -6511,7 +6221,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": "COMPLIANT" } }, @@ -6519,7 +6229,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } }, @@ -6527,7 +6237,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } } @@ -6552,8 +6262,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6562,7 +6272,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6571,7 +6281,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6580,7 +6290,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6608,8 +6318,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null } }, @@ -6617,7 +6327,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null } }, @@ -6625,7 +6335,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } }, @@ -6633,7 +6343,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } } @@ -6653,8 +6363,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": "COMPLIANT" } }, @@ -6662,7 +6372,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": "COMPLIANT" } }, @@ -6670,7 +6380,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } }, @@ -6678,7 +6388,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } } @@ -6703,8 +6413,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null } }, @@ -6712,7 +6422,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null } }, @@ -6720,7 +6430,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } }, @@ -6728,7 +6438,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } } @@ -6755,8 +6465,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": null } }, @@ -6764,7 +6474,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": null } }, @@ -6772,7 +6482,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } }, @@ -6780,7 +6490,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-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": null } } @@ -6806,8 +6516,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "artifact_status": "COMPLIANT" } }, @@ -6815,7 +6525,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-30", + "trail_name": "promotion-one-127", "artifact_status": "COMPLIANT" } }, @@ -6823,7 +6533,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } }, @@ -6831,7 +6541,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "artifact_status": "COMPLIANT" } } @@ -6842,9 +6552,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "fingerprint": "3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "creationTimestamp": [ - 1783618209 + 1784183551 ], "pods": null, "annotation": { @@ -6852,90 +6562,90 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "languages-start-points-ci", - "git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=ed104a44-8358-4883-beeb-ac3c8bb7", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", + "flow_name": "nginx-ci", + "git_commit": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "commit_url": "https://github.com/cyber-dojo/nginx/commit/7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=5c293d3e-84a1-42dd-8215-6abd8d8d", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/04e0e14bb8874ab521d35c97d6040133f0d2143a...c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_git_commit": "04e0e14bb8874ab521d35c97d6040133f0d2143a", - "previous_fingerprint": "a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:04e0e14@sha256:a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", + "diff_url": "https://github.com/cyber-dojo/nginx/compare/9b711df71c76a1f293c2525ace65778036591baf...7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "previous_git_commit": "9b711df71c76a1f293c2525ace65778036591baf", + "previous_fingerprint": "0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:9b711df@sha256:0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/04e0e14bb8874ab521d35c97d6040133f0d2143a", - "previous_trail_name": "04e0e14bb8874ab521d35c97d6040133f0d2143a", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/9b711df71c76a1f293c2525ace65778036591baf", + "previous_trail_name": "9b711df71c76a1f293c2525ace65778036591baf", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 81654.0, + "commit_lead_time": 1377.0, "flows": [ { - "flow_name": "languages-start-points-ci", - "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "template_reference_name": "languages-start-points", - "git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "flow_name": "nginx-ci", + "trail_name": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "template_reference_name": "nginx", + "git_commit": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "commit_url": "https://github.com/cyber-dojo/nginx/commit/7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "git_commit_info": { - "sha1": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "message": "Merge pull request #242 from cyber-dojo/declare-sbom-and-provenance-facts-attestations\n\nDeclare sbom and provenance facts+decision attestations in the trail \u2026", + "sha1": "7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "message": "Merge pull request #159 from cyber-dojo/remove-curl-fix-snyk-alpine323-curl-17970543\n\nRemove curl to clear recurring Alpine libcurl CVEs", "author": "Jon Jagger ", "branch": "", - "timestamp": 1783536555.0, - "url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf" + "timestamp": 1784182174.0, + "url": "https://github.com/cyber-dojo/nginx/commit/7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=ed104a44-8358-4883-beeb-ac3c8bb7", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=5c293d3e-84a1-42dd-8215-6abd8d8d", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/nginx-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/04e0e14bb8874ab521d35c97d6040133f0d2143a...c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_git_commit": "04e0e14bb8874ab521d35c97d6040133f0d2143a", - "previous_fingerprint": "a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:04e0e14@sha256:a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", - "previous_artifact_compliance_state": "COMPLIANT", + "diff_url": "https://github.com/cyber-dojo/nginx/compare/9b711df71c76a1f293c2525ace65778036591baf...7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "previous_git_commit": "9b711df71c76a1f293c2525ace65778036591baf", + "previous_fingerprint": "0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:9b711df@sha256:0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", + "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/04e0e14bb8874ab521d35c97d6040133f0d2143a", - "previous_trail_name": "04e0e14bb8874ab521d35c97d6040133f0d2143a", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/nginx/commit/9b711df71c76a1f293c2525ace65778036591baf", + "previous_trail_name": "9b711df71c76a1f293c2525ace65778036591baf", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 81654.0, + "commit_lead_time": 1377.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-30", - "template_reference_name": "languages-start-points", - "git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", + "trail_name": "promotion-one-127", + "template_reference_name": "nginx", + "git_commit": "76325d840dc66e1c84743725e17de05a16616419", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", "git_commit_info": { - "sha1": "d7e31ce0207b766140ae689f38625da4374acf87", - "message": "Merge pull request #15 from cyber-dojo/delete-dead-comments\n\nDelete dead comments", - "author": "Jon Jagger ", + "sha1": "76325d840dc66e1c84743725e17de05a16616419", + "message": "Add emoji prefix to workflow names", + "author": "JonJagger ", "branch": "main", - "timestamp": 1782907108.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87" + "timestamp": 1783852701.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=a9535090-47a2-4ea2-8827-c368a63e", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=70dad200-6f93-430c-a06d-e1479d48", "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...d7e31ce0207b766140ae689f38625da4374acf87", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...76325d840dc66e1c84743725e17de05a16616419", "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:04e0e14@sha256:a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", + "previous_fingerprint": "0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:9b711df@sha256:0a858af40ca7a862ac1ba6a895e75c9030097f5890e9cc37c828e4adc55940e7", "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-29", - "previous_template_reference_name": "languages-start-points" + "previous_trail_name": "promote-all-30", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": 711101.0, + "commit_lead_time": 330850.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "template_reference_name": "languages-start-points", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "template_reference_name": "nginx", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -6946,27 +6656,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=b08301eb-028d-4fa4-8256-d1be128c", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=39abaccd-2adc-48e5-992d-8804e957", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_git_commit": "c17bb3ed8862de03c1a491dfe790fd8734fc7071", - "previous_fingerprint": "5bc686a6794d6a180f3a70f815348627578982e951f16e7462b1b6f533a97f38", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:bb8a712@sha256:5bc686a6794d6a180f3a70f815348627578982e951f16e7462b1b6f533a97f38", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/d07d841723e4e524e4ea4d7dc8a7e60f0fc3349e...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_git_commit": "d07d841723e4e524e4ea4d7dc8a7e60f0fc3349e", + "previous_fingerprint": "8bc44a90894de99aa76cd931ea42e2544b0727c5e3842ea57e4f08cace175ca9", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:66c0766@sha256:8bc44a90894de99aa76cd931ea42e2544b0727c5e3842ea57e4f08cace175ca9", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c17bb3ed8862de03c1a491dfe790fd8734fc7071", - "previous_trail_name": "languages-start-points-5bc686a6794d6a180f3a70f815348627578982e951f16e7462b1b6f533a97f38", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/d07d841723e4e524e4ea4d7dc8a7e60f0fc3349e", + "previous_trail_name": "nginx-8bc44a90894de99aa76cd931ea42e2544b0727c5e3842ea57e4f08cace175ca9", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": -232765.0, + "commit_lead_time": 332577.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "template_reference_name": "languages-start-points", + "trail_name": "nginx-3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "template_reference_name": "nginx", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -6977,32 +6687,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=0bedc21e-f076-4ccd-a904-cd99b1ce", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=57821227-e474-4f04-98f4-ecd342fe", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:7e86fed@sha256:b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", + "previous_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": "languages-start-points-b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", - "previous_template_reference_name": "languages-start-points" + "previous_trail_name": "nginx-b7ff2cf22c934716a4280f0450ae52fe822cda7fce7fc5488bf62853860cddc8", + "previous_template_reference_name": "nginx" }, - "commit_lead_time": -232765.0, + "commit_lead_time": 332577.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/e0989e55de644314bd7c0db5f877729c", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/950b7815820f45dd82a7dec0a382128a", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "compliant": true, "deployments": [], "policy_decisions": [ @@ -7024,8 +6734,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null } }, @@ -7041,7 +6751,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } }, @@ -7049,7 +6759,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } } @@ -7069,8 +6779,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": "COMPLIANT" } }, @@ -7086,7 +6796,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } }, @@ -7094,7 +6804,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } } @@ -7119,8 +6829,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null } }, @@ -7136,7 +6846,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } }, @@ -7144,7 +6854,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } } @@ -7171,8 +6881,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null } }, @@ -7188,7 +6898,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } }, @@ -7196,7 +6906,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } } @@ -7216,8 +6926,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": "COMPLIANT" } }, @@ -7233,7 +6943,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } }, @@ -7241,7 +6951,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } } @@ -7266,8 +6976,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7285,7 +6995,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7294,7 +7004,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7322,8 +7032,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null } }, @@ -7339,7 +7049,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } }, @@ -7347,7 +7057,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } } @@ -7367,8 +7077,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": "COMPLIANT" } }, @@ -7384,7 +7094,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } }, @@ -7392,7 +7102,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } } @@ -7417,8 +7127,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7436,7 +7146,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7445,7 +7155,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7473,8 +7183,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null } }, @@ -7490,7 +7200,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } }, @@ -7498,7 +7208,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } } @@ -7518,8 +7228,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": "COMPLIANT" } }, @@ -7535,7 +7245,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } }, @@ -7543,7 +7253,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } } @@ -7568,8 +7278,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null } }, @@ -7585,7 +7295,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } }, @@ -7593,7 +7303,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } } @@ -7620,8 +7330,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": null } }, @@ -7637,7 +7347,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } }, @@ -7645,7 +7355,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": null } } @@ -7671,8 +7381,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", "artifact_status": "COMPLIANT" } }, @@ -7688,7 +7398,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-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } }, @@ -7696,7 +7406,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "artifact_status": "COMPLIANT" } } @@ -7707,9 +7417,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "creationTimestamp": [ - 1783618204 + 1783618209 ], "pods": null, "annotation": { @@ -7717,59 +7427,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "custom-start-points-ci", - "git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=e434f9eb-be9c-4851-ab99-187f1a26", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", + "flow_name": "languages-start-points-ci", + "git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=ed104a44-8358-4883-beeb-ac3c8bb7", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/fc6b09be0518fbf8ab76815cb85b1745631e3659...d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_git_commit": "fc6b09be0518fbf8ab76815cb85b1745631e3659", - "previous_fingerprint": "1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:fc6b09b@sha256:1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", + "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/04e0e14bb8874ab521d35c97d6040133f0d2143a...c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "previous_git_commit": "04e0e14bb8874ab521d35c97d6040133f0d2143a", + "previous_fingerprint": "a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:04e0e14@sha256:a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/fc6b09be0518fbf8ab76815cb85b1745631e3659", - "previous_trail_name": "fc6b09be0518fbf8ab76815cb85b1745631e3659", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/04e0e14bb8874ab521d35c97d6040133f0d2143a", + "previous_trail_name": "04e0e14bb8874ab521d35c97d6040133f0d2143a", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 4272.0, + "commit_lead_time": 81654.0, "flows": [ { - "flow_name": "custom-start-points-ci", - "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "template_reference_name": "custom-start-points", - "git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "flow_name": "languages-start-points-ci", + "trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "template_reference_name": "languages-start-points", + "git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", "git_commit_info": { - "sha1": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "message": "Merge pull request #139 from cyber-dojo/run-workflow-171\n\nRun main workflow to check updates to secure-build sub workflow", + "sha1": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "message": "Merge pull request #242 from cyber-dojo/declare-sbom-and-provenance-facts-attestations\n\nDeclare sbom and provenance facts+decision attestations in the trail \u2026", "author": "Jon Jagger ", "branch": "", - "timestamp": 1783613932.0, - "url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e" + "timestamp": 1783536555.0, + "url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=e434f9eb-be9c-4851-ab99-187f1a26", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=ed104a44-8358-4883-beeb-ac3c8bb7", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/fc6b09be0518fbf8ab76815cb85b1745631e3659...d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_git_commit": "fc6b09be0518fbf8ab76815cb85b1745631e3659", - "previous_fingerprint": "1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:fc6b09b@sha256:1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/fc6b09be0518fbf8ab76815cb85b1745631e3659", - "previous_trail_name": "fc6b09be0518fbf8ab76815cb85b1745631e3659", - "previous_template_reference_name": "custom-start-points" + "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/04e0e14bb8874ab521d35c97d6040133f0d2143a...c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "previous_git_commit": "04e0e14bb8874ab521d35c97d6040133f0d2143a", + "previous_fingerprint": "a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:04e0e14@sha256:a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/04e0e14bb8874ab521d35c97d6040133f0d2143a", + "previous_trail_name": "04e0e14bb8874ab521d35c97d6040133f0d2143a", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 4272.0, + "commit_lead_time": 81654.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", "trail_name": "promote-all-30", - "template_reference_name": "custom-start-points", + "template_reference_name": "languages-start-points", "git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", "git_commit_info": { @@ -7780,27 +7490,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1782907108.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=f63f0700-2e41-44a7-ab00-31da5193", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=a9535090-47a2-4ea2-8827-c368a63e", "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...d7e31ce0207b766140ae689f38625da4374acf87", "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:fc6b09b@sha256:1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", + "previous_fingerprint": "a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:04e0e14@sha256:a89642efb4e686ea38d597e20c2c3f256649d8bca02e2d923767844a6897667c", "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-29", - "previous_template_reference_name": "custom-start-points" + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 711096.0, + "commit_lead_time": 711101.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "template_reference_name": "custom-start-points", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "template_reference_name": "languages-start-points", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -7811,27 +7521,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=947aceb0-d3d2-4dc6-857f-48489d35", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=b08301eb-028d-4fa4-8256-d1be128c", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "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_fingerprint": "5bc686a6794d6a180f3a70f815348627578982e951f16e7462b1b6f533a97f38", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:bb8a712@sha256:5bc686a6794d6a180f3a70f815348627578982e951f16e7462b1b6f533a97f38", "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_trail_name": "languages-start-points-5bc686a6794d6a180f3a70f815348627578982e951f16e7462b1b6f533a97f38", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": -232770.0, + "commit_lead_time": -232765.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "template_reference_name": "custom-start-points", + "trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "template_reference_name": "languages-start-points", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -7842,32 +7552,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=57260ac0-7256-47b8-b73d-12750959", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=cd7d673e-4e9a-4775-be60-2bb42b56", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "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": "b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:7e86fed@sha256:b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "custom-start-points-b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", - "previous_template_reference_name": "custom-start-points" + "previous_trail_name": "languages-start-points-b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": -232770.0, + "commit_lead_time": -232765.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/5333f9f522e74ab797a3893465e348d9", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/e0989e55de644314bd7c0db5f877729c", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "compliant": true, "deployments": [], "policy_decisions": [ @@ -7889,8 +7599,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null } }, @@ -7906,7 +7616,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } }, @@ -7914,7 +7624,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } } @@ -7934,8 +7644,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": "COMPLIANT" } }, @@ -7951,7 +7661,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } }, @@ -7959,7 +7669,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } } @@ -7984,8 +7694,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null } }, @@ -8001,7 +7711,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } }, @@ -8009,7 +7719,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } } @@ -8036,8 +7746,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null } }, @@ -8053,7 +7763,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } }, @@ -8061,7 +7771,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } } @@ -8081,8 +7791,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": "COMPLIANT" } }, @@ -8098,7 +7808,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } }, @@ -8106,7 +7816,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } } @@ -8131,8 +7841,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8150,7 +7860,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8159,7 +7869,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8187,8 +7897,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null } }, @@ -8204,7 +7914,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } }, @@ -8212,7 +7922,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } } @@ -8232,8 +7942,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": "COMPLIANT" } }, @@ -8249,7 +7959,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } }, @@ -8257,7 +7967,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } } @@ -8282,8 +7992,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8301,7 +8011,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8310,7 +8020,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8338,8 +8048,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null } }, @@ -8355,7 +8065,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } }, @@ -8363,7 +8073,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } } @@ -8383,8 +8093,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": "COMPLIANT" } }, @@ -8400,7 +8110,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } }, @@ -8408,7 +8118,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } } @@ -8433,8 +8143,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null } }, @@ -8450,7 +8160,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } }, @@ -8458,7 +8168,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } } @@ -8485,8 +8195,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": null } }, @@ -8502,7 +8212,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } }, @@ -8510,7 +8220,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": null } } @@ -8536,8 +8246,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "artifact_status": "COMPLIANT" } }, @@ -8553,7 +8263,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } }, @@ -8561,7 +8271,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "artifact_status": "COMPLIANT" } } @@ -8572,9 +8282,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "creationTimestamp": [ - 1783618126 + 1783618204 ], "pods": null, "annotation": { @@ -8582,59 +8292,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "exercises-start-points-ci", - "git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", - "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", - "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=0e55e1be-fab1-475b-8aaa-b45ca6e2", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", + "flow_name": "custom-start-points-ci", + "git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=e434f9eb-be9c-4851-ab99-187f1a26", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/80b913e9f88902428a3567f75165d8b9d73b561a...804f248d832dc34e564507b009c246dfb4f0c657", - "previous_git_commit": "80b913e9f88902428a3567f75165d8b9d73b561a", - "previous_fingerprint": "748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:80b913e@sha256:748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/fc6b09be0518fbf8ab76815cb85b1745631e3659...d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "previous_git_commit": "fc6b09be0518fbf8ab76815cb85b1745631e3659", + "previous_fingerprint": "1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:fc6b09b@sha256:1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/80b913e9f88902428a3567f75165d8b9d73b561a", - "previous_trail_name": "80b913e9f88902428a3567f75165d8b9d73b561a", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/fc6b09be0518fbf8ab76815cb85b1745631e3659", + "previous_trail_name": "fc6b09be0518fbf8ab76815cb85b1745631e3659", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 81944.0, + "commit_lead_time": 4272.0, "flows": [ { - "flow_name": "exercises-start-points-ci", - "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", - "template_reference_name": "exercises-start-points", - "git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", - "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", + "flow_name": "custom-start-points-ci", + "trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "template_reference_name": "custom-start-points", + "git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", "git_commit_info": { - "sha1": "804f248d832dc34e564507b009c246dfb4f0c657", - "message": "Merge pull request #145 from cyber-dojo/declare-sbom-and-provenance-facts-attestations\n\nDeclare sbom and provenance facts+decision attestations in the trail \u2026", + "sha1": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "message": "Merge pull request #139 from cyber-dojo/run-workflow-171\n\nRun main workflow to check updates to secure-build sub workflow", "author": "Jon Jagger ", "branch": "", - "timestamp": 1783536182.0, - "url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657" + "timestamp": 1783613932.0, + "url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=0e55e1be-fab1-475b-8aaa-b45ca6e2", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=e434f9eb-be9c-4851-ab99-187f1a26", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/80b913e9f88902428a3567f75165d8b9d73b561a...804f248d832dc34e564507b009c246dfb4f0c657", - "previous_git_commit": "80b913e9f88902428a3567f75165d8b9d73b561a", - "previous_fingerprint": "748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:80b913e@sha256:748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/fc6b09be0518fbf8ab76815cb85b1745631e3659...d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "previous_git_commit": "fc6b09be0518fbf8ab76815cb85b1745631e3659", + "previous_fingerprint": "1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:fc6b09b@sha256:1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/80b913e9f88902428a3567f75165d8b9d73b561a", - "previous_trail_name": "80b913e9f88902428a3567f75165d8b9d73b561a", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/fc6b09be0518fbf8ab76815cb85b1745631e3659", + "previous_trail_name": "fc6b09be0518fbf8ab76815cb85b1745631e3659", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 81944.0, + "commit_lead_time": 4272.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", "trail_name": "promote-all-30", - "template_reference_name": "exercises-start-points", + "template_reference_name": "custom-start-points", "git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", "git_commit_info": { @@ -8645,27 +8355,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1782907108.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=729eea0c-e715-4d68-8a0a-b25a7202", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=f63f0700-2e41-44a7-ab00-31da5193", "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...d7e31ce0207b766140ae689f38625da4374acf87", "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:80b913e@sha256:748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "previous_fingerprint": "1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:fc6b09b@sha256:1dbac604d2f08378e085032c135be4f4910559a7d7723c26372724d6fb8010d1", "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-29", - "previous_template_reference_name": "exercises-start-points" + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 711018.0, + "commit_lead_time": 711096.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "template_reference_name": "exercises-start-points", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "template_reference_name": "custom-start-points", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -8676,27 +8386,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=d2f09480-2fe9-4995-9f0b-5b24b3b8", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=947aceb0-d3d2-4dc6-857f-48489d35", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "previous_git_commit": "c17bb3ed8862de03c1a491dfe790fd8734fc7071", - "previous_fingerprint": "fe536dd19b159d9cb43aaa09236d26c916906bd915c648991aa824fb2f69af58", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:75485ee@sha256:fe536dd19b159d9cb43aaa09236d26c916906bd915c648991aa824fb2f69af58", + "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/c17bb3ed8862de03c1a491dfe790fd8734fc7071", - "previous_trail_name": "exercises-start-points-fe536dd19b159d9cb43aaa09236d26c916906bd915c648991aa824fb2f69af58", - "previous_template_reference_name": "exercises-start-points" + "previous_trail_name": "custom-start-points-311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": -232848.0, + "commit_lead_time": -232770.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "template_reference_name": "exercises-start-points", + "trail_name": "custom-start-points-1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "template_reference_name": "custom-start-points", "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "git_commit_info": { @@ -8707,26 +8417,1466 @@ kosli get snapshot aws-prod --output=json "timestamp": 1783850974.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=70d0d7f3-c0a0-4ef2-af95-7d334373", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=d8e2a3cf-2aff-4fa0-903b-fee0b73b", "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:b8e5cbf@sha256:f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "previous_fingerprint": "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": "exercises-start-points-f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", - "previous_template_reference_name": "exercises-start-points" + "previous_trail_name": "custom-start-points-b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": -232848.0, + "commit_lead_time": -232770.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/c2a918fa550f40d6a4f2b35f023d40f1", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/5333f9f522e74ab797a3893465e348d9", + "cluster_name": null, + "service_name": null + } + }, + { + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": true, + "ignored": false, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "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": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "artifact_status": "COMPLIANT" + } + } + ] + } + ], + "policy_name": "trail-compliance-aws-prod" + } + ], + "reasons_for_incompliance": [], + "fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "creationTimestamp": [ + 1783618126 + ], + "pods": null, + "annotation": { + "type": "unchanged", + "was": 1, + "now": 1 + }, + "flow_name": "exercises-start-points-ci", + "git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", + "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", + "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=0e55e1be-fab1-475b-8aaa-b45ca6e2", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/80b913e9f88902428a3567f75165d8b9d73b561a...804f248d832dc34e564507b009c246dfb4f0c657", + "previous_git_commit": "80b913e9f88902428a3567f75165d8b9d73b561a", + "previous_fingerprint": "748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:80b913e@sha256:748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/80b913e9f88902428a3567f75165d8b9d73b561a", + "previous_trail_name": "80b913e9f88902428a3567f75165d8b9d73b561a", + "previous_template_reference_name": "exercises-start-points" + }, + "commit_lead_time": 81944.0, + "flows": [ + { + "flow_name": "exercises-start-points-ci", + "trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "template_reference_name": "exercises-start-points", + "git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", + "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", + "git_commit_info": { + "sha1": "804f248d832dc34e564507b009c246dfb4f0c657", + "message": "Merge pull request #145 from cyber-dojo/declare-sbom-and-provenance-facts-attestations\n\nDeclare sbom and provenance facts+decision attestations in the trail \u2026", + "author": "Jon Jagger ", + "branch": "", + "timestamp": 1783536182.0, + "url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=0e55e1be-fab1-475b-8aaa-b45ca6e2", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/80b913e9f88902428a3567f75165d8b9d73b561a...804f248d832dc34e564507b009c246dfb4f0c657", + "previous_git_commit": "80b913e9f88902428a3567f75165d8b9d73b561a", + "previous_fingerprint": "748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:80b913e@sha256:748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/80b913e9f88902428a3567f75165d8b9d73b561a", + "previous_trail_name": "80b913e9f88902428a3567f75165d8b9d73b561a", + "previous_template_reference_name": "exercises-start-points" + }, + "commit_lead_time": 81944.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "production-promotion", + "trail_name": "promote-all-30", + "template_reference_name": "exercises-start-points", + "git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", + "git_commit_info": { + "sha1": "d7e31ce0207b766140ae689f38625da4374acf87", + "message": "Merge pull request #15 from cyber-dojo/delete-dead-comments\n\nDelete dead comments", + "author": "Jon Jagger ", + "branch": "main", + "timestamp": 1782907108.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=729eea0c-e715-4d68-8a0a-b25a7202", + "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...d7e31ce0207b766140ae689f38625da4374acf87", + "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", + "previous_fingerprint": "748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:80b913e@sha256:748c413e0f6e45c3652fa4ee47ff2d7371da0bade41c027711296216b53db39b", + "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-29", + "previous_template_reference_name": "exercises-start-points" + }, + "commit_lead_time": 711018.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "template_reference_name": "exercises-start-points", + "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "git_commit_info": { + "sha1": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "message": "Add emoji prefixes to workflow names\n\n Match the visual convention already used in the kosli-demo/stochastic-committer\n repo, where the Actions sidebar distinguishes workflow roles at a glance.\n\n The two aws-* files are the top-level entry points, triggered by dispatch and\n schedule, so they get the play emoji. The three reusable workflow_call\n sub-workflows get the package emoji to mark them as callable building blocks.", + "author": "JonJagger ", + "branch": "main", + "timestamp": 1783850974.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=d2f09480-2fe9-4995-9f0b-5b24b3b8", + "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_git_commit": "c17bb3ed8862de03c1a491dfe790fd8734fc7071", + "previous_fingerprint": "fe536dd19b159d9cb43aaa09236d26c916906bd915c648991aa824fb2f69af58", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:75485ee@sha256:fe536dd19b159d9cb43aaa09236d26c916906bd915c648991aa824fb2f69af58", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c17bb3ed8862de03c1a491dfe790fd8734fc7071", + "previous_trail_name": "exercises-start-points-fe536dd19b159d9cb43aaa09236d26c916906bd915c648991aa824fb2f69af58", + "previous_template_reference_name": "exercises-start-points" + }, + "commit_lead_time": -232848.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "template_reference_name": "exercises-start-points", + "git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "git_commit_info": { + "sha1": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "message": "Add emoji prefixes to workflow names\n\n Match the visual convention already used in the kosli-demo/stochastic-committer\n repo, where the Actions sidebar distinguishes workflow roles at a glance.\n\n The two aws-* files are the top-level entry points, triggered by dispatch and\n schedule, so they get the play emoji. The three reusable workflow_call\n sub-workflows get the package emoji to mark them as callable building blocks.", + "author": "JonJagger ", + "branch": "main", + "timestamp": 1783850974.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=d14c9c84-17ce-4c97-a9ac-93e3666d", + "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...35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_fingerprint": "f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:b8e5cbf@sha256:f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "previous_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" + }, + "commit_lead_time": -232848.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + } + ], + "ecs_context": { + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/c2a918fa550f40d6a4f2b35f023d40f1", + "cluster_name": null, + "service_name": null + } + }, + { + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:b592c3a@sha256:5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "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": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "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": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "artifact_status": "COMPLIANT" + } + } + ] + } + ], + "policy_name": "trail-compliance-aws-prod" + } + ], + "reasons_for_incompliance": [], + "fingerprint": "5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "creationTimestamp": [ + 1785215284 + ], + "pods": null, + "annotation": { + "type": "exited", + "was": 1, + "now": 0 + }, + "flow_name": "spooler-ci", + "git_commit": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/b592c3af03e9530c1d224686a1745e4a12e1df00", + "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e?artifact_id=60af6a2b-6351-40e9-8c44-6f73abc4", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/spooler/compare/5451dae79163e5e06397eb2fe8792eceb8a17de5...b592c3af03e9530c1d224686a1745e4a12e1df00", + "previous_git_commit": "5451dae79163e5e06397eb2fe8792eceb8a17de5", + "previous_fingerprint": "1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:5451dae@sha256:1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/5451dae79163e5e06397eb2fe8792eceb8a17de5", + "previous_trail_name": "5451dae79163e5e06397eb2fe8792eceb8a17de5", + "previous_template_reference_name": "spooler" + }, + "commit_lead_time": 815.0, + "flows": [ + { + "flow_name": "spooler-ci", + "trail_name": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "template_reference_name": "spooler", + "git_commit": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/b592c3af03e9530c1d224686a1745e4a12e1df00", + "git_commit_info": { + "sha1": "b592c3af03e9530c1d224686a1745e4a12e1df00", + "message": "Merge pull request #10 from cyber-dojo/run-ci-workflow-2\n\nRun workflow to check deploying", + "author": "Jon Jagger ", + "branch": "", + "timestamp": 1785214469.0, + "url": "https://github.com/cyber-dojo/spooler/commit/b592c3af03e9530c1d224686a1745e4a12e1df00" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e?artifact_id=60af6a2b-6351-40e9-8c44-6f73abc4", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/spooler/compare/5451dae79163e5e06397eb2fe8792eceb8a17de5...b592c3af03e9530c1d224686a1745e4a12e1df00", + "previous_git_commit": "5451dae79163e5e06397eb2fe8792eceb8a17de5", + "previous_fingerprint": "1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:5451dae@sha256:1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/5451dae79163e5e06397eb2fe8792eceb8a17de5", + "previous_trail_name": "5451dae79163e5e06397eb2fe8792eceb8a17de5", + "previous_template_reference_name": "spooler" + }, + "commit_lead_time": 815.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "production-promotion", + "trail_name": "promotion-one-139", + "template_reference_name": "spooler", + "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/5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e?artifact_id=42aefac1-812f-4b32-8884-ad83ef06", + "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...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", + "previous_fingerprint": "1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:5451dae@sha256:1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "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-138", + "previous_template_reference_name": "spooler" + }, + "commit_lead_time": 72230.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + } + ], + "ecs_context": { + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/105a0fd5f88143ecbcd6f0391e709420", "cluster_name": null, "service_name": null } diff --git a/client_reference/kosli_list_approvals.md b/client_reference/kosli_list_approvals.md deleted file mode 100644 index 55b3b79..0000000 --- a/client_reference/kosli_list_approvals.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: "kosli list approvals" -tag: "DEPRECATED" -description: "List approvals in a flow." ---- - -import CliDeprecatedNotice from "/snippets/cli-deprecated-notice.mdx"; - - - -## Synopsis - -```shell -kosli list approvals [flags] -``` - -List approvals in a flow. -The results are paginated and ordered from latest to oldest. -By default, the page limit is 15 approvals per page. - - -## Flags -| Flag | Description | -| :--- | :--- | -| `-f`, `--flow` string | The Kosli flow name. | -| `-h`, `--help` | help for approvals | -| `-o`, `--output` string | [defaulted] The format of the output. Valid formats are: [table, json]. (default "table") | -| `--page` int | [defaulted] The page number of a response. (default 1) | -| `-n`, `--page-limit` int | [defaulted] The number of elements per page. (default 15) | - - -## Flags inherited from parent commands -| Flag | Description | -| :--- | :--- | -| `-a`, `--api-token` string | The Kosli API token. | -| `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | -| `--debug` | [optional] Print debug logs to stdout. | -| `-H`, `--host` string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") | -| `--http-proxy` string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` | -| `-r`, `--max-api-retries` int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) | -| `--org` string | The Kosli organization. | -| `-q`, `--quiet` | [optional] Suppress non-critical warning messages. Errors and normal output are not affected. If both `--quiet` and `--debug` are set, `--debug` wins. | - - -## Examples Use Cases - -These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables). - - - -```shell -kosli list approvals - -``` - - -```shell -kosli list approvals - --page-limit 30 - -``` - - -```shell -kosli list approvals - --page-limit 30 - --output json -``` - - - diff --git a/client_reference/kosli_list_environments.md b/client_reference/kosli_list_environments.md index 322fc49..19a6820 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": 1785096324.1927717, - "last_reported_at": 1785096324.1927717, - "last_changed_at": 1785053364.2963862, + "last_modified_at": 1785233604.0426843, + "last_reported_at": 1785233604.0426843, + "last_changed_at": 1785229643.9691582, "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": 1785096308.4881089, - "last_reported_at": 1785096308.4881089, - "last_changed_at": 1785053708.8251207, + "last_modified_at": 1785233408.8483882, + "last_reported_at": 1785233408.8483882, + "last_changed_at": 1785232808.6739333, "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": 1785096358.5041184, - "last_reported_at": 1785096358.5041184, - "last_changed_at": 1785042598.396489, + "last_modified_at": 1785233578.5153272, + "last_reported_at": 1785233578.5153272, + "last_changed_at": 1785224878.4373872, "state": true, "include_scaling": false, "tags": { @@ -122,10 +122,10 @@ 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": 1785096224.040185, - "last_reported_at": 1785096224.040185, - "last_changed_at": 1784963311.993554, - "state": true, + "last_modified_at": 1785233612.3601446, + "last_reported_at": 1785233612.3601446, + "last_changed_at": 1785230312.044038, + "state": false, "include_scaling": false, "tags": {}, "policies": [ @@ -138,10 +138,10 @@ kosli list environments --output=json "name": "production", "type": "logical", "description": "Production environments for cyber-dojo", - "last_modified_at": 1785042598.396489, + "last_modified_at": 1785230312.044038, "last_reported_at": null, - "last_changed_at": 1785042598.396489, - "state": true, + "last_changed_at": 1785230312.044038, + "state": false, "include_scaling": false, "tags": {}, "policies": null, @@ -155,9 +155,9 @@ kosli list environments --output=json "name": "staging", "type": "logical", "description": "Staging environments for cyber-dojo", - "last_modified_at": 1785053708.8251207, + "last_modified_at": 1785232808.6739333, "last_reported_at": null, - "last_changed_at": 1785053708.8251207, + "last_changed_at": 1785232808.6739333, "state": true, "include_scaling": false, "tags": {}, diff --git a/client_reference/kosli_list_flows.md b/client_reference/kosli_list_flows.md index 7816688..3026ebb 100644 --- a/client_reference/kosli_list_flows.md +++ b/client_reference/kosli_list_flows.md @@ -477,7 +477,7 @@ kosli list flows --output=json "visibility": "private", "org": "cyber-dojo", "template": "version: 1\ntrail:\n attestations:\n - name: terraform-plan\n type: generic\n - name: terraform-apply\n type: generic\n artifacts:\n - name: terraform-state\n - name: drift-plan\n", - "repo_url": "https://github.com/cyber-dojo/runner", + "repo_url": "https://github.com/cyber-dojo/spooler", "tags": {} }, { diff --git a/client_reference/kosli_list_snapshots.md b/client_reference/kosli_list_snapshots.md index 127b13e..e486019 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": 5102, - "from": 1785042598.396489, + "index": 5116, + "from": 1785224878.4373872, "to": 0.0, "compliant": true, - "duration": 53762.95841002464 + "duration": 8750.01878452301 }, { - "index": 5101, - "from": 1785042538.4093528, - "to": 1785042598.396489, + "index": 5115, + "from": 1785215338.442852, + "to": 1785224878.4373872, "compliant": true, - "duration": 59.987136125564575 + "duration": 9539.994535207748 }, { - "index": 5100, - "from": 1785042478.3455539, - "to": 1785042538.4093528, + "index": 5114, + "from": 1785214438.378998, + "to": 1785215338.442852, "compliant": true, - "duration": 60.063798904418945 + "duration": 900.0638539791107 }, { - "index": 5099, - "from": 1785042418.5663874, - "to": 1785042478.3455539, + "index": 5113, + "from": 1785214378.5198987, + "to": 1785214438.378998, "compliant": true, - "duration": 59.77916646003723 + "duration": 59.85909938812256 }, { - "index": 5098, - "from": 1785042358.4207563, - "to": 1785042418.5663874, + "index": 5112, + "from": 1785214318.4842489, + "to": 1785214378.5198987, "compliant": true, - "duration": 60.145631074905396 + "duration": 60.03564977645874 }, { - "index": 5097, - "from": 1784963398.5259354, - "to": 1785042358.4207563, + "index": 5111, + "from": 1785214258.6438735, + "to": 1785214318.4842489, "compliant": true, - "duration": 78959.89482092857 + "duration": 59.8403754234314 }, { - "index": 5096, - "from": 1784963278.4685986, - "to": 1784963398.5259354, + "index": 5110, + "from": 1785214198.674762, + "to": 1785214258.6438735, "compliant": true, - "duration": 120.05733680725098 + "duration": 59.96911144256592 }, { - "index": 5095, - "from": 1784963218.5628068, - "to": 1784963278.4685986, + "index": 5109, + "from": 1785214139.0560102, + "to": 1785214198.674762, "compliant": true, - "duration": 59.90579175949097 + "duration": 59.618751764297485 }, { - "index": 5094, - "from": 1784962918.7634475, - "to": 1784963218.5628068, + "index": 5108, + "from": 1785165658.472069, + "to": 1785214139.0560102, "compliant": true, - "duration": 299.79935932159424 + "duration": 48480.58394122124 }, { - "index": 5093, - "from": 1784962858.582333, - "to": 1784962918.7634475, + "index": 5107, + "from": 1785138658.57735, + "to": 1785165658.472069, "compliant": true, - "duration": 60.18111443519592 + "duration": 26999.89471912384 }, { - "index": 5092, - "from": 1784961538.4107828, - "to": 1784962858.582333, + "index": 5106, + "from": 1785131338.4268208, + "to": 1785138658.57735, "compliant": true, - "duration": 1320.1715502738953 + "duration": 7320.1505291461945 }, { - "index": 5091, - "from": 1784955418.416456, - "to": 1784961538.4107828, + "index": 5105, + "from": 1785131278.4151351, + "to": 1785131338.4268208, "compliant": true, - "duration": 6119.99432682991 + "duration": 60.011685609817505 }, { - "index": 5090, - "from": 1784955358.4916215, - "to": 1784955418.416456, + "index": 5104, + "from": 1785130438.502333, + "to": 1785131278.4151351, "compliant": true, - "duration": 59.92483448982239 + "duration": 839.9128022193909 }, { - "index": 5089, - "from": 1784955298.4261715, - "to": 1784955358.4916215, + "index": 5103, + "from": 1785130318.4207122, + "to": 1785130438.502333, "compliant": true, - "duration": 60.065449953079224 + "duration": 120.08162069320679 }, { - "index": 5088, - "from": 1784955238.4201362, - "to": 1784955298.4261715, + "index": 5102, + "from": 1785042598.396489, + "to": 1785130318.4207122, "compliant": true, - "duration": 60.00603532791138 + "duration": 87720.02422332764 } ] ``` diff --git a/client_reference/kosli_log_environment.md b/client_reference/kosli_log_environment.md index 0f5ad0f..421d6ff 100644 --- a/client_reference/kosli_log_environment.md +++ b/client_reference/kosli_log_environment.md @@ -72,184 +72,160 @@ kosli log environment aws-prod --output=json [ { "environment_name": "aws-prod", - "snapshot_index": 5102, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "sha256": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "description": "3 instances changed", - "reported_at": 1785042598.396489, - "pipeline": "runner-ci", + "snapshot_index": 5116, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:92c624e@sha256:a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975", + "sha256": "a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975", + "description": "1 instance started running (from 0 to 1)", + "reported_at": 1785224878.4373872, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "runner-ci", + "flow_name": "spooler-ci", "deployments": null }, { "flow_name": "production-promotion", "deployments": null - }, - { - "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/runner/compare/bc233ac93efa55b9db67db9062b7fbb600726c8a...6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "type": "started-compliant", + "code_diff": "https://github.com/cyber-dojo/spooler/compare/b592c3af03e9530c1d224686a1745e4a12e1df00...92c624eabb024729fb2af6cdbe354db11ee3882f", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b?artifact_id=78314ad9-75a0-4789-9a13-dba5ade2" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975", + "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/a20359795934beb03d992ba5a8f8b95ca637e609284e5a84781bdcbb1b861975?artifact_id=42025c9c-2608-4ef0-b140-84548282" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5102", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5102" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5116", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5116" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5101, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "sha256": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "description": "3 instances changed", - "reported_at": 1785042538.4093528, - "pipeline": "runner-ci", + "snapshot_index": 5116, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:b592c3a@sha256:5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "sha256": "5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "description": "1 instance stopped running (from 1 to 0)", + "reported_at": 1785224878.4373872, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "runner-ci", - "deployments": null - }, - { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "spooler-ci", "deployments": null }, { "flow_name": "production-promotion", "deployments": null - }, - { - "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/bc233ac93efa55b9db67db9062b7fbb600726c8a...6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "type": "exited", + "code_diff": "https://github.com/cyber-dojo/spooler/compare/5451dae79163e5e06397eb2fe8792eceb8a17de5...b592c3af03e9530c1d224686a1745e4a12e1df00", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b?artifact_id=78314ad9-75a0-4789-9a13-dba5ade2" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e?artifact_id=60af6a2b-6351-40e9-8c44-6f73abc4" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5101", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5101" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5116", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5116" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5100, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "sha256": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "description": "1 instance changed", - "reported_at": 1785042478.3455539, - "pipeline": "saver-ci", + "snapshot_index": 5115, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:b592c3a@sha256:5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "sha256": "5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "description": "1 instance started running (from 0 to 1)", + "reported_at": 1785215338.442852, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "saver-ci", + "flow_name": "spooler-ci", "deployments": null }, { "flow_name": "production-promotion", "deployments": null - }, - { - "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/saver/compare/55561dc8a8d25313f5318038f26892cdee5e90f7...f4bb3412725258648a7cf5ce1a776609b4dade72", + "type": "started-compliant", + "code_diff": "https://github.com/cyber-dojo/spooler/compare/5451dae79163e5e06397eb2fe8792eceb8a17de5...b592c3af03e9530c1d224686a1745e4a12e1df00", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/saver-ci/fingerprint/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=e3c009b8-349c-4f4e-8730-f45dfccf" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e", + "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/5cd2a591370f45e0156411a484182215a0c403992b9aef2cfaacbeadb3ac2b3e?artifact_id=60af6a2b-6351-40e9-8c44-6f73abc4" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5100", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5100" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5115", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5115" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5099, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:3f0b997@sha256:0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "sha256": "0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "description": "3 instances changed", - "reported_at": 1785042418.5663874, - "pipeline": "web-ci", + "snapshot_index": 5115, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:5451dae@sha256:1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "sha256": "1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "description": "1 instance stopped running (from 1 to 0)", + "reported_at": 1785215338.442852, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "web-ci", + "flow_name": "spooler-ci", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "production-promotion", "deployments": null }, { - "flow_name": "production-promotion", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/web/compare/bdf01beca687a34db9689499bd805cfc752a1747...3f0b9975f96b7f4e4aae0b4409cebda3209be164", + "type": "exited", + "code_diff": null, "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=0f00c8a9-1489-416c-b64f-5819890f" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f?artifact_id=0d8ff1d2-a707-4bc0-9ce1-e37af354" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5099", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5099" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5115", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5115" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5099, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "sha256": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "description": "1 instance changed", - "reported_at": 1785042418.5663874, - "pipeline": "creator-ci", + "snapshot_index": 5114, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "sha256": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "description": "3 instances changed", + "reported_at": 1785214438.378998, + "pipeline": "runner-ci", "deployments": [], "flows": [ { - "flow_name": "creator-ci", + "flow_name": "runner-ci", "deployments": null }, { @@ -268,38 +244,38 @@ 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/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", + "code_diff": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "html": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=3cb9c270-d59b-4b28-b16a-b23d89d2" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5099", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5099" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5114", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5114" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5099, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "sha256": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "description": "1 instance changed", - "reported_at": 1785042418.5663874, - "pipeline": "languages-start-points-ci", + "snapshot_index": 5113, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "sha256": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "description": "3 instances changed", + "reported_at": 1785214378.5198987, + "pipeline": "runner-ci", "deployments": [], "flows": [ { - "flow_name": "languages-start-points-ci", + "flow_name": "runner-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 }, { @@ -309,26 +285,26 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/languages-start-points/compare/04e0e14bb8874ab521d35c97d6040133f0d2143a...c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/languages-start-points-ci/fingerprint/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "html": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418?artifact_id=ed104a44-8358-4883-beeb-ac3c8bb7" + "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" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5099", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5099" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5113", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5113" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5099, + "snapshot_index": 5113, "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "sha256": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "description": "1 instance changed", - "reported_at": 1785042418.5663874, + "reported_at": 1785214378.5198987, "pipeline": "saver-ci", "deployments": [], "flows": [ @@ -341,17 +317,17 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", + "type": "updated-provenance", "code_diff": "https://github.com/cyber-dojo/saver/compare/55561dc8a8d25313f5318038f26892cdee5e90f7...f4bb3412725258648a7cf5ce1a776609b4dade72", "_links": { "artifact": { @@ -359,23 +335,23 @@ kosli log environment aws-prod --output=json "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=e3c009b8-349c-4f4e-8730-f45dfccf" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5099", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5099" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5113", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5113" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5098, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "sha256": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "snapshot_index": 5112, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:5451dae@sha256:1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "sha256": "1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", "description": "1 instance changed", - "reported_at": 1785042358.4207563, - "pipeline": "custom-start-points-ci", + "reported_at": 1785214318.4842489, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "custom-start-points-ci", + "flow_name": "spooler-ci", "deployments": null }, { @@ -383,51 +359,47 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/custom-start-points/compare/fc6b09be0518fbf8ab76815cb85b1745631e3659...d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "type": "updated-provenance", + "code_diff": null, "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/custom-start-points-ci/fingerprint/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "html": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400?artifact_id=e434f9eb-be9c-4851-ab99-187f1a26" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f?artifact_id=0d8ff1d2-a707-4bc0-9ce1-e37af354" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5098", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5098" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5112", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5112" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5098, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:7ba8029@sha256:3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", - "sha256": "3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "snapshot_index": 5111, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:5451dae@sha256:1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "sha256": "1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", "description": "1 instance changed", - "reported_at": 1785042358.4207563, - "pipeline": "nginx-ci", + "reported_at": 1785214258.6438735, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "nginx-ci", + "flow_name": "spooler-ci", "deployments": null }, { "flow_name": "production-promotion", "deployments": null }, - { - "flow_name": "snyk-aws-beta-per-artifact", - "deployments": null - }, { "flow_name": "snyk-aws-prod-per-artifact", "deployments": null @@ -435,31 +407,31 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/nginx/compare/9b711df71c76a1f293c2525ace65778036591baf...7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", + "type": "updated-provenance", + "code_diff": null, "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/nginx-ci/fingerprint/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", - "html": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=5c293d3e-84a1-42dd-8215-6abd8d8d" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f", + "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/1b070a24ceafec25a9ed62bca61ac668b7e77381e1d4d8b755d22ceacc400c9f?artifact_id=0d8ff1d2-a707-4bc0-9ce1-e37af354" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5098", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5098" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5111", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5111" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5098, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "sha256": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "snapshot_index": 5111, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:7ba8029@sha256:3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "sha256": "3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", "description": "1 instance changed", - "reported_at": 1785042358.4207563, - "pipeline": "exercises-start-points-ci", + "reported_at": 1785214258.6438735, + "pipeline": "nginx-ci", "deployments": [], "flows": [ { - "flow_name": "exercises-start-points-ci", + "flow_name": "nginx-ci", "deployments": null }, { @@ -478,30 +450,30 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "changed", - "code_diff": "https://github.com/cyber-dojo/exercises-start-points/compare/80b913e9f88902428a3567f75165d8b9d73b561a...804f248d832dc34e564507b009c246dfb4f0c657", + "code_diff": "https://github.com/cyber-dojo/nginx/compare/9b711df71c76a1f293c2525ace65778036591baf...7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/exercises-start-points-ci/fingerprint/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "html": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=0e55e1be-fab1-475b-8aaa-b45ca6e2" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/nginx-ci/fingerprint/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5", + "html": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/3fe0f4dede834e7315a340526c9719446a7537a4e4e42c6802c3c5ac86db3ec5?artifact_id=5c293d3e-84a1-42dd-8215-6abd8d8d" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5098", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5098" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5111", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5111" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5098, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "sha256": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "snapshot_index": 5111, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "sha256": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", "description": "1 instance changed", - "reported_at": 1785042358.4207563, - "pipeline": "creator-ci", + "reported_at": 1785214258.6438735, + "pipeline": "exercises-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "creator-ci", + "flow_name": "exercises-start-points-ci", "deployments": null }, { @@ -520,30 +492,30 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "changed", - "code_diff": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", + "code_diff": "https://github.com/cyber-dojo/exercises-start-points/compare/80b913e9f88902428a3567f75165d8b9d73b561a...804f248d832dc34e564507b009c246dfb4f0c657", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "html": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=3cb9c270-d59b-4b28-b16a-b23d89d2" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/exercises-start-points-ci/fingerprint/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "html": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613?artifact_id=0e55e1be-fab1-475b-8aaa-b45ca6e2" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5098", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5098" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5111", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5111" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5098, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "sha256": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "snapshot_index": 5111, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "sha256": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "description": "1 instance changed", - "reported_at": 1785042358.4207563, - "pipeline": "differ-ci", + "reported_at": 1785214258.6438735, + "pipeline": "creator-ci", "deployments": [], "flows": [ { - "flow_name": "differ-ci", + "flow_name": "creator-ci", "deployments": null }, { @@ -551,36 +523,36 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/differ/compare/8beff9901ac67acb7afcab3408106208571a1124...335ddfa139708c37908dd594a0502bc6d88f8615", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/differ-ci/fingerprint/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "html": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=5f3d2a2e-acdb-4414-a1e7-ebca7c32" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "html": "https://app.kosli.com/cyber-dojo/flows/creator-ci/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=3cb9c270-d59b-4b28-b16a-b23d89d2" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5098", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5098" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5111", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5111" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5098, + "snapshot_index": 5111, "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "sha256": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", "description": "1 instance changed", - "reported_at": 1785042358.4207563, + "reported_at": 1785214258.6438735, "pipeline": "dashboard-ci", "deployments": [], "flows": [ @@ -611,31 +583,31 @@ kosli log environment aws-prod --output=json "html": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e?artifact_id=53e5b750-6f87-43db-a8a3-e1f5b1db" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5098", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5098" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5111", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5111" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5097, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "sha256": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "description": "3 instances changed", - "reported_at": 1784963398.5259354, - "pipeline": "runner-ci", + "snapshot_index": 5111, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "sha256": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "description": "1 instance changed", + "reported_at": 1785214258.6438735, + "pipeline": "saver-ci", "deployments": [], "flows": [ { - "flow_name": "runner-ci", + "flow_name": "saver-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 }, { @@ -645,39 +617,39 @@ 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/bc233ac93efa55b9db67db9062b7fbb600726c8a...6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", + "type": "changed", + "code_diff": "https://github.com/cyber-dojo/saver/compare/55561dc8a8d25313f5318038f26892cdee5e90f7...f4bb3412725258648a7cf5ce1a776609b4dade72", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b?artifact_id=78314ad9-75a0-4789-9a13-dba5ade2" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/saver-ci/fingerprint/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97?artifact_id=e3c009b8-349c-4f4e-8730-f45dfccf" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5097", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5097" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5111", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5111" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5096, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "sha256": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "description": "1 instance changed", - "reported_at": 1784963278.4685986, - "pipeline": "differ-ci", + "snapshot_index": 5110, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:3f0b997@sha256:0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "sha256": "0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "description": "3 instances changed", + "reported_at": 1785214198.674762, + "pipeline": "web-ci", "deployments": [], "flows": [ { - "flow_name": "differ-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 }, { @@ -688,15 +660,15 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "changed", - "code_diff": "https://github.com/cyber-dojo/differ/compare/8beff9901ac67acb7afcab3408106208571a1124...335ddfa139708c37908dd594a0502bc6d88f8615", + "code_diff": "https://github.com/cyber-dojo/web/compare/bdf01beca687a34db9689499bd805cfc752a1747...3f0b9975f96b7f4e4aae0b4409cebda3209be164", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/differ-ci/fingerprint/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "html": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f?artifact_id=5f3d2a2e-acdb-4414-a1e7-ebca7c32" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972?artifact_id=0f00c8a9-1489-416c-b64f-5819890f" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5096", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5096" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5110", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5110" } } } diff --git a/client_reference/kosli_report_approval.md b/client_reference/kosli_report_approval.md deleted file mode 100644 index cfaed64..0000000 --- a/client_reference/kosli_report_approval.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: "kosli report approval" -tag: "DEPRECATED" -description: "Report an approval of deploying an artifact to an environment to Kosli. " ---- - -import CliDeprecatedNotice from "/snippets/cli-deprecated-notice.mdx"; - - - -## Synopsis - -```shell -kosli report approval [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags] -``` - -Report an approval of deploying an artifact to an environment to Kosli. - -The artifact fingerprint can be provided directly with the `--fingerprint` flag, or -calculated based on `--artifact-type` flag. - -Artifact type can be one of: "file" for files, "dir" for directories, "oci" for container -images in registries or "docker" for local docker images. - -Note: `--artifact-type=docker` reads the image's repo digest via the local Docker daemon. -The image must have been pushed to or pulled from a registry for a repo digest to exist; -a freshly built image (just `docker build`) will not have one. If the image is already in -a registry, prefer `--artifact-type=oci`, which fetches the digest directly from the -registry without needing a local Docker daemon. - -For `--artifact-type=oci` (and for `--artifact-type=docker` when `--registry-username` -is set), registry credentials are resolved as follows: - 1) If `--registry-username` (and optionally `--registry-password`) is set, it is used directly. - 2) Otherwise, credentials are discovered automatically from: - - the Docker config file (`~/.docker/config.json`, populated by `docker login`) - - the Podman/containers auth file (`~/.config/containers/auth.json`, or `$REGISTRY_AUTH_FILE`) - - any Docker credential helper configured in that config (e.g. `docker-credential-ecr-login` - for AWS ECR, `docker-credential-gcloud` for GCR/Artifact Registry, an ACR helper for Azure, - or a local keychain helper), invoked as an external binary on `$PATH` - - if none of the above yield credentials, the registry is accessed anonymously, which works - for public images - `--registry-provider` is deprecated and no longer used. - - - -## Flags -| Flag | Description | -| :--- | :--- | -| `--approver` string | [optional] The user approving an approval. | -| `-t`, `--artifact-type` string | The type of the artifact to calculate its SHA256 fingerprint. One of: [oci, docker, file, dir]. Only required if you want Kosli to calculate the fingerprint for you (i.e. when you don't specify '`--fingerprint`' on commands that allow it). | -| `-d`, `--description` string | [optional] The approval description. | -| `-D`, `--dry-run` | [optional] Run in dry-run mode. When enabled, no data is sent to Kosli and the CLI exits with 0 exit code regardless of any errors. | -| `-e`, `--environment` string | [defaulted] The environment the artifact is approved for. (defaults to all environments) | -| `-x`, `--exclude` strings | [optional] The comma separated list of directories and files to exclude from fingerprinting. Can take glob patterns. Only applicable for `--artifact-type` dir. | -| `-F`, `--fingerprint` string | [conditional] The SHA256 fingerprint of the artifact. Only required if you don't specify '`--artifact-type`'. | -| `-f`, `--flow` string | The Kosli flow name. | -| `-h`, `--help` | help for approval | -| `--newest-commit` string | [defaulted] The source commit sha for the newest change in the deployment. Can be any commit-ish. (default "HEAD") | -| `--oldest-commit` string | [conditional] The source commit sha for the oldest change in the deployment. Can be any commit-ish. Only required if you don't specify '`--environment`'. | -| `--registry-password` string | [conditional] The container registry password or access token. Only required if you want to read container image SHA256 digest from a remote container registry and it is not already accessible via Docker/Podman auth files or a credential helper. | -| `--registry-username` string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry and it is not already accessible via Docker/Podman auth files or a credential helper. | -| `--repo-root` string | [defaulted] The directory where the source git repository is available. (default ".") | -| `-u`, `--user-data` string | [optional] The path to a JSON file containing additional data you would like to attach to the approval. | - - -## Flags inherited from parent commands -| Flag | Description | -| :--- | :--- | -| `-a`, `--api-token` string | The Kosli API token. | -| `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | -| `--debug` | [optional] Print debug logs to stdout. | -| `-H`, `--host` string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") | -| `--http-proxy` string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` | -| `-r`, `--max-api-retries` int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) | -| `--org` string | The Kosli organization. | -| `-q`, `--quiet` | [optional] Suppress non-critical warning messages. Errors and normal output are not affected. If both `--quiet` and `--debug` are set, `--debug` wins. | - - -## Live Examples in different CI systems - - - - View an example of the `kosli report approval` command in GitHub. - - In [this YAML file](https://github.com/cyber-dojo/differ/blob/30dffd09c3f896a322c65029247abcea3019c43a/.github/workflows/main.yml#L358) - - - View an example of the `kosli report approval` command in GitLab. - - In [this YAML file](https://gitlab.com/cyber-dojo/creator/-/blob/48bdbd3b059d45489e8ae5f9f680f48bc6201ad8/.gitlab/workflows/main.yml#L200) - - - -## Examples Use Cases - -These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables). - -```shell -# Report that an artifact with a provided fingerprint (sha256) has been approved for -# deployment to environment . -# The approval is for all git commits since the last approval to this environment. -kosli report approval \ - --api-token yourAPIToken \ - --description "An optional description for the approval" \ - --environment yourEnvironmentName \ - --approver username \ - --org yourOrgName \ - --flow yourFlowName \ - --fingerprint yourArtifactFingerprint - -# Report that a file type artifact has been approved for deployment to environment . -# The approval is for all git commits since the last approval to this environment. -kosli report approval FILE.tgz \ - --api-token yourAPIToken \ - --artifact-type file \ - --description "An optional description for the approval" \ - --environment yourEnvironmentName \ - --newest-commit HEAD \ - --approver username \ - --org yourOrgName \ - --flow yourFlowName - -# Report that an artifact with a provided fingerprint (sha256) has been approved for deployment. -# The approval is for all environments. -# The approval is for all commits since the git commit of origin/production branch. -kosli report approval \ - --api-token yourAPIToken \ - --description "An optional description for the approval" \ - --newest-commit HEAD \ - --oldest-commit origin/production \ - --approver username \ - --org yourOrgName \ - --flow yourFlowName \ - --fingerprint yourArtifactFingerprint -``` - diff --git a/client_reference/kosli_request_approval.md b/client_reference/kosli_request_approval.md deleted file mode 100644 index 472cf2f..0000000 --- a/client_reference/kosli_request_approval.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: "kosli request approval" -tag: "DEPRECATED" -description: "Request an approval of a deployment of an artifact to an environment in Kosli. " ---- - -import CliDeprecatedNotice from "/snippets/cli-deprecated-notice.mdx"; - - - -## Synopsis - -```shell -kosli request approval [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags] -``` - -Request an approval of a deployment of an artifact to an environment in Kosli. -The request should be reviewed in the Kosli UI. - -The artifact fingerprint can be provided directly with the `--fingerprint` flag, or -calculated based on `--artifact-type` flag. - -Artifact type can be one of: "file" for files, "dir" for directories, "oci" for container -images in registries or "docker" for local docker images. - -Note: `--artifact-type=docker` reads the image's repo digest via the local Docker daemon. -The image must have been pushed to or pulled from a registry for a repo digest to exist; -a freshly built image (just `docker build`) will not have one. If the image is already in -a registry, prefer `--artifact-type=oci`, which fetches the digest directly from the -registry without needing a local Docker daemon. - -For `--artifact-type=oci` (and for `--artifact-type=docker` when `--registry-username` -is set), registry credentials are resolved as follows: - 1) If `--registry-username` (and optionally `--registry-password`) is set, it is used directly. - 2) Otherwise, credentials are discovered automatically from: - - the Docker config file (`~/.docker/config.json`, populated by `docker login`) - - the Podman/containers auth file (`~/.config/containers/auth.json`, or `$REGISTRY_AUTH_FILE`) - - any Docker credential helper configured in that config (e.g. `docker-credential-ecr-login` - for AWS ECR, `docker-credential-gcloud` for GCR/Artifact Registry, an ACR helper for Azure, - or a local keychain helper), invoked as an external binary on `$PATH` - - if none of the above yield credentials, the registry is accessed anonymously, which works - for public images - `--registry-provider` is deprecated and no longer used. - - - -## Flags -| Flag | Description | -| :--- | :--- | -| `-t`, `--artifact-type` string | The type of the artifact to calculate its SHA256 fingerprint. One of: [oci, docker, file, dir]. Only required if you want Kosli to calculate the fingerprint for you (i.e. when you don't specify '`--fingerprint`' on commands that allow it). | -| `-d`, `--description` string | [optional] The approval description. | -| `-D`, `--dry-run` | [optional] Run in dry-run mode. When enabled, no data is sent to Kosli and the CLI exits with 0 exit code regardless of any errors. | -| `-e`, `--environment` string | [defaulted] The environment the artifact is approved for. (defaults to all environments) | -| `-x`, `--exclude` strings | [optional] The comma separated list of directories and files to exclude from fingerprinting. Can take glob patterns. Only applicable for `--artifact-type` dir. | -| `-F`, `--fingerprint` string | [conditional] The SHA256 fingerprint of the artifact. Only required if you don't specify '`--artifact-type`'. | -| `-f`, `--flow` string | The Kosli flow name. | -| `-h`, `--help` | help for approval | -| `--newest-commit` string | [defaulted] The source commit sha for the newest change in the deployment. Can be any commit-ish. (default "HEAD") | -| `--oldest-commit` string | [conditional] The source commit sha for the oldest change in the deployment. Can be any commit-ish. Only required if you don't specify '`--environment`'. | -| `--registry-password` string | [conditional] The container registry password or access token. Only required if you want to read container image SHA256 digest from a remote container registry and it is not already accessible via Docker/Podman auth files or a credential helper. | -| `--registry-username` string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry and it is not already accessible via Docker/Podman auth files or a credential helper. | -| `--repo-root` string | [defaulted] The directory where the source git repository is available. (default ".") | -| `-u`, `--user-data` string | [optional] The path to a JSON file containing additional data you would like to attach to the approval. | - - -## Flags inherited from parent commands -| Flag | Description | -| :--- | :--- | -| `-a`, `--api-token` string | The Kosli API token. | -| `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | -| `--debug` | [optional] Print debug logs to stdout. | -| `-H`, `--host` string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") | -| `--http-proxy` string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` | -| `-r`, `--max-api-retries` int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) | -| `--org` string | The Kosli organization. | -| `-q`, `--quiet` | [optional] Suppress non-critical warning messages. Errors and normal output are not affected. If both `--quiet` and `--debug` are set, `--debug` wins. | - - -## Examples Use Cases - -These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables). - -```shell -# Request an approval for an artifact with a provided fingerprint (sha256) -# for deployment to environment . -# The approval is for all git commits since the last approval to this environment. -kosli request approval \ - --api-token yourAPIToken \ - --description "An optional description for the approval" \ - --environment yourEnvironmentName \ - --org yourOrgName \ - --flow yourFlowName \ - --fingerprint yourArtifactFingerprint - -# Request that a file type artifact needs approval for deployment to environment . -# The approval is for all git commits since the last approval to this environment. -kosli request approval FILE.tgz \ - --api-token yourAPIToken \ - --artifact-type file \ - --description "An optional description for the requested approval" \ - --environment yourEnvironmentName \ - --newest-commit HEAD \ - --org yourOrgName \ - --flow yourFlowName - -# Request an approval for an artifact with a provided fingerprint (sha256). -# The approval is for all environments. -# The approval is for all commits since the git commit of origin/production branch. -kosli request approval \ - --api-token yourAPIToken \ - --description "An optional description for the requested approval" \ - --newest-commit HEAD \ - --oldest-commit origin/production \ - --org yourOrgName \ - --flow yourFlowName \ - --fingerprint yourArtifactFingerprint -``` - diff --git a/client_reference/kosli_tag.md b/client_reference/kosli_tag.md index 9075468..bff183c 100644 --- a/client_reference/kosli_tag.md +++ b/client_reference/kosli_tag.md @@ -52,7 +52,7 @@ name as-is, whereas a real run sends the resolved ID. View an example of the `kosli tag` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/aws-prod-co-promotion/blob/76325d840dc66e1c84743725e17de05a16616419/.github/workflows/promote_one.yml#L73) + In [this YAML file](https://github.com/cyber-dojo/aws-prod-co-promotion/blob/81c216a55b2cb1787645e699ceaceca868cad253/.github/workflows/promote_one.yml#L74) View an example of the `kosli tag` command in GitLab. diff --git a/client_reference/overview.md b/client_reference/overview.md index 2801494..0ad2f7d 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.34.0**. + This reference was generated from Kosli CLI **v2.35.0**. The Kosli CLI allows you to interact with Kosli from your terminal and CI/CD pipelines. diff --git a/config/navigation.json b/config/navigation.json index d930ae2..e2f857e 100644 --- a/config/navigation.json +++ b/config/navigation.json @@ -285,7 +285,6 @@ { "group": "kosli assert", "pages": [ - "client_reference/kosli_assert_approval", "client_reference/kosli_assert_artifact", "client_reference/kosli_assert_pullrequest_azure", "client_reference/kosli_assert_pullrequest_bitbucket", @@ -362,7 +361,6 @@ "group": "kosli get", "pages": [ "client_reference/kosli_get_api-key", - "client_reference/kosli_get_approval", "client_reference/kosli_get_artifact", "client_reference/kosli_get_attestation-type", "client_reference/kosli_get_attestation", @@ -387,7 +385,6 @@ "group": "kosli list", "pages": [ "client_reference/kosli_list_api-keys", - "client_reference/kosli_list_approvals", "client_reference/kosli_list_artifacts", "client_reference/kosli_list_attestation-types", "client_reference/kosli_list_controls", @@ -416,16 +413,9 @@ { "group": "kosli report", "pages": [ - "client_reference/kosli_report_approval", "client_reference/kosli_report_artifact" ] }, - { - "group": "kosli request", - "pages": [ - "client_reference/kosli_request_approval" - ] - }, { "group": "kosli rotate", "pages": [ diff --git a/helm/k8s_reporter/configuration.mdx b/helm/k8s_reporter/configuration.mdx index e59e01c..31eb2b1 100644 --- a/helm/k8s_reporter/configuration.mdx +++ b/helm/k8s_reporter/configuration.mdx @@ -69,10 +69,18 @@ description: All values.yaml options for the Kosli k8s-reporter Helm chart. ## Reporter configuration + + Create each Kosli environment (type K8S) if it does not already exist, before reporting the snapshot. + + Whether the dry run mode is enabled or not. In dry run mode, the reporter logs the reports to stdout and does not send them to kosli. + + Description applied to every environment auto-created in this run. Only used when `autoEnvironment` is true; existing environments are never modified. Note: a single value is shared by all environments created during the run. + + List of Kosli environments to report to. Each entry has required 'name' and optional namespace selectors. Use one entry to report a single environment; use multiple entries to report to multiple environments with different selectors. Per entry: name (required), namespaces, namespacesRegex, excludeNamespaces, excludeNamespacesRegex (optional). Leave namespace fields unset for an entry to report the entire cluster to that environment. @@ -81,6 +89,10 @@ description: All values.yaml options for the Kosli k8s-reporter Helm chart. The http proxy url. + + Whether to record scaling (replica count) changes for every environment auto-created in this run. Leave unset to use the Kosli server default; set to `true` to pass `--include-scaling` or `false` to pass `--exclude-scaling`. Only used when `autoEnvironment` is true; existing environments are never modified. + + The name of the Kosli org. diff --git a/helm/k8s_reporter/overview.mdx b/helm/k8s_reporter/overview.mdx index c4f9fa6..01c5344 100644 --- a/helm/k8s_reporter/overview.mdx +++ b/helm/k8s_reporter/overview.mdx @@ -4,7 +4,7 @@ description: A Helm chart for installing the Kosli K8s reporter as a CronJob. --- - This reference applies to **chart version 2.5.0**, which defaults to CLI **v2.32.0** via `appVersion`. Override with `image.tag`. + This reference applies to **chart version 2.6.0**, which defaults to CLI **v2.34.0** via `appVersion`. Override with `image.tag`. A Helm chart for installing the Kosli K8s reporter as a CronJob.