diff --git a/client_reference/kosli_allow_artifact.md b/client_reference/kosli_allow_artifact.md index 4684d90..59ce65f 100644 --- a/client_reference/kosli_allow_artifact.md +++ b/client_reference/kosli_allow_artifact.md @@ -49,6 +49,7 @@ is set), registry credentials are resolved as follows: | `-h`, `--help` | help for artifact | | `--reason` string | The reason why this artifact is allowlisted. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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. | diff --git a/client_reference/kosli_assert_artifact.md b/client_reference/kosli_assert_artifact.md index f43616b..3d610d4 100644 --- a/client_reference/kosli_assert_artifact.md +++ b/client_reference/kosli_assert_artifact.md @@ -46,6 +46,7 @@ non-zero code if non-compliant status. | `-o`, `--output` string | [defaulted] The format of the output. Valid formats are: [table, json]. (default "table") | | `--policy` strings | [optional] policy name (can be specified multiple times) | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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. | @@ -68,7 +69,7 @@ non-zero code if non-compliant status. View an example of the `kosli assert artifact` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/differ/blob/1b7ea87a174a1a290600b469dc1029ec4c974320/.github/workflows/main.yml#L271) + In [this YAML file](https://github.com/cyber-dojo/differ/blob/10e162d4e1294815375a31121f14d57e13183b34/.github/workflows/main.yml#L271) View an example of the `kosli assert artifact` command in GitLab. diff --git a/client_reference/kosli_attest_artifact.md b/client_reference/kosli_attest_artifact.md index 9e8c172..da68229 100644 --- a/client_reference/kosli_attest_artifact.md +++ b/client_reference/kosli_attest_artifact.md @@ -64,6 +64,7 @@ In other CI systems, set them explicitly to capture repository metadata. | `-n`, `--name` string | The name of the artifact in the yml template file. | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_custom.md b/client_reference/kosli_attest_custom.md index cc9c56f..7d1a250 100644 --- a/client_reference/kosli_attest_custom.md +++ b/client_reference/kosli_attest_custom.md @@ -47,6 +47,7 @@ In other CI systems, set them explicitly to capture repository metadata. | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_decision.md b/client_reference/kosli_attest_decision.md index 4d66a62..82beb2a 100644 --- a/client_reference/kosli_attest_decision.md +++ b/client_reference/kosli_attest_decision.md @@ -54,6 +54,7 @@ In other CI systems, set them explicitly to capture repository metadata. | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_generic.md b/client_reference/kosli_attest_generic.md index c330ed7..5e77117 100644 --- a/client_reference/kosli_attest_generic.md +++ b/client_reference/kosli_attest_generic.md @@ -44,6 +44,7 @@ In other CI systems, set them explicitly to capture repository metadata. | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | @@ -73,7 +74,7 @@ In other CI systems, set them explicitly to capture repository metadata. View an example of the `kosli attest generic` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/0fb0be439480821efb926a5079e39ce5941eaa48/.github/workflows/main.yml#L197), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/0fb0be439480821efb926a5079e39ce5941eaa48?attestation_id=c12ffdfa-3c59-4d52-ab07-4e6dae54). + In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/09d5c85f03a24915e7fd278719729436a36e62bc/.github/workflows/main.yml#L197), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/09d5c85f03a24915e7fd278719729436a36e62bc?attestation_id=1a41b9b1-e115-4ce8-a78a-b3e502af). View an example of the `kosli attest generic` command in GitLab. diff --git a/client_reference/kosli_attest_jira.md b/client_reference/kosli_attest_jira.md index 607778f..16839a4 100644 --- a/client_reference/kosli_attest_jira.md +++ b/client_reference/kosli_attest_jira.md @@ -92,6 +92,7 @@ In other CI systems, set them explicitly to capture repository metadata. | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_junit.md b/client_reference/kosli_attest_junit.md index 46196b1..8c0b01d 100644 --- a/client_reference/kosli_attest_junit.md +++ b/client_reference/kosli_attest_junit.md @@ -47,6 +47,7 @@ In other CI systems, set them explicitly to capture repository metadata. | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_pullrequest_azure.md b/client_reference/kosli_attest_pullrequest_azure.md index ac6eb28..170c7f8 100644 --- a/client_reference/kosli_attest_pullrequest_azure.md +++ b/client_reference/kosli_attest_pullrequest_azure.md @@ -41,6 +41,7 @@ The attestation can be bound to an *artifact* in two ways: | `--project` string | Azure project.(defaulted if you are running in Azure Devops pipelines: [docs](/integrations/ci_cd) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_pullrequest_bitbucket.md b/client_reference/kosli_attest_pullrequest_bitbucket.md index 0e831e5..3f7bc1c 100644 --- a/client_reference/kosli_attest_pullrequest_bitbucket.md +++ b/client_reference/kosli_attest_pullrequest_bitbucket.md @@ -44,6 +44,7 @@ The attestation can be bound to an *artifact* in two ways: | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_pullrequest_github.md b/client_reference/kosli_attest_pullrequest_github.md index 0511ff1..88601d7 100644 --- a/client_reference/kosli_attest_pullrequest_github.md +++ b/client_reference/kosli_attest_pullrequest_github.md @@ -41,6 +41,7 @@ The attestation can be bound to an *artifact* in two ways: | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_pullrequest_gitlab.md b/client_reference/kosli_attest_pullrequest_gitlab.md index 8ea0bf2..3c8905a 100644 --- a/client_reference/kosli_attest_pullrequest_gitlab.md +++ b/client_reference/kosli_attest_pullrequest_gitlab.md @@ -41,6 +41,7 @@ The attestation can be bound to an *artifact* in two ways: | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_snyk.md b/client_reference/kosli_attest_snyk.md index d234a43..ee06ce0 100644 --- a/client_reference/kosli_attest_snyk.md +++ b/client_reference/kosli_attest_snyk.md @@ -51,6 +51,7 @@ In other CI systems, set them explicitly to capture repository metadata. | `-o`, `--origin-url` string | [optional] The url pointing to where the attestation came from or is related. (defaulted to the CI url in some CIs: [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) ). | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | diff --git a/client_reference/kosli_attest_sonar.md b/client_reference/kosli_attest_sonar.md index 37d6b56..d8dd2db 100644 --- a/client_reference/kosli_attest_sonar.md +++ b/client_reference/kosli_attest_sonar.md @@ -63,6 +63,7 @@ The attestation can be bound to an *artifact* in two ways: | `--pull-request` string | [conditional] The ID of the pull-request. Only required if you want to use the project key/pull-request to get the scan results rather than using Sonar's metadata file. Cannot be used with `--sonar-revision`. | | `--redact-commit-info` strings | [optional] The list of commit info to be redacted before sending to Kosli. Allowed values are one or more of [author, message, branch]. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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-id` string | [conditional] The stable, unique identifier for the repository in your VCS provider (e.g. a numeric ID). Do not use the repository name as it can change if the repo is renamed. All three of `--repo-id`, `--repo-url` and `--repository` must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). | | `--repo-provider` string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, bitbucket_cloud, bitbucket_dc, azure-devops, azure_devops_services, azure_devops_server, git, subversion (defaulted in some CIs: [docs](/integrations/ci_cd) ). | @@ -98,7 +99,7 @@ The attestation can be bound to an *artifact* in two ways: View an example of the `kosli attest sonar` command in GitHub. - In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/0fb0be439480821efb926a5079e39ce5941eaa48/.github/workflows/main.yml#L122), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/0fb0be439480821efb926a5079e39ce5941eaa48?attestation_id=2ca1e327-ed19-492a-80d3-2ec96963). + In [this YAML file](https://github.com/cyber-dojo/dashboard/blob/09d5c85f03a24915e7fd278719729436a36e62bc/.github/workflows/main.yml#L122), which created [this Kosli Event](https://app.kosli.com/cyber-dojo/flows/dashboard-ci/trails/09d5c85f03a24915e7fd278719729436a36e62bc?attestation_id=1c64ecb4-864a-4663-b969-365e763d). diff --git a/client_reference/kosli_create_environment.md b/client_reference/kosli_create_environment.md index 9f4aad1..91d1b55 100644 --- a/client_reference/kosli_create_environment.md +++ b/client_reference/kosli_create_environment.md @@ -34,8 +34,11 @@ to them. | :--- | :--- | | `-d`, `--description` string | [optional] The environment 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. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-h`, `--help` | help for environment | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `--included-environments` strings | [optional] Comma separated list of environments to include in logical environment | +| `--require-provenance` | [defaulted] Require provenance for all artifacts running in environment snapshots. (DEPRECATED: this flag is deprecated and will be removed in a future version. Use policies instead.) | | `-t`, `--type` string | The type of environment. Valid types are: [K8S, ECS, S3, lambda, server, docker, azure-apps, cloud-run, logical]. | diff --git a/client_reference/kosli_create_flow.md b/client_reference/kosli_create_flow.md index 355884f..8fd86db 100644 --- a/client_reference/kosli_create_flow.md +++ b/client_reference/kosli_create_flow.md @@ -24,6 +24,7 @@ You can specify flow parameters in flags. | `-t`, `--template` strings | [defaulted] The comma-separated list of required compliance controls names. | | `-f`, `--template-file` string | [optional] The path to a yaml template file. Cannot be used together with `--use-empty-template` | | `--use-empty-template` | Use an empty template for the flow creation without specifying a file. Cannot be used together with `--template` or `--template-file` | +| `--visibility` string | [deprecated] The visibility of the Kosli flow. This flag is deprecated and will be removed in a future version. (DEPRECATED: this flag is deprecated and will be removed in a future version.) | ## Flags inherited from parent commands diff --git a/client_reference/kosli_diff_snapshots.md b/client_reference/kosli_diff_snapshots.md index bee6120..867ceba 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#7885", + "snapshot_id": "aws-beta#7895", "artifacts": [ { "fingerprint": "26a4c8a14ccf71978ec75fe01edad50d892d7f9054f95fc41d6922fb42995d59", @@ -76,14 +76,6 @@ kosli diff snapshots aws-beta aws-prod --output=json "commit_url": "https://github.com/cyber-dojo/creator/commit/07ed087071878b405ac1cf7fe77e5d8c70ce3a4b", "instance_count": 1 }, - { - "fingerprint": "7b162dcd6aff6c3eab5ca66d9b0bc0115120b7304cabf5c33f6c91af7f9eb756", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:56e831a@sha256:7b162dcd6aff6c3eab5ca66d9b0bc0115120b7304cabf5c33f6c91af7f9eb756", - "most_recent_timestamp": 1785398972, - "flow": "dashboard-ci", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/56e831abe6a2ec870c0f9d9f214821eb3ebf9c32", - "instance_count": 1 - }, { "fingerprint": "a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:595e902@sha256:a5b224c24732c48daaf6ea495e57345bc4b9fde34b37bf4b7c758b6ee778bee3", @@ -91,11 +83,19 @@ kosli diff snapshots aws-beta aws-prod --output=json "flow": "saver-ci", "commit_url": "https://github.com/cyber-dojo/saver/commit/595e902fa2f5844d9ce0612a5c9295cd8dab5b97", "instance_count": 1 + }, + { + "fingerprint": "f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:10e162d@sha256:f68c19b4ca97267fb5be505ec33eb6b89a5297e9ed7ee40d0a3e88fb4082a6e4", + "most_recent_timestamp": 1785421910, + "flow": "differ-ci", + "commit_url": "https://github.com/cyber-dojo/differ/commit/10e162d4e1294815375a31121f14d57e13183b34", + "instance_count": 1 } ] }, "snappish2": { - "snapshot_id": "aws-prod#5138", + "snapshot_id": "aws-prod#5143", "artifacts": [ { "fingerprint": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", @@ -114,11 +114,11 @@ kosli diff snapshots aws-beta aws-prod --output=json "instance_count": 1 }, { - "fingerprint": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", - "most_recent_timestamp": 1785241255, - "flow": "dashboard-ci", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48", + "fingerprint": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "most_recent_timestamp": 1785241593, + "flow": "differ-ci", + "commit_url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320", "instance_count": 1 } ] @@ -160,6 +160,14 @@ kosli diff snapshots aws-beta aws-prod --output=json "commit_url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1", "instance_count": 3 }, + { + "fingerprint": "b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:09d5c85@sha256:b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc", + "most_recent_timestamp": 1785488694, + "flow": "dashboard-ci", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/09d5c85f03a24915e7fd278719729436a36e62bc", + "instance_count": 1 + }, { "fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", @@ -176,14 +184,6 @@ kosli diff snapshots aws-beta aws-prod --output=json "commit_url": "https://github.com/cyber-dojo/nginx/commit/a2e4638aaa102446b8a6d1d519c5bc007e24f087", "instance_count": 1 }, - { - "fingerprint": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "most_recent_timestamp": 1785241593, - "flow": "differ-ci", - "commit_url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320", - "instance_count": 1 - }, { "fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", diff --git a/client_reference/kosli_fingerprint.md b/client_reference/kosli_fingerprint.md index 94f76bf..9eb5fb5 100644 --- a/client_reference/kosli_fingerprint.md +++ b/client_reference/kosli_fingerprint.md @@ -52,9 +52,11 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, | 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). | +| `-e`, `--e` strings | [optional] The comma separated list of directories and files to exclude from fingerprinting. Can take glob patterns. Only applicable for `--artifact-type` dir. (DEPRECATED: use `-x` instead) | | `-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. | | `-h`, `--help` | help for fingerprint | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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. | diff --git a/client_reference/kosli_get_environment.md b/client_reference/kosli_get_environment.md index 8210170..ada8c59 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": 1785405118.3597527, - "last_reported_at": 1785405118.3597527, - "last_changed_at": 1785386758.6525679, + "last_modified_at": 1785495898.4259639, + "last_reported_at": 1785495898.4259639, + "last_changed_at": 1785488758.445761, "state": true, "include_scaling": false, "tags": { diff --git a/client_reference/kosli_get_snapshot.md b/client_reference/kosli_get_snapshot.md index 6ebd719..a1300f4 100644 --- a/client_reference/kosli_get_snapshot.md +++ b/client_reference/kosli_get_snapshot.md @@ -64,7 +64,7 @@ kosli get snapshot aws-prod --output=json ```json { - "index": 5138, + "index": 5143, "is_latest": true, "next_snapshot_timestamp": null, "artifact_compliance_count": { @@ -72,13 +72,13 @@ kosli get snapshot aws-prod --output=json "false": 0, "null": 0 }, - "timestamp": 1785386758.6525679, + "timestamp": 1785488758.445761, "type": "ECS", "compliant": true, - "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5138", + "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5143", "artifacts": [ { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:09d5c85@sha256:b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc", "compliant": true, "deployments": [], "policy_decisions": [ @@ -100,8 +100,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": null } } @@ -145,8 +129,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": "COMPLIANT" } } @@ -189,14 +157,14 @@ kosli get snapshot aws-prod --output=json "for_control": null } }, - "satisfied": null, - "ignored": true, + "satisfied": true, + "ignored": false, "resolutions": [ { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "artifact_status": null } }, @@ -204,23 +172,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-145", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": null } } @@ -247,8 +199,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": null } } @@ -292,8 +228,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": "COMPLIANT" } } @@ -336,14 +256,14 @@ kosli get snapshot aws-prod --output=json "for_control": "SDLC-CTRL-0002" } }, - "satisfied": null, - "ignored": true, + "satisfied": true, + "ignored": false, "resolutions": [ { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -352,25 +272,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-145", - "artifact_status": null, - "for_control": "SDLC-CTRL-0002" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null, - "for_control": "SDLC-CTRL-0002" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "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": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": null } } @@ -443,8 +329,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "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": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": null, - "for_control": "SDLC-CTRL-0022" - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null, - "for_control": "SDLC-CTRL-0022" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "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": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": null } } @@ -594,8 +430,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": "COMPLIANT" } } @@ -644,8 +464,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": null } } @@ -696,8 +500,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": null - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": null } } @@ -747,8 +535,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", "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-145", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_satisfied", - "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "artifact_status": "COMPLIANT" - } - }, - { - "type": "rule_not_applicable", - "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "trail_name": "promotion-one-146", "artifact_status": "COMPLIANT" } } @@ -783,147 +555,105 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "fingerprint": "b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc", "creationTimestamp": [ - 1785310509 + 1785488694 ], "pods": null, "annotation": { - "type": "updated-provenance", + "type": "unchanged", "was": 1, "now": 1 }, - "flow_name": "spooler-ci", - "git_commit": "c81791fd10558a59f83876137fb021abcd89f262", - "commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", - "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", + "flow_name": "dashboard-ci", + "git_commit": "09d5c85f03a24915e7fd278719729436a36e62bc", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/09d5c85f03a24915e7fd278719729436a36e62bc", + "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc?artifact_id=5aec6d11-1734-445f-8c77-4d4aad2c", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", - "previous_git_commit": "e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "diff_url": "https://github.com/cyber-dojo/dashboard/compare/0fb0be439480821efb926a5079e39ce5941eaa48...09d5c85f03a24915e7fd278719729436a36e62bc", + "previous_git_commit": "0fb0be439480821efb926a5079e39ce5941eaa48", + "previous_fingerprint": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_trail_name": "e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_template_reference_name": "spooler" + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48", + "previous_trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 791.0, + "commit_lead_time": 7867.0, "flows": [ { - "flow_name": "spooler-ci", - "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", - "template_reference_name": "spooler", - "git_commit": "c81791fd10558a59f83876137fb021abcd89f262", - "commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", + "flow_name": "dashboard-ci", + "trail_name": "09d5c85f03a24915e7fd278719729436a36e62bc", + "template_reference_name": "dashboard", + "git_commit": "09d5c85f03a24915e7fd278719729436a36e62bc", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/09d5c85f03a24915e7fd278719729436a36e62bc", "git_commit_info": { - "sha1": "c81791fd10558a59f83876137fb021abcd89f262", - "message": "Merge pull request #13 from cyber-dojo/unsequenced-writes-no-longer-wedge-drainer\n\nKeep a shard draining when a write has no tab_seq", + "sha1": "09d5c85f03a24915e7fd278719729436a36e62bc", + "message": "Show a clustered group under the cluster's own URL (#420)\n\nOpening /dashboard/show/ for a group that lives inside a cluster\n rendered the whole cluster while the URL still named one child group. That\n is confusing when reviewing, and awkward to share or bookmark. Such a\n request now redirects to the cluster's own URL, carrying the requested\n child through as ?group_id= so the same tab stays active, and keeping any\n other params (eg sort_by) across the hop.\n\n Redirect Locations are sent as a path rather than a full URL: nginx fronts\n this app and terminates TLS, so the scheme and host Sinatra sees are its\n own, not the ones the browser used.\n\n Two cleanups that were in the way:\n\n - json() responses are now encoded by the stdlib JSON module. Sinatra's\n default encoder is the legacy MultiJson constant, and its lookup prefers\n :encode over :generate - multi_json deprecates both, so every json route\n put two deprecation lines on stderr during test runs.\n\n - kata_test_data.rb held four kata_event_* fixtures no test ever called\n (added in b45e4b8, never wired up) plus a commented-out print_cmp debug\n helper. Removing them leaves only ids, hence kata_ids.rb, and takes\n test.lines.missed to 0, which the metrics now require exactly.", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785309718.0, - "url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262" + "timestamp": 1785480827.0, + "url": "https://github.com/cyber-dojo/dashboard/commit/09d5c85f03a24915e7fd278719729436a36e62bc" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc?artifact_id=5aec6d11-1734-445f-8c77-4d4aad2c", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", - "previous_git_commit": "e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "diff_url": "https://github.com/cyber-dojo/dashboard/compare/0fb0be439480821efb926a5079e39ce5941eaa48...09d5c85f03a24915e7fd278719729436a36e62bc", + "previous_git_commit": "0fb0be439480821efb926a5079e39ce5941eaa48", + "previous_fingerprint": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_trail_name": "e4d9d0868e299522b207696e19c07966a09bf08a", - "previous_template_reference_name": "spooler" + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48", + "previous_trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "previous_template_reference_name": "dashboard" }, - "commit_lead_time": 791.0, + "commit_lead_time": 7867.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-145", - "template_reference_name": "spooler", - "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "trail_name": "promotion-one-146", + "template_reference_name": "dashboard", + "git_commit": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "git_commit_info": { - "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", - "message": "Add spooler service name to promote_one.yml", + "sha1": "7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", + "message": "Drop lone use of = separator on Kosli CLI boolean flag", "author": "JonJagger ", "branch": "main", - "timestamp": 1785143054.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" + "timestamp": 1785316994.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/7494758f8bbc4e66cb5df90ef4cd6b72d75ca584" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=6154dd8b-8a89-49c6-be10-9c36fd71", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc?artifact_id=769e0ad4-8850-498e-876a-8ff8b229", "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", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/81c216a55b2cb1787645e699ceaceca868cad253...7494758f8bbc4e66cb5df90ef4cd6b72d75ca584", "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "previous_fingerprint": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", - "previous_trail_name": "promotion-one-144", - "previous_template_reference_name": "spooler" - }, - "commit_lead_time": 167455.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "template_reference_name": "spooler", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", - "author": "JonJagger ", - "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" - }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=0f8ba851-1d60-4993-b9a7-89690ad3", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", - "deployment_diff": null, - "commit_lead_time": -6442.0, - "artifact_compliance_in_flow": true, - "flow_reasons_for_non_compliance": [] - }, - { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "template_reference_name": "spooler", - "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", - "git_commit_info": { - "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", - "message": "Drop lone use of = separator on Kosli CLI boolean flag", - "author": "JonJagger ", - "branch": "main", - "timestamp": 1785316951.0, - "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + "previous_trail_name": "promote-all-31", + "previous_template_reference_name": "dashboard" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=a05351bc-0c56-4d25-a9c6-970995d2", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", - "deployment_diff": null, - "commit_lead_time": -6442.0, + "commit_lead_time": 171700.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f33363aadf854b71b715ff4961e94b82", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/3cea5944d8e14363a24dd1b702c41b4d", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "compliant": true, "deployments": [], "policy_decisions": [ @@ -945,8 +675,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null } }, @@ -954,23 +684,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } } @@ -990,8 +720,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": "COMPLIANT" } }, @@ -999,23 +729,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } } @@ -1034,14 +764,14 @@ kosli get snapshot aws-prod --output=json "for_control": null } }, - "satisfied": true, - "ignored": false, + "satisfied": null, + "ignored": true, "resolutions": [ { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null } }, @@ -1049,23 +779,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } } @@ -1092,8 +822,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null } }, @@ -1101,23 +831,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } } @@ -1137,8 +867,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": "COMPLIANT" } }, @@ -1146,23 +876,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } } @@ -1181,14 +911,14 @@ kosli get snapshot aws-prod --output=json "for_control": "SDLC-CTRL-0002" } }, - "satisfied": true, - "ignored": false, + "satisfied": null, + "ignored": true, "resolutions": [ { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1197,7 +927,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1205,8 +935,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1214,8 +944,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -1243,8 +973,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null } }, @@ -1252,23 +982,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } } @@ -1288,8 +1018,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": "COMPLIANT" } }, @@ -1297,23 +1027,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } } @@ -1338,8 +1068,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1348,25 +1078,25 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "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": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "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": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -1394,8 +1124,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null } }, @@ -1403,23 +1133,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } } @@ -1439,8 +1169,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": "COMPLIANT" } }, @@ -1448,23 +1178,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } } @@ -1489,8 +1219,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null } }, @@ -1498,23 +1228,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } } @@ -1541,8 +1271,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": null } }, @@ -1550,23 +1280,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": null } } @@ -1592,8 +1322,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", "artifact_status": "COMPLIANT" } }, @@ -1601,23 +1331,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-145", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "artifact_status": "COMPLIANT" } } @@ -1628,69 +1358,69 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "fingerprint": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "creationTimestamp": [ - 1785241263 + 1785310509 ], "pods": null, "annotation": { - "type": "updated-provenance", + "type": "unchanged", "was": 1, "now": 1 }, - "flow_name": "languages-start-points-ci", - "git_commit": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", + "flow_name": "spooler-ci", + "git_commit": "c81791fd10558a59f83876137fb021abcd89f262", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", + "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "diff_url": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", + "previous_git_commit": "e4d9d0868e299522b207696e19c07966a09bf08a", + "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/e4d9d0868e299522b207696e19c07966a09bf08a", + "previous_trail_name": "e4d9d0868e299522b207696e19c07966a09bf08a", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 929088.0, + "commit_lead_time": 791.0, "flows": [ { - "flow_name": "languages-start-points-ci", - "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "template_reference_name": "languages-start-points", - "git_commit": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "flow_name": "spooler-ci", + "trail_name": "c81791fd10558a59f83876137fb021abcd89f262", + "template_reference_name": "spooler", + "git_commit": "c81791fd10558a59f83876137fb021abcd89f262", + "commit_url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262", "git_commit_info": { - "sha1": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "message": "Merge pull request #243 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "sha1": "c81791fd10558a59f83876137fb021abcd89f262", + "message": "Merge pull request #13 from cyber-dojo/unsequenced-writes-no-longer-wedge-drainer\n\nKeep a shard draining when a write has no tab_seq", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312175.0, - "url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23" + "timestamp": 1785309718.0, + "url": "https://github.com/cyber-dojo/spooler/commit/c81791fd10558a59f83876137fb021abcd89f262" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/spooler-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", - "previous_git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "diff_url": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", + "previous_git_commit": "e4d9d0868e299522b207696e19c07966a09bf08a", + "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", - "previous_template_reference_name": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/spooler/commit/e4d9d0868e299522b207696e19c07966a09bf08a", + "previous_trail_name": "e4d9d0868e299522b207696e19c07966a09bf08a", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 929088.0, + "commit_lead_time": 791.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-31", - "template_reference_name": "languages-start-points", + "trail_name": "promotion-one-145", + "template_reference_name": "spooler", "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", "git_commit_info": { @@ -1701,27 +1431,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785143054.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=a1ab8675-9b0a-485b-be6a-c153fd4e", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=6154dd8b-8a89-49c6-be10-9c36fd71", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...81c216a55b2cb1787645e699ceaceca868cad253", - "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/81c216a55b2cb1787645e699ceaceca868cad253...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", + "previous_fingerprint": "2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:e4d9d08@sha256:2d13ace2ba9449bcabeaef32f8cdc9255eff976ddf7a4ce5bd70e46bac11b204", "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": "languages-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "previous_trail_name": "promotion-one-144", + "previous_template_reference_name": "spooler" }, - "commit_lead_time": 98209.0, + "commit_lead_time": 167455.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "template_reference_name": "languages-start-points", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "template_reference_name": "spooler", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -1732,27 +1462,17 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=87b1ac1b-49ca-4fcf-8c56-e2c3fd03", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:7e86fed@sha256:b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "languages-start-points-b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", - "previous_template_reference_name": "languages-start-points" - }, - "commit_lead_time": -75688.0, + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=515ae38d-88f6-4507-af59-8370910a", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", + "deployment_diff": null, + "commit_lead_time": -6442.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "template_reference_name": "languages-start-points", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "spooler-6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "template_reference_name": "spooler", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -1763,32 +1483,22 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=2ae63760-e6dc-4062-b27b-2cf67090", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", - "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_artifact_compliance_state": "COMPLIANT", - "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", - "previous_template_reference_name": "languages-start-points" - }, - "commit_lead_time": -75688.0, + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=976a401e-7ebc-49c6-b289-8a4d432e", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", + "deployment_diff": null, + "commit_lead_time": -6442.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/42e358b2bd144b99b7f4b93382dddc90", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f33363aadf854b71b715ff4961e94b82", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:2779354@sha256:af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "compliant": true, "deployments": [], "policy_decisions": [ @@ -1810,8 +1520,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null } }, @@ -1819,7 +1529,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null } }, @@ -1827,7 +1537,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } }, @@ -1835,7 +1545,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } } @@ -1855,8 +1565,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": "COMPLIANT" } }, @@ -1864,7 +1574,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": "COMPLIANT" } }, @@ -1872,7 +1582,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } }, @@ -1880,7 +1590,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } } @@ -1905,8 +1615,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null } }, @@ -1914,7 +1624,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null } }, @@ -1922,7 +1632,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } }, @@ -1930,7 +1640,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } } @@ -1957,8 +1667,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null } }, @@ -1966,7 +1676,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null } }, @@ -1974,7 +1684,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } }, @@ -1982,7 +1692,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } } @@ -2002,8 +1712,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": "COMPLIANT" } }, @@ -2011,7 +1721,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": "COMPLIANT" } }, @@ -2019,7 +1729,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } }, @@ -2027,7 +1737,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } } @@ -2052,8 +1762,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2062,7 +1772,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2071,7 +1781,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2080,7 +1790,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2108,8 +1818,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null } }, @@ -2117,7 +1827,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null } }, @@ -2125,7 +1835,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } }, @@ -2133,7 +1843,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } } @@ -2153,8 +1863,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": "COMPLIANT" } }, @@ -2162,7 +1872,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": "COMPLIANT" } }, @@ -2170,7 +1880,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } }, @@ -2178,7 +1888,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } } @@ -2203,8 +1913,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2213,7 +1923,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2222,7 +1932,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2231,7 +1941,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -2259,8 +1969,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null } }, @@ -2268,7 +1978,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null } }, @@ -2276,7 +1986,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } }, @@ -2284,7 +1994,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } } @@ -2304,8 +2014,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": "COMPLIANT" } }, @@ -2313,7 +2023,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": "COMPLIANT" } }, @@ -2321,7 +2031,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } }, @@ -2329,7 +2039,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } } @@ -2354,8 +2064,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null } }, @@ -2363,7 +2073,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null } }, @@ -2371,7 +2081,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } }, @@ -2379,7 +2089,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } } @@ -2406,8 +2116,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": null } }, @@ -2415,7 +2125,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": null } }, @@ -2423,7 +2133,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } }, @@ -2431,7 +2141,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": null } } @@ -2457,8 +2167,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", "artifact_status": "COMPLIANT" } }, @@ -2466,7 +2176,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", + "trail_name": "promotion-one-143", "artifact_status": "COMPLIANT" } }, @@ -2474,7 +2184,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } }, @@ -2482,7 +2192,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "artifact_status": "COMPLIANT" } } @@ -2493,102 +2203,102 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "fingerprint": "af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", "creationTimestamp": [ - 1785138608, - 1785138608, - 1785138609 + 1785243407, + 1785243408, + 1785243412 ], "pods": null, "annotation": { - "type": "updated-provenance", + "type": "unchanged", "was": 3, "now": 3 }, - "flow_name": "runner-ci", - "git_commit": "19f873464a01f28ecd588504ffe03529119d6297", - "commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=046fc54c-c295-45b3-bac0-81d40282", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", + "flow_name": "web-ci", + "git_commit": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "commit_url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1", + "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", - "previous_git_commit": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "diff_url": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", + "previous_git_commit": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", + "previous_fingerprint": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", + "previous_trail_name": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", + "previous_template_reference_name": "web" }, - "commit_lead_time": 85840.0, + "commit_lead_time": 856.0, "flows": [ { - "flow_name": "runner-ci", - "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", - "template_reference_name": "runner", - "git_commit": "19f873464a01f28ecd588504ffe03529119d6297", - "commit_url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297", + "flow_name": "web-ci", + "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "template_reference_name": "web", + "git_commit": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "commit_url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1", "git_commit_info": { - "sha1": "19f873464a01f28ecd588504ffe03529119d6297", - "message": "Merge pull request #275 from cyber-dojo/extend-snyk-ignore-expiry-to-2026-08-26\n\nExtend .snyk ignore expiry to 2026-08-26", + "sha1": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "message": "Add spooler env-vars for deployment (#389)", "author": "Jon Jagger ", "branch": "", - "timestamp": 1785052768.0, - "url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297" + "timestamp": 1785242551.0, + "url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=046fc54c-c295-45b3-bac0-81d40282", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", - "previous_git_commit": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "diff_url": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", + "previous_git_commit": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", + "previous_fingerprint": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_trail_name": "6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", + "previous_trail_name": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", + "previous_template_reference_name": "web" }, - "commit_lead_time": 85840.0, + "commit_lead_time": 856.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-137", - "template_reference_name": "runner", - "git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", + "trail_name": "promotion-one-143", + "template_reference_name": "web", + "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", + "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", "git_commit_info": { - "sha1": "76325d840dc66e1c84743725e17de05a16616419", - "message": "Add emoji prefix to workflow names", + "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", + "message": "Add spooler service name to promote_one.yml", "author": "JonJagger ", "branch": "main", - "timestamp": 1783852701.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419" + "timestamp": 1785143054.0, + "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=cceaf70c-da3e-4637-a622-d7091e3c", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=11f2828c-83b9-4e8c-bd6a-be37eb17", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/76325d840dc66e1c84743725e17de05a16616419...76325d840dc66e1c84743725e17de05a16616419", - "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/81c216a55b2cb1787645e699ceaceca868cad253...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", + "previous_fingerprint": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", - "previous_trail_name": "promotion-one-136", - "previous_template_reference_name": "runner" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "previous_trail_name": "promotion-one-142", + "previous_template_reference_name": "web" }, - "commit_lead_time": 1285907.0, + "commit_lead_time": 100353.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "template_reference_name": "runner", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "template_reference_name": "web", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -2599,27 +2309,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=58e670d1-a803-43fe-88b6-2c46fffc", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=f910e174-e830-4aa1-b146-22c20711", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "previous_fingerprint": "0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:3f0b997@sha256:0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", - "previous_template_reference_name": "runner" + "previous_trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "previous_template_reference_name": "web" }, - "commit_lead_time": -178343.0, + "commit_lead_time": -73544.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "template_reference_name": "runner", + "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "template_reference_name": "web", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -2630,32 +2340,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=5a04d332-d146-4cce-8967-aaa5b043", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=696ca67d-6820-4efa-9057-4ca091d0", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:9cc2a80@sha256:414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", + "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": "runner-414a07a72fbd04444ba4d2e19b6c7102095d5aeb469211f99166538626c08d06", - "previous_template_reference_name": "runner" + "previous_trail_name": "web-29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "previous_template_reference_name": "web" }, - "commit_lead_time": -178343.0, + "commit_lead_time": -73544.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ffc316ec94724a67a7775accf9b9232a", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/4984e4ce7a34424585623c1a67da8c6d", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:2779354@sha256:af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "compliant": true, "deployments": [], "policy_decisions": [ @@ -2677,8 +2387,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null } }, @@ -2686,7 +2396,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -2694,7 +2404,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } }, @@ -2702,7 +2412,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } } @@ -2722,8 +2432,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": "COMPLIANT" } }, @@ -2731,7 +2441,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -2739,7 +2449,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } }, @@ -2747,7 +2457,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } } @@ -2772,8 +2482,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null } }, @@ -2781,7 +2491,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -2789,7 +2499,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } }, @@ -2797,7 +2507,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } } @@ -2824,8 +2534,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null } }, @@ -2833,7 +2543,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -2841,7 +2551,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } }, @@ -2849,7 +2559,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } } @@ -2869,8 +2579,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": "COMPLIANT" } }, @@ -2878,7 +2588,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -2886,7 +2596,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } }, @@ -2894,7 +2604,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } } @@ -2919,8 +2629,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2929,7 +2639,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2938,7 +2648,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2947,7 +2657,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -2975,8 +2685,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null } }, @@ -2984,7 +2694,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -2992,7 +2702,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } }, @@ -3000,7 +2710,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } } @@ -3020,8 +2730,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": "COMPLIANT" } }, @@ -3029,7 +2739,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -3037,7 +2747,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } }, @@ -3045,7 +2755,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } } @@ -3070,8 +2780,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3080,7 +2790,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3089,7 +2799,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3098,7 +2808,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3126,8 +2836,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null } }, @@ -3135,7 +2845,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -3143,7 +2853,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } }, @@ -3151,7 +2861,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } } @@ -3171,8 +2881,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": "COMPLIANT" } }, @@ -3180,7 +2890,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -3188,7 +2898,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } }, @@ -3196,7 +2906,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } } @@ -3221,8 +2931,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null } }, @@ -3230,7 +2940,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -3238,7 +2948,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } }, @@ -3246,7 +2956,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } } @@ -3273,8 +2983,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": null } }, @@ -3282,7 +2992,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": null } }, @@ -3290,7 +3000,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } }, @@ -3298,7 +3008,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": null } } @@ -3324,8 +3034,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", "artifact_status": "COMPLIANT" } }, @@ -3333,7 +3043,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", + "trail_name": "promote-all-31", "artifact_status": "COMPLIANT" } }, @@ -3341,7 +3051,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } }, @@ -3349,7 +3059,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "artifact_status": "COMPLIANT" } } @@ -3360,71 +3070,69 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "fingerprint": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", "creationTimestamp": [ - 1785243407, - 1785243408, - 1785243412 + 1785241593 ], "pods": null, "annotation": { "type": "unchanged", - "was": 3, - "now": 3 + "was": 1, + "now": 1 }, - "flow_name": "web-ci", - "git_commit": "2779354a4fda0eeb90fd43f32211836d99f6bde1", - "commit_url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1", - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", + "flow_name": "differ-ci", + "git_commit": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "commit_url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320", + "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=53b144c7-33a3-4d8a-b416-37aea745", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", - "previous_git_commit": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_fingerprint": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "diff_url": "https://github.com/cyber-dojo/differ/compare/335ddfa139708c37908dd594a0502bc6d88f8615...1b7ea87a174a1a290600b469dc1029ec4c974320", + "previous_git_commit": "335ddfa139708c37908dd594a0502bc6d88f8615", + "previous_fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_trail_name": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615", + "previous_trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 856.0, + "commit_lead_time": 929480.0, "flows": [ { - "flow_name": "web-ci", - "trail_name": "2779354a4fda0eeb90fd43f32211836d99f6bde1", - "template_reference_name": "web", - "git_commit": "2779354a4fda0eeb90fd43f32211836d99f6bde1", - "commit_url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1", + "flow_name": "differ-ci", + "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "template_reference_name": "differ", + "git_commit": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "commit_url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320", "git_commit_info": { - "sha1": "2779354a4fda0eeb90fd43f32211836d99f6bde1", - "message": "Add spooler env-vars for deployment (#389)", - "author": "Jon Jagger ", + "sha1": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "message": "Read deployed image for drift-detection plan (#435)\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": 1785242551.0, - "url": "https://github.com/cyber-dojo/web/commit/2779354a4fda0eeb90fd43f32211836d99f6bde1" + "timestamp": 1784312113.0, + "url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=53b144c7-33a3-4d8a-b416-37aea745", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", - "previous_git_commit": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_fingerprint": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "diff_url": "https://github.com/cyber-dojo/differ/compare/335ddfa139708c37908dd594a0502bc6d88f8615...1b7ea87a174a1a290600b469dc1029ec4c974320", + "previous_git_commit": "335ddfa139708c37908dd594a0502bc6d88f8615", + "previous_fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_trail_name": "aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615", + "previous_trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 856.0, + "commit_lead_time": 929480.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-143", - "template_reference_name": "web", + "trail_name": "promote-all-31", + "template_reference_name": "differ", "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", "git_commit_info": { @@ -3435,27 +3143,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785143054.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=11f2828c-83b9-4e8c-bd6a-be37eb17", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=43c3d8db-588e-495b-b5ba-097d8eae", "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": "30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:aaf06ae@sha256:30658abf51aa2b17e4edfa8636cc14aa9725432c2665ed3fcb2ee99ecae03889", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/76325d840dc66e1c84743725e17de05a16616419...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", + "previous_fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", - "previous_trail_name": "promotion-one-142", - "previous_template_reference_name": "web" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", + "previous_trail_name": "promotion-one-128", + "previous_template_reference_name": "differ" }, - "commit_lead_time": 100353.0, + "commit_lead_time": 98539.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "template_reference_name": "web", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "template_reference_name": "differ", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -3466,27 +3174,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=50be4d35-101d-40bf-9b50-e737a284", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=5526b4ca-0a09-47b2-93f4-989c0ba7", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:3f0b997@sha256:0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", + "previous_fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "web-0eaa303537220d95ba656b829c1d9c85e2865c986c4736962b85f4df5adb8972", - "previous_template_reference_name": "web" + "previous_trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "previous_template_reference_name": "differ" }, - "commit_lead_time": -73544.0, + "commit_lead_time": -75358.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "web-af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "template_reference_name": "web", + "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "template_reference_name": "differ", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -3497,32 +3205,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dbbe15a4-98b9-4835-9f88-a6aa4da1", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=db18e0d3-ba9d-4d5d-9b2d-8987e1ac", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:f66cc5c@sha256:29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", + "previous_fingerprint": "902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:981dcfc@sha256:902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "web-29c69c2f30f261a26fff4793fd8ae44b9081def1d4bcaaa27b0fef0501d949e4", - "previous_template_reference_name": "web" + "previous_trail_name": "differ-902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "previous_template_reference_name": "differ" }, - "commit_lead_time": -73544.0, + "commit_lead_time": -75358.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/4984e4ce7a34424585623c1a67da8c6d", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/7cbb5625fe464da7851d6c4509ff0e9c", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "compliant": true, "deployments": [], "policy_decisions": [ @@ -3544,8 +3252,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null } }, @@ -3561,7 +3269,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } }, @@ -3569,7 +3277,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } } @@ -3589,8 +3297,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": "COMPLIANT" } }, @@ -3606,7 +3314,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } }, @@ -3614,7 +3322,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } } @@ -3639,8 +3347,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null } }, @@ -3656,7 +3364,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } }, @@ -3664,7 +3372,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } } @@ -3691,8 +3399,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null } }, @@ -3708,7 +3416,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } }, @@ -3716,7 +3424,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } } @@ -3736,8 +3444,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": "COMPLIANT" } }, @@ -3753,7 +3461,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } }, @@ -3761,7 +3469,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } } @@ -3786,8 +3494,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3805,7 +3513,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3814,7 +3522,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -3842,8 +3550,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null } }, @@ -3859,7 +3567,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } }, @@ -3867,7 +3575,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } } @@ -3887,8 +3595,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": "COMPLIANT" } }, @@ -3904,7 +3612,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } }, @@ -3912,7 +3620,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } } @@ -3937,8 +3645,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3956,7 +3664,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3965,7 +3673,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -3993,8 +3701,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null } }, @@ -4010,7 +3718,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } }, @@ -4018,7 +3726,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } } @@ -4038,8 +3746,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": "COMPLIANT" } }, @@ -4055,7 +3763,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } }, @@ -4063,7 +3771,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } } @@ -4088,8 +3796,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null } }, @@ -4105,7 +3813,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } }, @@ -4113,7 +3821,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } } @@ -4140,8 +3848,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": null } }, @@ -4157,7 +3865,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } }, @@ -4165,7 +3873,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": null } } @@ -4191,8 +3899,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", "artifact_status": "COMPLIANT" } }, @@ -4208,7 +3916,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } }, @@ -4216,7 +3924,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "artifact_status": "COMPLIANT" } } @@ -4227,9 +3935,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "fingerprint": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "creationTimestamp": [ - 1785241593 + 1785241263 ], "pods": null, "annotation": { @@ -4237,59 +3945,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "differ-ci", - "git_commit": "1b7ea87a174a1a290600b469dc1029ec4c974320", - "commit_url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320", - "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=53b144c7-33a3-4d8a-b416-37aea745", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", + "flow_name": "languages-start-points-ci", + "git_commit": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/differ/compare/335ddfa139708c37908dd594a0502bc6d88f8615...1b7ea87a174a1a290600b469dc1029ec4c974320", - "previous_git_commit": "335ddfa139708c37908dd594a0502bc6d88f8615", - "previous_fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "previous_git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615", - "previous_trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", - "previous_template_reference_name": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "previous_trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 929480.0, + "commit_lead_time": 929088.0, "flows": [ { - "flow_name": "differ-ci", - "trail_name": "1b7ea87a174a1a290600b469dc1029ec4c974320", - "template_reference_name": "differ", - "git_commit": "1b7ea87a174a1a290600b469dc1029ec4c974320", - "commit_url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320", + "flow_name": "languages-start-points-ci", + "trail_name": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "template_reference_name": "languages-start-points", + "git_commit": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23", "git_commit_info": { - "sha1": "1b7ea87a174a1a290600b469dc1029ec4c974320", - "message": "Read deployed image for drift-detection plan (#435)\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": "6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "message": "Merge pull request #243 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312113.0, - "url": "https://github.com/cyber-dojo/differ/commit/1b7ea87a174a1a290600b469dc1029ec4c974320" + "timestamp": 1784312175.0, + "url": "https://github.com/cyber-dojo/languages-start-points/commit/6a7f7be81022f7ed3fa8383f016b55af86e2af23" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=53b144c7-33a3-4d8a-b416-37aea745", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/differ/compare/335ddfa139708c37908dd594a0502bc6d88f8615...1b7ea87a174a1a290600b469dc1029ec4c974320", - "previous_git_commit": "335ddfa139708c37908dd594a0502bc6d88f8615", - "previous_fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "previous_git_commit": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/335ddfa139708c37908dd594a0502bc6d88f8615", - "previous_trail_name": "335ddfa139708c37908dd594a0502bc6d88f8615", - "previous_template_reference_name": "differ" + "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "previous_trail_name": "c6db342472238a7852b6ff31b04f9a6a6099f5cf", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": 929480.0, + "commit_lead_time": 929088.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", "trail_name": "promote-all-31", - "template_reference_name": "differ", + "template_reference_name": "languages-start-points", "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", "git_commit_info": { @@ -4300,27 +4008,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785143054.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=43c3d8db-588e-495b-b5ba-097d8eae", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=a1ab8675-9b0a-485b-be6a-c153fd4e", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/76325d840dc66e1c84743725e17de05a16616419...81c216a55b2cb1787645e699ceaceca868cad253", - "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "previous_fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", + "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "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-128", - "previous_template_reference_name": "differ" + "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": "languages-start-points" }, - "commit_lead_time": 98539.0, + "commit_lead_time": 98209.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "template_reference_name": "differ", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "template_reference_name": "languages-start-points", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -4331,27 +4039,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=5526b4ca-0a09-47b2-93f4-989c0ba7", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=0049f3ee-fde7-4d69-b26f-fca341d8", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:335ddfa@sha256:c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", + "previous_fingerprint": "f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:c6db342@sha256:f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "differ-c2a404127f3114a7b82a8c0633f85bad599dd54d9c97cf1bc872ae9eab2bbe5f", - "previous_template_reference_name": "differ" + "previous_trail_name": "languages-start-points-f4ed92af30318fe8230648a2fc1f482970ad0ef821eeaaeac76759cd8fe03418", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": -75358.0, + "commit_lead_time": -75688.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "differ-c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", - "template_reference_name": "differ", + "trail_name": "languages-start-points-b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "template_reference_name": "languages-start-points", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -4362,26 +4070,26 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=b872b4c5-e209-49b6-ade4-49d9e968", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=ec03ef70-55d3-4ffd-a921-8c3a70a6", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:981dcfc@sha256:902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", + "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": "differ-902ec7af03407049ac6e5ef713146d518bbffd9d99cd28715fa0df973e809b7b", - "previous_template_reference_name": "differ" + "previous_trail_name": "languages-start-points-b2f51324efc1528e4dda57d235bdbc68d966e1ea23722d5d296f98eefbfc2676", + "previous_template_reference_name": "languages-start-points" }, - "commit_lead_time": -75358.0, + "commit_lead_time": -75688.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/7cbb5625fe464da7851d6c4509ff0e9c", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/42e358b2bd144b99b7f4b93382dddc90", "cluster_name": null, "service_name": null } @@ -5196,7 +4904,7 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053?artifact_id=437edea4-88c8-42dc-b447-67da1b6c", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053?artifact_id=755467c4-997d-441f-9a42-99ae4459", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", @@ -5227,7 +4935,7 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053?artifact_id=d9d87576-4965-49c4-aa11-f24aff09", + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053?artifact_id=62d0bcf9-3aca-4af8-a7eb-e446ca99", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", @@ -5252,7 +4960,7 @@ kosli get snapshot aws-prod --output=json } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "compliant": true, "deployments": [], "policy_decisions": [ @@ -5274,8 +4982,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -5290,16 +4998,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -5319,8 +5027,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -5335,16 +5043,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -5369,8 +5077,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -5385,16 +5093,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -5421,8 +5129,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -5437,16 +5145,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -5466,8 +5174,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -5482,16 +5190,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -5516,8 +5224,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5534,8 +5242,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5543,8 +5251,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -5572,8 +5280,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -5588,16 +5296,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -5617,8 +5325,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -5633,16 +5341,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -5667,8 +5375,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5683,19 +5391,19 @@ kosli get snapshot aws-prod --output=json } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "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-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -5723,8 +5431,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -5739,16 +5447,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -5768,8 +5476,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -5784,16 +5492,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -5818,8 +5526,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -5834,16 +5542,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -5870,8 +5578,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": null } }, @@ -5886,16 +5594,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": null } } @@ -5921,8 +5629,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "artifact_status": "COMPLIANT" } }, @@ -5935,18 +5643,18 @@ kosli get snapshot aws-prod --output=json } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "artifact_status": "COMPLIANT" } } @@ -5957,7 +5665,7 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "creationTimestamp": [ 1785241255 ], @@ -5967,59 +5675,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "dashboard-ci", - "git_commit": "0fb0be439480821efb926a5079e39ce5941eaa48", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48", - "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=e55cba1f-ce06-49ff-9701-62eb823d", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "flow_name": "exercises-start-points-ci", + "git_commit": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/dashboard/compare/5407827a19ff32c8d0e7ff2e8f18665e86e64f01...0fb0be439480821efb926a5079e39ce5941eaa48", - "previous_git_commit": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "previous_fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "previous_git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", + "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "previous_trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", + "previous_trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 527719.0, + "commit_lead_time": 929108.0, "flows": [ { - "flow_name": "dashboard-ci", - "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", - "template_reference_name": "dashboard", - "git_commit": "0fb0be439480821efb926a5079e39ce5941eaa48", - "commit_url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48", + "flow_name": "exercises-start-points-ci", + "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "template_reference_name": "exercises-start-points", + "git_commit": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "git_commit_info": { - "sha1": "0fb0be439480821efb926a5079e39ce5941eaa48", - "message": "Carry (laptop_id, tab_seq) on all dashboard saver writes (#418)\n\nThe saver is about to drop the nil defaults on laptop_id/tab_seq for its\n kata-write endpoints, and no longer accepts the old index arg on writes.\n Every dashboard code path that writes to the saver relied on those\n defaults, so each would raise ArgumentError once they are removed.\n\n Update all of them to send the writer's (laptop_id, tab_seq) idempotency\n key and stop sending index:\n - bin/create_cluster_kata.rb, bin/create_group_kata.rb: each avatar is one\n writer, modelled by a small Writer (a fixed laptop_id plus a monotonic\n tab_seq). The monotonic tab_seq matters here because an avatar makes many\n writes on one kata, and the saver dedups on (laptop_id, tab_seq, colour) -\n a reused seq would silently drop same-colour lights.\n - test/scripts/external_saver.rb + create_v2_dashboard.rb: bring the old\n client to the current write API (kata_file_switch -> kata_file_edit).\n\n Rebake test/data/saver_cluster.v2.tgz through the fixed seeder and re-point\n the hardcoded cluster/child ids in cluster_tabs_test.rb and\n active_groups_test.rb (eyxahp -> vntRcc) to match.\n\n Co-Authored-By: Claude Opus 4.8 (1M context) ", + "sha1": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "message": "Merge pull request #146 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784713536.0, - "url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48" + "timestamp": 1784312147.0, + "url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=e55cba1f-ce06-49ff-9701-62eb823d", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/dashboard/compare/5407827a19ff32c8d0e7ff2e8f18665e86e64f01...0fb0be439480821efb926a5079e39ce5941eaa48", - "previous_git_commit": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "previous_fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "previous_git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", + "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "previous_trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", + "previous_trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", + "previous_template_reference_name": "exercises-start-points" }, - "commit_lead_time": 527719.0, + "commit_lead_time": 929108.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", "trail_name": "promote-all-31", - "template_reference_name": "dashboard", + "template_reference_name": "exercises-start-points", "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", "git_commit_info": { @@ -6030,27 +5738,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785143054.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=6f9db8f1-d02e-42f1-a564-1da7f708", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=b17578fc-3dc0-42c5-98a7-216ebe8a", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/76325d840dc66e1c84743725e17de05a16616419...81c216a55b2cb1787645e699ceaceca868cad253", - "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "previous_fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", + "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", "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-131", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", + "previous_trail_name": "promote-all-30", + "previous_template_reference_name": "exercises-start-points" }, "commit_lead_time": 98201.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", - "template_reference_name": "dashboard", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "template_reference_name": "exercises-start-points", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -6061,27 +5769,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=f25ae17c-30d1-4519-a8c3-66910f45", - "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/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=a4a33562-ad41-439f-9188-92f006ec", + "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...c0666c020044ac5b5181999ec153db1e7f6cd303", - "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/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "dashboard-45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", - "previous_template_reference_name": "dashboard" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "previous_template_reference_name": "exercises-start-points" }, "commit_lead_time": -75696.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", - "template_reference_name": "dashboard", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "template_reference_name": "exercises-start-points", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -6092,18 +5800,18 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=ce608804-cd89-4683-ab0a-873b873f", - "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/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=461cfebf-feeb-4acb-90dd-da1346df", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_fingerprint": "f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:b8e5cbf@sha256:f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", - "previous_template_reference_name": "dashboard" + "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": -75696.0, "artifact_compliance_in_flow": true, @@ -6111,13 +5819,13 @@ kosli get snapshot aws-prod --output=json } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/c454b3320b2144ec988e1926eb8538b2", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f248719ae7814027825075c5ea81acff", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "compliant": true, "deployments": [], "policy_decisions": [ @@ -6139,8 +5847,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -6155,16 +5863,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -6184,8 +5892,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -6200,16 +5908,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -6234,8 +5942,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -6250,16 +5958,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -6286,8 +5994,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -6302,16 +6010,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -6331,8 +6039,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -6347,16 +6055,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -6381,8 +6089,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6399,8 +6107,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6408,8 +6116,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -6437,8 +6145,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -6453,16 +6161,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -6482,8 +6190,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -6498,16 +6206,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -6532,8 +6240,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6548,19 +6256,19 @@ kosli get snapshot aws-prod --output=json } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -6588,8 +6296,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -6604,16 +6312,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -6633,8 +6341,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -6649,16 +6357,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -6683,8 +6391,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -6699,16 +6407,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -6735,8 +6443,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": null } }, @@ -6751,16 +6459,16 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": null } } @@ -6786,8 +6494,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "artifact_status": "COMPLIANT" } }, @@ -6800,18 +6508,18 @@ kosli get snapshot aws-prod --output=json } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "artifact_status": "COMPLIANT" } } @@ -6822,9 +6530,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "creationTimestamp": [ - 1785241255 + 1785241244 ], "pods": null, "annotation": { @@ -6832,59 +6540,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "exercises-start-points-ci", - "git_commit": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", + "flow_name": "custom-start-points-ci", + "git_commit": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "previous_git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", - "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_compliance_state": "COMPLIANT", + "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "previous_git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", - "previous_trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "previous_trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 929108.0, + "commit_lead_time": 929228.0, "flows": [ { - "flow_name": "exercises-start-points-ci", - "trail_name": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "template_reference_name": "exercises-start-points", - "git_commit": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "flow_name": "custom-start-points-ci", + "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "template_reference_name": "custom-start-points", + "git_commit": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "git_commit_info": { - "sha1": "258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "message": "Merge pull request #146 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "sha1": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "message": "Merge pull request #140 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312147.0, - "url": "https://github.com/cyber-dojo/exercises-start-points/commit/258b6d07d2b28ad5cb2ce6d29934997f72380f1a" + "timestamp": 1784312016.0, + "url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", - "previous_git_commit": "804f248d832dc34e564507b009c246dfb4f0c657", - "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "previous_git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/exercises-start-points/commit/804f248d832dc34e564507b009c246dfb4f0c657", - "previous_trail_name": "804f248d832dc34e564507b009c246dfb4f0c657", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "previous_trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 929108.0, + "commit_lead_time": 929228.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", "trail_name": "promote-all-31", - "template_reference_name": "exercises-start-points", + "template_reference_name": "custom-start-points", "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", "git_commit_info": { @@ -6895,27 +6603,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785143054.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=b17578fc-3dc0-42c5-98a7-216ebe8a", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=48b388e8-ce61-4668-a0dd-eb163cd4", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...81c216a55b2cb1787645e699ceaceca868cad253", "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", "previous_trail_name": "promote-all-30", - "previous_template_reference_name": "exercises-start-points" + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": 98201.0, + "commit_lead_time": 98190.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "template_reference_name": "exercises-start-points", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "template_reference_name": "custom-start-points", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -6926,27 +6634,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=3039fc99-8837-43cb-a068-28058dd4", - "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/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=c4b7a0a8-1786-4888-9f8b-68e1b4b4", + "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...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:b8e5cbf@sha256:f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/c17bb3ed8862de03c1a491dfe790fd8734fc7071...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "c17bb3ed8862de03c1a491dfe790fd8734fc7071", + "previous_fingerprint": "311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:514f79a@sha256:311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "exercises-start-points-f00aa234bebafb1980dced29626750f84a6fe6c9c50f6a90167e4d8e6511a8a8", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c17bb3ed8862de03c1a491dfe790fd8734fc7071", + "previous_trail_name": "custom-start-points-311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": -75696.0, + "commit_lead_time": -75707.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "exercises-start-points-c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "template_reference_name": "exercises-start-points", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "template_reference_name": "custom-start-points", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -6957,32 +6665,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffade573-7149-4aaf-8696-3ab527bc", - "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/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=d4f09d72-05a7-4d8f-9374-32a33334", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:804f248@sha256:a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", + "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_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "exercises-start-points-a07b93ce0975df90f08f0dc171105a4f6e61e5b91aaf5ca9874d372084e1b613", - "previous_template_reference_name": "exercises-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_trail_name": "custom-start-points-b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", + "previous_template_reference_name": "custom-start-points" }, - "commit_lead_time": -75696.0, + "commit_lead_time": -75707.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f248719ae7814027825075c5ea81acff", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/6bf799c87c194e17be0f99fcd811abb6", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "compliant": true, "deployments": [], "policy_decisions": [ @@ -7004,8 +6712,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null } }, @@ -7013,23 +6721,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } } @@ -7049,8 +6757,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": "COMPLIANT" } }, @@ -7058,23 +6766,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } } @@ -7099,8 +6807,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null } }, @@ -7108,23 +6816,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } } @@ -7151,8 +6859,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null } }, @@ -7160,23 +6868,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } } @@ -7196,8 +6904,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": "COMPLIANT" } }, @@ -7205,23 +6913,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } } @@ -7246,8 +6954,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7256,7 +6964,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7264,8 +6972,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7273,8 +6981,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -7302,8 +7010,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null } }, @@ -7311,23 +7019,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } } @@ -7347,8 +7055,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": "COMPLIANT" } }, @@ -7356,23 +7064,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } } @@ -7397,8 +7105,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7407,25 +7115,25 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "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": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "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": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -7453,8 +7161,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null } }, @@ -7462,23 +7170,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } } @@ -7498,8 +7206,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": "COMPLIANT" } }, @@ -7507,23 +7215,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } } @@ -7548,8 +7256,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null } }, @@ -7557,23 +7265,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } } @@ -7600,8 +7308,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": null } }, @@ -7609,23 +7317,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": null } } @@ -7651,8 +7359,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "artifact_status": "COMPLIANT" } }, @@ -7660,23 +7368,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promote-all-31", + "trail_name": "promotion-one-141", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "artifact_status": "COMPLIANT" } } @@ -7687,9 +7395,9 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "fingerprint": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "creationTimestamp": [ - 1785241244 + 1785236539 ], "pods": null, "annotation": { @@ -7697,59 +7405,59 @@ kosli get snapshot aws-prod --output=json "was": 1, "now": 1 }, - "flow_name": "custom-start-points-ci", - "git_commit": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", + "flow_name": "saver-ci", + "git_commit": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "commit_url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1fb48da0-c9b7-4627-8597-827ecccf", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "previous_git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "diff_url": "https://github.com/cyber-dojo/saver/compare/f4bb3412725258648a7cf5ce1a776609b4dade72...c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "previous_git_commit": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "previous_fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72", + "previous_trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 929228.0, + "commit_lead_time": 7420.0, "flows": [ { - "flow_name": "custom-start-points-ci", - "trail_name": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "template_reference_name": "custom-start-points", - "git_commit": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "flow_name": "saver-ci", + "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "template_reference_name": "saver", + "git_commit": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "commit_url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", "git_commit_info": { - "sha1": "790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "message": "Merge pull request #140 from cyber-dojo/add-drift-detection\n\nAdd periodic drift-detection workflow", + "sha1": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "message": "Spike saver idempotent append (#436)\n\n* Reduce saver's event write to an idempotent append\n\n Now that the spooler is the single ordered writer per kata (ADR B4,\n spooler docs/adr-async-writes-via-spooler.md), writes for one kata reach\n saver one at a time in tab_seq order. The concurrent-write machinery in\n commit_event therefore has nothing left to resolve, so remove it:\n\n - the update-ref compare-and-swap retry loop (and COMMIT_EVENT_MAX_RETRIES\n and the attempts parameter),\n - the self-lag re-append of a test-family loser,\n - the loser-rescue that dropped a file-event loser as \"Out of order\".\n\n file_edit_before_test_event only existed to swallow that \"Out of order\"\n drop, so it is gone; ran_tests/predicted_right/predicted_wrong now call\n file_edit directly to capture any pending edit before the test event.\n\n Kept: the A8 dedup guard (a redelivered (laptop_id, tab_seq, colour) is a\n no-op), and the update-ref itself with its base_oid precondition - now a\n cheap integrity guard against the blue-green overlap rather than loser\n detection. option_set's CAS stays too: options are a non-event write that\n does not go through the spooler and can still be written concurrently.\n\n Spike: tests not updated.\n\n* Drop the dead position return from saver's event writes\n\n The spooler is now the only writer and its drainer forwards by checking\n only the response status - it never reads the body. Web reads positions\n from the committed stream itself (A4/A5). So the {next_index, major_index,\n minor_index} the write methods computed and returned is dead: nothing reads\n it. Stop computing and returning it.\n\n - The nine event writes return nothing (an ack): file_create/delete/rename\n drop result['next_index']; file_edit's no-edit path returns bare; the\n test-family writes call commit_event directly.\n - git_commit_tag_sss had nothing left to do but call commit_event with the\n same args, so it is removed; git_commit_tag (which fills empty\n stdout/stderr/status for file events) calls commit_event directly.\n - The top-level major_index helper is now unused (only the write return used\n it) and is removed. The read side is untouched: events()/kata_events still\n carry index (stored) and major_index/minor_index (polyfilled per read by\n poly_filler).\n - commit_event: the A8 dedup path returns bare, all_events is inlined into\n the commit block, and the method ends with nil.\n\n* Update saver tests for idempotent-append writes\n\n The write methods now return nothing (an ack) and B4 removed the CAS\n retry / self-lag / loser-rescue, so tests that asserted on a returned\n position or exercised that machinery no longer hold. Re-express them\n against the committed event stream (kata_events), which still carries\n index / major_index / minor_index (poly_filler, read side).\n\n - Drop next_index = write(...), result['next_index'] and\n response[m]['next_index'] assertions; assert on kata_events(id) instead\n (size == head+1, events[i]['index'], and the light's colour + major/minor).\n Covers kata_file_* (+ client mirrors), kata_ran_tests, kata_reverted,\n kata_checked_out, kata_torn_read, kata_write_index_ignored,\n kata_write_accepts_{tab_seq,laptop_id}, kata_diff, differ,\n kata_ran_tests_with_edit, kata_predicted_{right,wrong},\n kata_ran_tests_with_outage.\n - Delete tests of removed behavior: kata_ran_tests.rb Sp4DkR/S/T/H plus the\n racing_git / assert_test_survives_raced_internal_file_edit helpers, and\n client/kata_concurrent_saves_test.rb (concurrent same-kata CAS-loser retry -\n the spooler is now the single ordered writer). Refresh the stale\n Sp4DkC / Sp4DkJ comments (the error propagates now; no rescue).\n - The *_metrics_limits.rb files (server + client) were regenerated by the\n test runner to match the new test counts and coverage.\n\n* Update api.md: writes no longer return an index, kata_events documents it\n\n The event-write methods stopped returning a position (they are an idempotent\n append now), so their docs were stale.\n\n - kata_events: its `returns` now describes the three positional indexes each\n event carries - index (absolute position), major_index (count of traffic-\n lights, created=0, a light sits at major.0), minor_index (0 on a light,\n incremented per inter-test file event since the last light) - and notes they\n are computed on read, not returned by the writes.\n - kata_file_create/delete/rename/edit: drop the \"returns the next event index\"\n text and the { \"kata_file_*\": N } response examples, and strip the now-\n pointless `| jq .` from their request examples (a write returns nothing\n meaningful - a 200 ack; the event is read back via kata_events).\n - kata_file_edit: its description no longer claims the next index is returned\n unchanged when nothing was edited.\n\n* Stamp laptop_id/tab_seq in the differ/kata_diff test helpers\n\n These two convenience helpers (kata_ran_tests(id, files)) called the\n model directly without laptop_id/tab_seq, riding the model's nil\n defaults. Those defaults are being removed, after which the bare calls\n would raise ArgumentError (missing keyword). Pass default_laptop_id and\n next_tab_seq (the same convention as test/server/helpers/model.rb) so\n these helpers survive the removal.\n\n Co-Authored-By: Claude Opus 4.8 (1M context) \n\n* Add ADR on proposed timestamp changes", "author": "Jon Jagger ", "branch": "", - "timestamp": 1784312016.0, - "url": "https://github.com/cyber-dojo/custom-start-points/commit/790d86b66f4d86ab47f5c521daf5039dc8aeef4d" + "timestamp": 1785229119.0, + "url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77", - "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci", + "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1fb48da0-c9b7-4627-8597-827ecccf", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", - "previous_git_commit": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "diff_url": "https://github.com/cyber-dojo/saver/compare/f4bb3412725258648a7cf5ce1a776609b4dade72...c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "previous_git_commit": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "previous_fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_trail_name": "d37aace7598ee943ba0bd5e51f224335cbdf0a3e", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/f4bb3412725258648a7cf5ce1a776609b4dade72", + "previous_trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 929228.0, + "commit_lead_time": 7420.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promote-all-31", - "template_reference_name": "custom-start-points", + "trail_name": "promotion-one-141", + "template_reference_name": "saver", "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", "git_commit_info": { @@ -7760,27 +7468,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785143054.0, "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=48b388e8-ce61-4668-a0dd-eb163cd4", + "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=0db443cc-b53c-4780-b759-7a8a1bf8", "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/d7e31ce0207b766140ae689f38625da4374acf87...81c216a55b2cb1787645e699ceaceca868cad253", - "previous_git_commit": "d7e31ce0207b766140ae689f38625da4374acf87", - "previous_fingerprint": "1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:d37aace@sha256:1ed61f19b66b82f7f122b7b88522360de73abb3536fab5d0f8eadb9b987f9400", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/76325d840dc66e1c84743725e17de05a16616419...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", + "previous_fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", "previous_artifact_compliance_state": "COMPLIANT", "previous_running": false, - "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/d7e31ce0207b766140ae689f38625da4374acf87", - "previous_trail_name": "promote-all-30", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/76325d840dc66e1c84743725e17de05a16616419", + "previous_trail_name": "promotion-one-133", + "previous_template_reference_name": "saver" }, - "commit_lead_time": 98190.0, + "commit_lead_time": 93485.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "template_reference_name": "custom-start-points", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "template_reference_name": "saver", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -7791,27 +7499,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=a320a699-8ce4-460a-a70a-636fc16b", - "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/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1e09b5c8-60fa-4227-8ddb-67fab193", + "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...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:6b5c159@sha256:b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", + "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/00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_trail_name": "custom-start-points-b4448ca68a0926e4a7a800f5b101b63e9c2f38e1caaebb7e929d992763570928", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_trail_name": "saver-b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "previous_template_reference_name": "saver" }, - "commit_lead_time": -75707.0, + "commit_lead_time": -80412.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "custom-start-points-8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "template_reference_name": "custom-start-points", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "template_reference_name": "saver", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -7822,32 +7530,32 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=89848b7a-0c9c-4672-92ef-744a827e", - "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/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=54b7f366-c9ae-4d7b-b487-e269e029", + "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/c17bb3ed8862de03c1a491dfe790fd8734fc7071...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "c17bb3ed8862de03c1a491dfe790fd8734fc7071", - "previous_fingerprint": "311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:514f79a@sha256:311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", + "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/c17bb3ed8862de03c1a491dfe790fd8734fc7071", - "previous_trail_name": "custom-start-points-311da8e95c74716bf3953de67a6dc3fe514c88d805a08a55ab17c677d75cf797", - "previous_template_reference_name": "custom-start-points" + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_trail_name": "saver-f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", + "previous_template_reference_name": "saver" }, - "commit_lead_time": -75707.0, + "commit_lead_time": -80412.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/6bf799c87c194e17be0f99fcd811abb6", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/77b4502f86ca4337a17e8ddfe0e8177b", "cluster_name": null, "service_name": null } }, { - "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "compliant": true, "deployments": [], "policy_decisions": [ @@ -7869,8 +7577,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -7878,23 +7586,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -7914,8 +7622,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -7923,23 +7631,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -7964,8 +7672,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -7973,23 +7681,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -8016,8 +7724,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -8025,23 +7733,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -8061,8 +7769,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -8070,23 +7778,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -8111,8 +7819,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8121,7 +7829,7 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8129,8 +7837,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8138,8 +7846,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null, "for_control": "SDLC-CTRL-0002" } @@ -8167,8 +7875,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -8176,23 +7884,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -8212,8 +7920,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -8221,23 +7929,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -8262,8 +7970,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8272,25 +7980,25 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "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": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "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": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } @@ -8318,8 +8026,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -8327,23 +8035,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -8363,8 +8071,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -8372,23 +8080,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -8413,8 +8121,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -8422,23 +8130,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -8465,8 +8173,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": null } }, @@ -8474,23 +8182,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_not_applicable", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } }, { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": null } } @@ -8516,8 +8224,8 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "flow_name": "runner-ci", + "trail_name": "19f873464a01f28ecd588504ffe03529119d6297", "artifact_status": "COMPLIANT" } }, @@ -8525,23 +8233,23 @@ kosli get snapshot aws-prod --output=json "type": "rule_satisfied", "context": { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", + "trail_name": "promotion-one-137", "artifact_status": "COMPLIANT" } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "artifact_status": "COMPLIANT" } } @@ -8552,100 +8260,102 @@ kosli get snapshot aws-prod --output=json } ], "reasons_for_incompliance": [], - "fingerprint": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "fingerprint": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", "creationTimestamp": [ - 1785236539 + 1785138608, + 1785138608, + 1785138609 ], "pods": null, "annotation": { "type": "unchanged", - "was": 1, - "now": 1 + "was": 3, + "now": 3 }, - "flow_name": "saver-ci", - "git_commit": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "commit_url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1fb48da0-c9b7-4627-8597-827ecccf", - "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/f4bb3412725258648a7cf5ce1a776609b4dade72...c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "previous_git_commit": "f4bb3412725258648a7cf5ce1a776609b4dade72", - "previous_fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "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/f4bb3412725258648a7cf5ce1a776609b4dade72", - "previous_trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", - "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": 7420.0, + "commit_lead_time": 85840.0, "flows": [ { - "flow_name": "saver-ci", - "trail_name": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "template_reference_name": "saver", - "git_commit": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "commit_url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "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": "c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "message": "Spike saver idempotent append (#436)\n\n* Reduce saver's event write to an idempotent append\n\n Now that the spooler is the single ordered writer per kata (ADR B4,\n spooler docs/adr-async-writes-via-spooler.md), writes for one kata reach\n saver one at a time in tab_seq order. The concurrent-write machinery in\n commit_event therefore has nothing left to resolve, so remove it:\n\n - the update-ref compare-and-swap retry loop (and COMMIT_EVENT_MAX_RETRIES\n and the attempts parameter),\n - the self-lag re-append of a test-family loser,\n - the loser-rescue that dropped a file-event loser as \"Out of order\".\n\n file_edit_before_test_event only existed to swallow that \"Out of order\"\n drop, so it is gone; ran_tests/predicted_right/predicted_wrong now call\n file_edit directly to capture any pending edit before the test event.\n\n Kept: the A8 dedup guard (a redelivered (laptop_id, tab_seq, colour) is a\n no-op), and the update-ref itself with its base_oid precondition - now a\n cheap integrity guard against the blue-green overlap rather than loser\n detection. option_set's CAS stays too: options are a non-event write that\n does not go through the spooler and can still be written concurrently.\n\n Spike: tests not updated.\n\n* Drop the dead position return from saver's event writes\n\n The spooler is now the only writer and its drainer forwards by checking\n only the response status - it never reads the body. Web reads positions\n from the committed stream itself (A4/A5). So the {next_index, major_index,\n minor_index} the write methods computed and returned is dead: nothing reads\n it. Stop computing and returning it.\n\n - The nine event writes return nothing (an ack): file_create/delete/rename\n drop result['next_index']; file_edit's no-edit path returns bare; the\n test-family writes call commit_event directly.\n - git_commit_tag_sss had nothing left to do but call commit_event with the\n same args, so it is removed; git_commit_tag (which fills empty\n stdout/stderr/status for file events) calls commit_event directly.\n - The top-level major_index helper is now unused (only the write return used\n it) and is removed. The read side is untouched: events()/kata_events still\n carry index (stored) and major_index/minor_index (polyfilled per read by\n poly_filler).\n - commit_event: the A8 dedup path returns bare, all_events is inlined into\n the commit block, and the method ends with nil.\n\n* Update saver tests for idempotent-append writes\n\n The write methods now return nothing (an ack) and B4 removed the CAS\n retry / self-lag / loser-rescue, so tests that asserted on a returned\n position or exercised that machinery no longer hold. Re-express them\n against the committed event stream (kata_events), which still carries\n index / major_index / minor_index (poly_filler, read side).\n\n - Drop next_index = write(...), result['next_index'] and\n response[m]['next_index'] assertions; assert on kata_events(id) instead\n (size == head+1, events[i]['index'], and the light's colour + major/minor).\n Covers kata_file_* (+ client mirrors), kata_ran_tests, kata_reverted,\n kata_checked_out, kata_torn_read, kata_write_index_ignored,\n kata_write_accepts_{tab_seq,laptop_id}, kata_diff, differ,\n kata_ran_tests_with_edit, kata_predicted_{right,wrong},\n kata_ran_tests_with_outage.\n - Delete tests of removed behavior: kata_ran_tests.rb Sp4DkR/S/T/H plus the\n racing_git / assert_test_survives_raced_internal_file_edit helpers, and\n client/kata_concurrent_saves_test.rb (concurrent same-kata CAS-loser retry -\n the spooler is now the single ordered writer). Refresh the stale\n Sp4DkC / Sp4DkJ comments (the error propagates now; no rescue).\n - The *_metrics_limits.rb files (server + client) were regenerated by the\n test runner to match the new test counts and coverage.\n\n* Update api.md: writes no longer return an index, kata_events documents it\n\n The event-write methods stopped returning a position (they are an idempotent\n append now), so their docs were stale.\n\n - kata_events: its `returns` now describes the three positional indexes each\n event carries - index (absolute position), major_index (count of traffic-\n lights, created=0, a light sits at major.0), minor_index (0 on a light,\n incremented per inter-test file event since the last light) - and notes they\n are computed on read, not returned by the writes.\n - kata_file_create/delete/rename/edit: drop the \"returns the next event index\"\n text and the { \"kata_file_*\": N } response examples, and strip the now-\n pointless `| jq .` from their request examples (a write returns nothing\n meaningful - a 200 ack; the event is read back via kata_events).\n - kata_file_edit: its description no longer claims the next index is returned\n unchanged when nothing was edited.\n\n* Stamp laptop_id/tab_seq in the differ/kata_diff test helpers\n\n These two convenience helpers (kata_ran_tests(id, files)) called the\n model directly without laptop_id/tab_seq, riding the model's nil\n defaults. Those defaults are being removed, after which the bare calls\n would raise ArgumentError (missing keyword). Pass default_laptop_id and\n next_tab_seq (the same convention as test/server/helpers/model.rb) so\n these helpers survive the removal.\n\n Co-Authored-By: Claude Opus 4.8 (1M context) \n\n* Add ADR on proposed timestamp changes", + "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": 1785229119.0, - "url": "https://github.com/cyber-dojo/saver/commit/c29db2ce6d16a9ace09a8548b0cc39fd608abd2e" + "timestamp": 1785052768.0, + "url": "https://github.com/cyber-dojo/runner/commit/19f873464a01f28ecd588504ffe03529119d6297" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1fb48da0-c9b7-4627-8597-827ecccf", - "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/f4bb3412725258648a7cf5ce1a776609b4dade72...c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", - "previous_git_commit": "f4bb3412725258648a7cf5ce1a776609b4dade72", - "previous_fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "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/f4bb3412725258648a7cf5ce1a776609b4dade72", - "previous_trail_name": "f4bb3412725258648a7cf5ce1a776609b4dade72", - "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": 7420.0, + "commit_lead_time": 85840.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { "flow_name": "production-promotion", - "trail_name": "promotion-one-141", - "template_reference_name": "saver", - "git_commit": "81c216a55b2cb1787645e699ceaceca868cad253", - "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253", + "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": { - "sha1": "81c216a55b2cb1787645e699ceaceca868cad253", - "message": "Add spooler service name to promote_one.yml", + "sha1": "76325d840dc66e1c84743725e17de05a16616419", + "message": "Add emoji prefix to workflow names", "author": "JonJagger ", "branch": "main", - "timestamp": 1785143054.0, - "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/81c216a55b2cb1787645e699ceaceca868cad253" + "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/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=0db443cc-b53c-4780-b759-7a8a1bf8", + "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...81c216a55b2cb1787645e699ceaceca868cad253", + "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/76325d840dc66e1c84743725e17de05a16616419...76325d840dc66e1c84743725e17de05a16616419", "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", - "previous_fingerprint": "fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:f4bb341@sha256:fcfc73775b49f8b8414c720e820b38258c6d18cb9d25b7ac76ff2d528a7add97", + "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-133", - "previous_template_reference_name": "saver" + "previous_trail_name": "promotion-one-136", + "previous_template_reference_name": "runner" }, - "commit_lead_time": 93485.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-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "template_reference_name": "saver", + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "template_reference_name": "runner", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -8656,27 +8366,27 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=986c8a72-0c76-4272-98d2-136b2c0b", - "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/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=832e3ced-fa91-436d-98b1-4e15d440", + "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...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", - "previous_fingerprint": "f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:8c84fac@sha256:f5909cc8dd53b2105953d1a72cd5d6181367d3588964aa01a04c056205a5d419", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_fingerprint": "d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:6dac3ae@sha256:d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", "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_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_trail_name": "runner-d7c56f15abf30e1424444c9de9beb4884f72dd400183da58fa9d8d1092309e7b", + "previous_template_reference_name": "runner" }, - "commit_lead_time": -80412.0, + "commit_lead_time": -178343.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", - "trail_name": "saver-680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "template_reference_name": "saver", + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "runner-8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "template_reference_name": "runner", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", "git_commit_info": { @@ -8687,26 +8397,26 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1e09b5c8-60fa-4227-8ddb-67fab193", - "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/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=035213b9-c212-4747-9c14-421160db", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", "deployment_diff": { - "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_fingerprint": "b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:55561dc@sha256:b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", + "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/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", - "previous_trail_name": "saver-b0c07ba3f67f16c2a1b6f0096f1474df6600ed3556e0e82b78d24acabc9b2bab", - "previous_template_reference_name": "saver" + "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": -80412.0, + "commit_lead_time": -178343.0, "artifact_compliance_in_flow": true, "flow_reasons_for_non_compliance": [] } ], "ecs_context": { - "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/77b4502f86ca4337a17e8ddfe0e8177b", + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ffc316ec94724a67a7775accf9b9232a", "cluster_name": null, "service_name": null } @@ -8750,7 +8460,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -8758,7 +8468,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -8795,7 +8505,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -8803,7 +8513,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -8845,7 +8555,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -8853,7 +8563,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -8897,7 +8607,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -8905,7 +8615,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -8942,7 +8652,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -8950,7 +8660,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -8994,7 +8704,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null, "for_control": "SDLC-CTRL-0002" @@ -9003,7 +8713,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null, "for_control": "SDLC-CTRL-0002" @@ -9048,7 +8758,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -9056,7 +8766,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -9093,7 +8803,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -9101,7 +8811,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -9143,18 +8853,18 @@ kosli get snapshot aws-prod --output=json } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null, "for_control": "SDLC-CTRL-0022" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null, "for_control": "SDLC-CTRL-0022" @@ -9199,7 +8909,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -9207,7 +8917,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -9244,7 +8954,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -9252,7 +8962,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -9294,7 +9004,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -9302,7 +9012,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -9346,7 +9056,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -9354,7 +9064,7 @@ kosli get snapshot aws-prod --output=json { "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": null } @@ -9395,17 +9105,17 @@ kosli get snapshot aws-prod --output=json } }, { - "type": "rule_satisfied", + "type": "rule_not_applicable", "context": { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } }, { - "type": "rule_not_applicable", + "type": "rule_satisfied", "context": { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "artifact_status": "COMPLIANT" } @@ -9508,7 +9218,7 @@ kosli get snapshot aws-prod --output=json "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "template_reference_name": "creator", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", @@ -9521,17 +9231,17 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=e337ab34-8c68-4b0b-90d3-f961c5ff", - "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=ef39d97b-055b-4e03-b208-72d8c545", + "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/7172cc22125f480a9f12127edb481a4d84aabea3...c0666c020044ac5b5181999ec153db1e7f6cd303", - "previous_git_commit": "7172cc22125f480a9f12127edb481a4d84aabea3", - "previous_fingerprint": "e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", - "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:a288de5@sha256:e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/a517304f4e9013e2e9ea67e90c7342f7e56653f0...c0666c020044ac5b5181999ec153db1e7f6cd303", + "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/7172cc22125f480a9f12127edb481a4d84aabea3", - "previous_trail_name": "creator-e8b5e25c5550658cdbd2b8339684b18bce86aaf6538611124ff62f2582c2e5b6", + "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": -959881.0, @@ -9539,7 +9249,7 @@ kosli get snapshot aws-prod --output=json "flow_reasons_for_non_compliance": [] }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "trail_name": "creator-aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "template_reference_name": "creator", "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", @@ -9552,17 +9262,17 @@ kosli get snapshot aws-prod --output=json "timestamp": 1785316951.0, "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" }, - "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6?artifact_id=ef39d97b-055b-4e03-b208-72d8c545", - "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=fadd685d-ff61-4fe9-94ee-3a81606e", + "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...c0666c020044ac5b5181999ec153db1e7f6cd303", - "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/7172cc22125f480a9f12127edb481a4d84aabea3...c0666c020044ac5b5181999ec153db1e7f6cd303", + "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": "creator-0744a611723cb72a3f24b33c2d56fcbb1bfbedf0637a962f259fada8e3dbbe50", + "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": -959881.0, @@ -9575,6 +9285,871 @@ kosli get snapshot aws-prod --output=json "cluster_name": null, "service_name": null } + }, + { + "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "compliant": true, + "deployments": [], + "policy_decisions": [ + { + "policy_version": 3, + "status": "COMPLIANT", + "rule_evaluations": [ + { + "rule": { + "type": "provenance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null, + "for_control": "SDLC-CTRL-0002" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null, + "for_control": "SDLC-CTRL-0022" + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + } + ] + }, + { + "rule": { + "type": "trail-compliance", + "definition": { + "required": false, + "exceptions": [] + } + }, + "satisfied": null, + "ignored": true, + "resolutions": [ + { + "type": "rule_not_applicable", + "context": { + "flow_name": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": null + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "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": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_not_applicable", + "context": { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": "COMPLIANT" + } + }, + { + "type": "rule_satisfied", + "context": { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "artifact_status": "COMPLIANT" + } + } + ] + } + ], + "policy_name": "trail-compliance-aws-prod" + } + ], + "reasons_for_incompliance": [], + "fingerprint": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "creationTimestamp": [ + 1785241255 + ], + "pods": null, + "annotation": { + "type": "exited", + "was": 1, + "now": 0 + }, + "flow_name": "dashboard-ci", + "git_commit": "0fb0be439480821efb926a5079e39ce5941eaa48", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48", + "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=e55cba1f-ce06-49ff-9701-62eb823d", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/dashboard/compare/5407827a19ff32c8d0e7ff2e8f18665e86e64f01...0fb0be439480821efb926a5079e39ce5941eaa48", + "previous_git_commit": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "previous_fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "previous_trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "previous_template_reference_name": "dashboard" + }, + "commit_lead_time": 527719.0, + "flows": [ + { + "flow_name": "dashboard-ci", + "trail_name": "0fb0be439480821efb926a5079e39ce5941eaa48", + "template_reference_name": "dashboard", + "git_commit": "0fb0be439480821efb926a5079e39ce5941eaa48", + "commit_url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48", + "git_commit_info": { + "sha1": "0fb0be439480821efb926a5079e39ce5941eaa48", + "message": "Carry (laptop_id, tab_seq) on all dashboard saver writes (#418)\n\nThe saver is about to drop the nil defaults on laptop_id/tab_seq for its\n kata-write endpoints, and no longer accepts the old index arg on writes.\n Every dashboard code path that writes to the saver relied on those\n defaults, so each would raise ArgumentError once they are removed.\n\n Update all of them to send the writer's (laptop_id, tab_seq) idempotency\n key and stop sending index:\n - bin/create_cluster_kata.rb, bin/create_group_kata.rb: each avatar is one\n writer, modelled by a small Writer (a fixed laptop_id plus a monotonic\n tab_seq). The monotonic tab_seq matters here because an avatar makes many\n writes on one kata, and the saver dedups on (laptop_id, tab_seq, colour) -\n a reused seq would silently drop same-colour lights.\n - test/scripts/external_saver.rb + create_v2_dashboard.rb: bring the old\n client to the current write API (kata_file_switch -> kata_file_edit).\n\n Rebake test/data/saver_cluster.v2.tgz through the fixed seeder and re-point\n the hardcoded cluster/child ids in cluster_tabs_test.rb and\n active_groups_test.rb (eyxahp -> vntRcc) to match.\n\n Co-Authored-By: Claude Opus 4.8 (1M context) ", + "author": "Jon Jagger ", + "branch": "", + "timestamp": 1784713536.0, + "url": "https://github.com/cyber-dojo/dashboard/commit/0fb0be439480821efb926a5079e39ce5941eaa48" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=e55cba1f-ce06-49ff-9701-62eb823d", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/dashboard/compare/5407827a19ff32c8d0e7ff2e8f18665e86e64f01...0fb0be439480821efb926a5079e39ce5941eaa48", + "previous_git_commit": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "previous_fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "previous_trail_name": "5407827a19ff32c8d0e7ff2e8f18665e86e64f01", + "previous_template_reference_name": "dashboard" + }, + "commit_lead_time": 527719.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "production-promotion", + "trail_name": "promote-all-31", + "template_reference_name": "dashboard", + "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/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=6f9db8f1-d02e-42f1-a564-1da7f708", + "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...81c216a55b2cb1787645e699ceaceca868cad253", + "previous_git_commit": "76325d840dc66e1c84743725e17de05a16616419", + "previous_fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "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-131", + "previous_template_reference_name": "dashboard" + }, + "commit_lead_time": 98201.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "snyk-aws-beta-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "template_reference_name": "dashboard", + "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "git_commit_info": { + "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "author": "JonJagger ", + "branch": "main", + "timestamp": 1785316951.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=ce608804-cd89-4683-ab0a-873b873f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_fingerprint": "d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:5407827@sha256:d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "previous_artifact_compliance_state": "COMPLIANT", + "previous_running": false, + "previous_git_commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35a09b2d283bafd6bbc12c29eba3306d5b36a5f7", + "previous_trail_name": "dashboard-d5e2c2da34f74c61721f620d410e6ae9299f15e1f928aeb903cefdd72a1e815e", + "previous_template_reference_name": "dashboard" + }, + "commit_lead_time": -75696.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + }, + { + "flow_name": "snyk-aws-prod-per-artifact", + "trail_name": "dashboard-c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "template_reference_name": "dashboard", + "git_commit": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303", + "git_commit_info": { + "sha1": "c0666c020044ac5b5181999ec153db1e7f6cd303", + "message": "Drop lone use of = separator on Kosli CLI boolean flag", + "author": "JonJagger ", + "branch": "main", + "timestamp": 1785316951.0, + "url": "https://github.com/cyber-dojo/snyk-scanning/commit/c0666c020044ac5b5181999ec153db1e7f6cd303" + }, + "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=b10c3551-f223-48c6-808e-c9df467f", + "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact", + "deployment_diff": { + "diff_url": "https://github.com/cyber-dojo/snyk-scanning/compare/00c479764cb9eca038fdaaaef108672d0bb0ed26...c0666c020044ac5b5181999ec153db1e7f6cd303", + "previous_git_commit": "00c479764cb9eca038fdaaaef108672d0bb0ed26", + "previous_fingerprint": "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": "dashboard-45513c642ba191052bde056d56eeba8b06b0346eb444ec0008bd59bc0581bb8c", + "previous_template_reference_name": "dashboard" + }, + "commit_lead_time": -75696.0, + "artifact_compliance_in_flow": true, + "flow_reasons_for_non_compliance": [] + } + ], + "ecs_context": { + "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/c454b3320b2144ec988e1926eb8538b2", + "cluster_name": null, + "service_name": null + } } ], "applied_policies": [ diff --git a/client_reference/kosli_list_environments.md b/client_reference/kosli_list_environments.md index 80a6a11..013fe6f 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": 1785405144.0992692, - "last_reported_at": 1785405144.0992692, - "last_changed_at": 1785399024.0606346, + "last_modified_at": 1785495924.0245373, + "last_reported_at": 1785495924.0245373, + "last_changed_at": 1785488484.0585513, "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": 1785405008.6709044, - "last_reported_at": 1785405008.6709044, - "last_changed_at": 1785399308.8990152, + "last_modified_at": 1785495908.5872364, + "last_reported_at": 1785495908.5872364, + "last_changed_at": 1785487808.7731571, "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": 1785405118.3597527, - "last_reported_at": 1785405118.3597527, - "last_changed_at": 1785386758.6525679, + "last_modified_at": 1785495898.4259639, + "last_reported_at": 1785495898.4259639, + "last_changed_at": 1785488758.445761, "state": true, "include_scaling": false, "tags": { @@ -122,9 +122,9 @@ kosli list environments --output=json "name": "aws-prod-terraform-drift-detection", "type": "server", "description": "Detection of drift of the Infrastructure-as-code components of aws-prod", - "last_modified_at": 1785404924.3084204, - "last_reported_at": 1785404924.3084204, - "last_changed_at": 1785311013.6893866, + "last_modified_at": 1785495812.191085, + "last_reported_at": 1785495812.191085, + "last_changed_at": 1785489212.0693176, "state": true, "include_scaling": false, "tags": {}, @@ -138,9 +138,9 @@ kosli list environments --output=json "name": "production", "type": "logical", "description": "Production environments for cyber-dojo", - "last_modified_at": 1785386758.6525679, + "last_modified_at": 1785489212.0693176, "last_reported_at": null, - "last_changed_at": 1785386758.6525679, + "last_changed_at": 1785489212.0693176, "state": true, "include_scaling": false, "tags": {}, @@ -155,9 +155,9 @@ kosli list environments --output=json "name": "staging", "type": "logical", "description": "Staging environments for cyber-dojo", - "last_modified_at": 1785399308.8990152, + "last_modified_at": 1785488484.0585513, "last_reported_at": null, - "last_changed_at": 1785399308.8990152, + "last_changed_at": 1785488484.0585513, "state": true, "include_scaling": false, "tags": {}, diff --git a/client_reference/kosli_list_flows.md b/client_reference/kosli_list_flows.md index 3026ebb..dcbc89b 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/spooler", + "repo_url": "https://github.com/cyber-dojo/dashboard", "tags": {} }, { diff --git a/client_reference/kosli_list_snapshots.md b/client_reference/kosli_list_snapshots.md index 9ae3a26..3df585c 100644 --- a/client_reference/kosli_list_snapshots.md +++ b/client_reference/kosli_list_snapshots.md @@ -63,12 +63,47 @@ kosli list snapshots aws-prod --output=json ```json [ + { + "index": 5143, + "from": 1785488758.445761, + "to": 0.0, + "compliant": true, + "duration": 7183.661288738251 + }, + { + "index": 5142, + "from": 1785488698.5792832, + "to": 1785488758.445761, + "compliant": true, + "duration": 59.866477727890015 + }, + { + "index": 5141, + "from": 1785474718.4306936, + "to": 1785488698.5792832, + "compliant": true, + "duration": 13980.148589611053 + }, + { + "index": 5140, + "from": 1785474598.4708273, + "to": 1785474718.4306936, + "compliant": true, + "duration": 119.9598662853241 + }, + { + "index": 5139, + "from": 1785474478.4712877, + "to": 1785474598.4708273, + "compliant": true, + "duration": 119.99953961372375 + }, { "index": 5138, "from": 1785386758.6525679, - "to": 0.0, + "to": 1785474478.4712877, "compliant": true, - "duration": 18396.789004325867 + "duration": 87719.81871986389 }, { "index": 5137, @@ -132,41 +167,6 @@ kosli list snapshots aws-prod --output=json "to": 1785301018.7636228, "compliant": true, "duration": 60.20175361633301 - }, - { - "index": 5128, - "from": 1785300898.3949952, - "to": 1785300958.5618691, - "compliant": true, - "duration": 60.166873931884766 - }, - { - "index": 5127, - "from": 1785300838.4479997, - "to": 1785300898.3949952, - "compliant": true, - "duration": 59.94699549674988 - }, - { - "index": 5126, - "from": 1785243478.598589, - "to": 1785300838.4479997, - "compliant": true, - "duration": 57359.84941077232 - }, - { - "index": 5125, - "from": 1785243418.5364106, - "to": 1785243478.598589, - "compliant": true, - "duration": 60.06217837333679 - }, - { - "index": 5124, - "from": 1785241678.414592, - "to": 1785243418.5364106, - "compliant": true, - "duration": 1740.1218185424805 } ] ``` diff --git a/client_reference/kosli_log_environment.md b/client_reference/kosli_log_environment.md index c124acb..f39fa32 100644 --- a/client_reference/kosli_log_environment.md +++ b/client_reference/kosli_log_environment.md @@ -72,16 +72,16 @@ kosli log environment aws-prod --output=json [ { "environment_name": "aws-prod", - "snapshot_index": 5138, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "sha256": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "description": "1 instance changed", - "reported_at": 1785386758.6525679, - "pipeline": "spooler-ci", + "snapshot_index": 5143, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "sha256": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "description": "1 instance stopped running (from 1 to 0)", + "reported_at": 1785488758.445761, + "pipeline": "dashboard-ci", "deployments": [], "flows": [ { - "flow_name": "spooler-ci", + "flow_name": "dashboard-ci", "deployments": null }, { @@ -89,83 +89,75 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", + "type": "exited", + "code_diff": "https://github.com/cyber-dojo/dashboard/compare/5407827a19ff32c8d0e7ff2e8f18665e86e64f01...0fb0be439480821efb926a5079e39ce5941eaa48", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", - "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/dashboard-ci/fingerprint/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", + "html": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=e55cba1f-ce06-49ff-9701-62eb823d" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5138", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5138" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5143", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5143" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5138, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "sha256": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "description": "3 instances changed", - "reported_at": 1785386758.6525679, - "pipeline": "runner-ci", + "snapshot_index": 5142, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:09d5c85@sha256:b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc", + "sha256": "b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc", + "description": "1 instance started running (from 0 to 1)", + "reported_at": 1785488698.5792832, + "pipeline": "dashboard-ci", "deployments": [], "flows": [ { - "flow_name": "runner-ci", + "flow_name": "dashboard-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 } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/runner/compare/6dac3ae5d85ee8e6040d8badd5c2eede44bc8a6b...19f873464a01f28ecd588504ffe03529119d6297", + "type": "started-compliant", + "code_diff": "https://github.com/cyber-dojo/dashboard/compare/0fb0be439480821efb926a5079e39ce5941eaa48...09d5c85f03a24915e7fd278719729436a36e62bc", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/runner-ci/fingerprint/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", - "html": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67?artifact_id=046fc54c-c295-45b3-bac0-81d40282" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/dashboard-ci/fingerprint/b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc", + "html": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/b191034be0502134690408befcf6ac9ced5ffddc451fd27f3396fe7fbfec94dc?artifact_id=5aec6d11-1734-445f-8c77-4d4aad2c" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5138", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5138" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5142", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5142" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5138, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "sha256": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "description": "1 instance changed", - "reported_at": 1785386758.6525679, - "pipeline": "languages-start-points-ci", + "snapshot_index": 5141, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:19f8734@sha256:8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "sha256": "8c604f9f203a21ad88bd4c9610ef323242874410f0ce796ccdc884d101117b67", + "description": "3 instances changed", + "reported_at": 1785474718.4306936, + "pipeline": "runner-ci", "deployments": [], "flows": [ { - "flow_name": "languages-start-points-ci", + "flow_name": "runner-ci", "deployments": null }, { @@ -173,36 +165,36 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", + "type": "changed", + "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/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", - "html": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/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/5138", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5138" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5141", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5141" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5137, + "snapshot_index": 5140, "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "sha256": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", "description": "1 instance changed", - "reported_at": 1785386638.4935195, + "reported_at": 1785474598.4708273, "pipeline": "saver-ci", "deployments": [], "flows": [ @@ -215,11 +207,11 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], @@ -233,18 +225,18 @@ kosli log environment aws-prod --output=json "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1fb48da0-c9b7-4627-8597-827ecccf" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5137", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5137" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5137, + "snapshot_index": 5140, "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "sha256": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "description": "1 instance changed", - "reported_at": 1785386638.4935195, + "reported_at": 1785474598.4708273, "pipeline": "spooler-ci", "deployments": [], "flows": [ @@ -256,6 +248,10 @@ kosli log environment aws-prod --output=json "flow_name": "production-promotion", "deployments": null }, + { + "flow_name": "snyk-aws-beta-per-artifact", + "deployments": null + }, { "flow_name": "snyk-aws-prod-per-artifact", "deployments": null @@ -271,23 +267,23 @@ kosli log environment aws-prod --output=json "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5137", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5137" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5137, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:a2e4638@sha256:c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053", - "sha256": "c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053", + "snapshot_index": 5140, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "sha256": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "description": "1 instance changed", - "reported_at": 1785386638.4935195, - "pipeline": "nginx-ci", + "reported_at": 1785474598.4708273, + "pipeline": "custom-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "nginx-ci", + "flow_name": "custom-start-points-ci", "deployments": null }, { @@ -306,30 +302,30 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/nginx/compare/7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47...a2e4638aaa102446b8a6d1d519c5bc007e24f087", + "code_diff": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/nginx-ci/fingerprint/c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053", - "html": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053?artifact_id=c8c04d1b-0457-497c-a969-4d9c0b72" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/custom-start-points-ci/fingerprint/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "html": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5137", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5137" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5137, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "sha256": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "snapshot_index": 5140, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "sha256": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", "description": "1 instance changed", - "reported_at": 1785386638.4935195, - "pipeline": "exercises-start-points-ci", + "reported_at": 1785474598.4708273, + "pipeline": "creator-ci", "deployments": [], "flows": [ { - "flow_name": "exercises-start-points-ci", + "flow_name": "creator-ci", "deployments": null }, { @@ -337,41 +333,41 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", + "code_diff": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/exercises-start-points-ci/fingerprint/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", - "html": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/creator-ci/fingerprint/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/5137", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5137" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5136, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "sha256": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "description": "1 instance changed", - "reported_at": 1785386578.4141178, - "pipeline": "saver-ci", + "snapshot_index": 5140, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:2779354@sha256:af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "sha256": "af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "description": "3 instances changed", + "reported_at": 1785474598.4708273, + "pipeline": "web-ci", "deployments": [], "flows": [ { - "flow_name": "saver-ci", + "flow_name": "web-ci", "deployments": null }, { @@ -389,31 +385,31 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "changed", - "code_diff": "https://github.com/cyber-dojo/saver/compare/f4bb3412725258648a7cf5ce1a776609b4dade72...c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "type": "updated-provenance", + "code_diff": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/saver-ci/fingerprint/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1fb48da0-c9b7-4627-8597-827ecccf" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", + "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5136", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5136" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5136, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "sha256": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "snapshot_index": 5140, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:6a7f7be@sha256:b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "sha256": "b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", "description": "1 instance changed", - "reported_at": 1785386578.4141178, - "pipeline": "custom-start-points-ci", + "reported_at": 1785474598.4708273, + "pipeline": "languages-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "custom-start-points-ci", + "flow_name": "languages-start-points-ci", "deployments": null }, { @@ -421,41 +417,41 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "code_diff": "https://github.com/cyber-dojo/languages-start-points/compare/c6db342472238a7852b6ff31b04f9a6a6099f5cf...6a7f7be81022f7ed3fa8383f016b55af86e2af23", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/custom-start-points-ci/fingerprint/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "html": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/languages-start-points-ci/fingerprint/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b", + "html": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/b1ee961719fe5dabc18f85450c26719c67a4f9ac3959ba836465ceb14bc67e7b?artifact_id=796c3a9f-ee70-45ca-8a69-4be16335" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5136", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5136" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5136, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "sha256": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "snapshot_index": 5140, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/nginx:a2e4638@sha256:c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053", + "sha256": "c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053", "description": "1 instance changed", - "reported_at": 1785386578.4141178, - "pipeline": "creator-ci", + "reported_at": 1785474598.4708273, + "pipeline": "nginx-ci", "deployments": [], "flows": [ { - "flow_name": "creator-ci", + "flow_name": "nginx-ci", "deployments": null }, { @@ -463,41 +459,41 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", + "code_diff": "https://github.com/cyber-dojo/nginx/compare/7ba8029e0cb5d4c8fa51360f59b5cb8714a60d47...a2e4638aaa102446b8a6d1d519c5bc007e24f087", "_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/nginx-ci/fingerprint/c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053", + "html": "https://app.kosli.com/cyber-dojo/flows/nginx-ci/artifacts/c4b92203ca7a794dc2a1e30b3f4f611e6ce22d60dfdfb7684e2c0e276cf36053?artifact_id=c8c04d1b-0457-497c-a969-4d9c0b72" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5136", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5136" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5136, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:2779354@sha256:af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "sha256": "af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "description": "3 instances changed", - "reported_at": 1785386578.4141178, - "pipeline": "web-ci", + "snapshot_index": 5140, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:1b7ea87@sha256:c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "sha256": "c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "description": "1 instance changed", + "reported_at": 1785474598.4708273, + "pipeline": "differ-ci", "deployments": [], "flows": [ { - "flow_name": "web-ci", + "flow_name": "differ-ci", "deployments": null }, { @@ -515,26 +511,26 @@ kosli log environment aws-prod --output=json ], "artifact_compliance": true, "snapshot_compliance": true, - "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/web/compare/aaf06aec0e096d2de9c58152d1ee8d75c8f2a31f...2779354a4fda0eeb90fd43f32211836d99f6bde1", + "type": "changed", + "code_diff": "https://github.com/cyber-dojo/differ/compare/335ddfa139708c37908dd594a0502bc6d88f8615...1b7ea87a174a1a290600b469dc1029ec4c974320", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/web-ci/fingerprint/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e", - "html": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/af5870236f643273d1f26a7f842fd2b616b0f766cc2ac177c6d8f9882b90851e?artifact_id=dc864446-cc9f-43e9-bf70-db7dc03b" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/differ-ci/fingerprint/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12", + "html": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/c6c87ec582111b0e0da745ca18867d57fd042c4ce961c8494e4d6a89b4543d12?artifact_id=53b144c7-33a3-4d8a-b416-37aea745" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5136", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5136" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5136, + "snapshot_index": 5140, "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:0fb0be4@sha256:c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", "sha256": "c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98", "description": "1 instance changed", - "reported_at": 1785386578.4141178, + "reported_at": 1785474598.4708273, "pipeline": "dashboard-ci", "deployments": [], "flows": [ @@ -547,11 +543,11 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "flow_name": "snyk-aws-beta-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null } ], @@ -565,23 +561,23 @@ kosli log environment aws-prod --output=json "html": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/c7481eac72e01e25aa4f1dda5e8fa1f8c89215d32c32891762e3fc0b99fbfe98?artifact_id=e55cba1f-ce06-49ff-9701-62eb823d" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5136", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5136" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5135, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:c29db2c@sha256:680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "sha256": "680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", + "snapshot_index": 5140, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/exercises-start-points:258b6d0@sha256:c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "sha256": "c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", "description": "1 instance changed", - "reported_at": 1785386518.396874, - "pipeline": "saver-ci", + "reported_at": 1785474598.4708273, + "pipeline": "exercises-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "saver-ci", + "flow_name": "exercises-start-points-ci", "deployments": null }, { @@ -600,30 +596,30 @@ kosli log environment aws-prod --output=json "artifact_compliance": true, "snapshot_compliance": true, "type": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/saver/compare/f4bb3412725258648a7cf5ce1a776609b4dade72...c29db2ce6d16a9ace09a8548b0cc39fd608abd2e", + "code_diff": "https://github.com/cyber-dojo/exercises-start-points/compare/804f248d832dc34e564507b009c246dfb4f0c657...258b6d07d2b28ad5cb2ce6d29934997f72380f1a", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/saver-ci/fingerprint/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4", - "html": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/680e9bb851165e8a6e3bc52c1be106286fa910b57c17d844ee052fd3e104e9b4?artifact_id=1fb48da0-c9b7-4627-8597-827ecccf" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/exercises-start-points-ci/fingerprint/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea", + "html": "https://app.kosli.com/cyber-dojo/flows/exercises-start-points-ci/artifacts/c7b7fd69d904329f9264e111bd3dc63cf98724cce567bae719e79a171e6925ea?artifact_id=ffb671be-6388-4f6a-ae64-8ba95d82" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5135", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5135" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5140", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5140" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5135, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "sha256": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "snapshot_index": 5139, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/spooler:c81791f@sha256:6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "sha256": "6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", "description": "1 instance changed", - "reported_at": 1785386518.396874, - "pipeline": "custom-start-points-ci", + "reported_at": 1785474478.4712877, + "pipeline": "spooler-ci", "deployments": [], "flows": [ { - "flow_name": "custom-start-points-ci", + "flow_name": "spooler-ci", "deployments": null }, { @@ -631,41 +627,41 @@ kosli log environment aws-prod --output=json "deployments": null }, { - "flow_name": "snyk-aws-beta-per-artifact", + "flow_name": "snyk-aws-prod-per-artifact", "deployments": null }, { - "flow_name": "snyk-aws-prod-per-artifact", + "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/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", + "type": "changed", + "code_diff": "https://github.com/cyber-dojo/spooler/compare/e4d9d0868e299522b207696e19c07966a09bf08a...c81791fd10558a59f83876137fb021abcd89f262", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/custom-start-points-ci/fingerprint/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", - "html": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77" + "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/spooler-ci/fingerprint/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac", + "html": "https://app.kosli.com/cyber-dojo/flows/spooler-ci/artifacts/6ca8f8d96e1fe8c360fce64b81c330c4ac05d3f128461be4034d36b37147eeac?artifact_id=28274720-dc6e-4b52-b48e-4418ecaa" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5135", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5135" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5139", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5139" } } }, { "environment_name": "aws-prod", - "snapshot_index": 5135, - "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/creator:76672a8@sha256:aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", - "sha256": "aaf68b01cfe75f9012155d59cc7421dac140457ea7f5eb1e508e12b7f1e58aa6", + "snapshot_index": 5139, + "artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:790d86b@sha256:8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "sha256": "8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", "description": "1 instance changed", - "reported_at": 1785386518.396874, - "pipeline": "creator-ci", + "reported_at": 1785474478.4712877, + "pipeline": "custom-start-points-ci", "deployments": [], "flows": [ { - "flow_name": "creator-ci", + "flow_name": "custom-start-points-ci", "deployments": null }, { @@ -673,26 +669,26 @@ 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": "updated-provenance", - "code_diff": "https://github.com/cyber-dojo/creator/compare/7e00b70f8911edf1c480ba9a8b9c2a280260cb08...76672a8b247049c3ce8c3140852e17be8f47d995", + "type": "changed", + "code_diff": "https://github.com/cyber-dojo/custom-start-points/compare/d37aace7598ee943ba0bd5e51f224335cbdf0a3e...790d86b66f4d86ab47f5c521daf5039dc8aeef4d", "_links": { "artifact": { - "self": "https://app.kosli.com/api/v2/artifacts/cyber-dojo/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/custom-start-points-ci/fingerprint/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81", + "html": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/8e965dda26af2d2e68032c25d68e792c85e0c7bd9814862de231bc4c6e935b81?artifact_id=653e13a5-2f2a-4a23-be4e-1693fc77" }, "snapshot": { - "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5135", - "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5135" + "self": "https://app.kosli.com/api/v2/snapshots/cyber-dojo/aws-prod/5139", + "html": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/5139" } } } diff --git a/client_reference/kosli_report_artifact.md b/client_reference/kosli_report_artifact.md index 0a847ce..6e0dff5 100644 --- a/client_reference/kosli_report_artifact.md +++ b/client_reference/kosli_report_artifact.md @@ -59,6 +59,7 @@ is set), registry credentials are resolved as follows: | `-h`, `--help` | help for artifact | | `-n`, `--name` string | [optional] Artifact display name, if different from file, image or directory name. | | `--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-provider` string | [deprecated] The docker registry provider or url. Only required if you want to read docker image SHA256 digest from a remote docker registry. (DEPRECATED: no longer used) | | `--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 ".") | diff --git a/client_reference/kosli_snapshot_azure.md b/client_reference/kosli_snapshot_azure.md index d48483c..53b0697 100644 --- a/client_reference/kosli_snapshot_azure.md +++ b/client_reference/kosli_snapshot_azure.md @@ -49,8 +49,10 @@ The service principal needs to have the following permissions: | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_cloud-run.md b/client_reference/kosli_snapshot_cloud-run.md index 18bad1f..e41899c 100644 --- a/client_reference/kosli_snapshot_cloud-run.md +++ b/client_reference/kosli_snapshot_cloud-run.md @@ -74,8 +74,10 @@ reverse-lookup. Only supported for Artifact Registry hosts. | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_docker.md b/client_reference/kosli_snapshot_docker.md index b27f03a..5443f9d 100644 --- a/client_reference/kosli_snapshot_docker.md +++ b/client_reference/kosli_snapshot_docker.md @@ -29,8 +29,10 @@ been pushed to or pulled from a registry will be ignored. | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_ecs.md b/client_reference/kosli_snapshot_ecs.md index 5b0d779..8e3cfba 100644 --- a/client_reference/kosli_snapshot_ecs.md +++ b/client_reference/kosli_snapshot_ecs.md @@ -35,6 +35,7 @@ More details can be found here: https://aws.github.io/aws-sdk-go-v2/docs/configu | `--aws-key-id` string | The AWS access key ID. | | `--aws-region` string | The AWS region. | | `--aws-secret-key` string | The AWS secret access key. | +| `-C`, `--cluster` strings | The name of the ECS cluster. (DEPRECATED: use `--clusters` instead) | | `--clusters` strings | [optional] The comma-separated list of ECS cluster names to snapshot. Can't be used together with `--exclude` or `--exclude-regex`. | | `--clusters-regex` strings | [optional] The comma-separated list of ECS cluster name regex patterns to snapshot. Can't be used together with `--exclude` or `--exclude-regex`. | | `-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. | @@ -43,6 +44,7 @@ More details can be found here: https://aws.github.io/aws-sdk-go-v2/docs/configu | `--exclude-services` strings | [optional] The comma-separated list of ECS service names to exclude. Can't be used together with `--services` or `--services-regex`. | | `--exclude-services-regex` strings | [optional] The comma-separated list of ECS service name regex patterns to exclude. Can't be used together with `--services` or `--services-regex`. | | `-h`, `--help` | help for ecs | +| `-s`, `--service-name` string | [deprecated] The name of the ECS service. Use `--services` instead. (DEPRECATED: it will be removed in a future release) | | `--services` strings | [optional] The comma-separated list of ECS service names to snapshot. Can't be used together with `--exclude-services` or `--exclude-services-regex`. | | `--services-regex` strings | [optional] The comma-separated list of ECS service name regex patterns to snapshot. Can't be used together with `--exclude-services` or `--exclude-services-regex`. | @@ -55,8 +57,10 @@ More details can be found here: https://aws.github.io/aws-sdk-go-v2/docs/configu | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_k8s.md b/client_reference/kosli_snapshot_k8s.md index a84fc36..7ffc059 100644 --- a/client_reference/kosli_snapshot_k8s.md +++ b/client_reference/kosli_snapshot_k8s.md @@ -34,8 +34,10 @@ to include or exclude namespaces. | `-A`, `--auto-environment` | [optional] Create the environment (with the type inferred from the snapshot subcommand) if it does not already exist, before reporting the snapshot. | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_lambda.md b/client_reference/kosli_snapshot_lambda.md index 9e1c52e..dbeb66c 100644 --- a/client_reference/kosli_snapshot_lambda.md +++ b/client_reference/kosli_snapshot_lambda.md @@ -30,8 +30,10 @@ More details can be found here: https://aws.github.io/aws-sdk-go-v2/docs/configu | `-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. | | `--exclude` strings | [optional] The comma-separated list of AWS Lambda function names to be excluded. Cannot be used together with `--function-names` | | `--exclude-regex` strings | [optional] The comma-separated list of name regex patterns for AWS Lambda functions to be excluded. Cannot be used together with `--function-names`. Allowed regex patterns are described in [RE2 syntax](https://github.com/google/re2/wiki/Syntax) | +| `--function-name` strings | [optional] The name of the AWS Lambda function. (DEPRECATED: use `--function-names` instead) | | `--function-names` strings | [optional] The comma-separated list of AWS Lambda function names to be reported. Cannot be used together with `--exclude` or `--exclude-regex`. | | `--function-names-regex` strings | [optional] The comma-separated list of AWS Lambda function names regex patterns to be reported. Cannot be used together with `--exclude` or `--exclude-regex`. | +| `--function-version` string | [optional] The version of the AWS Lambda function. (DEPRECATED: `--function-version` is no longer supported. It will be removed in a future release.) | | `-h`, `--help` | help for lambda | @@ -43,8 +45,10 @@ More details can be found here: https://aws.github.io/aws-sdk-go-v2/docs/configu | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_path.md b/client_reference/kosli_snapshot_path.md index 83456d5..104b659 100644 --- a/client_reference/kosli_snapshot_path.md +++ b/client_reference/kosli_snapshot_path.md @@ -38,8 +38,10 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_paths.md b/client_reference/kosli_snapshot_paths.md index 0d7e418..88fcee5 100644 --- a/client_reference/kosli_snapshot_paths.md +++ b/client_reference/kosli_snapshot_paths.md @@ -51,8 +51,10 @@ artifacts: | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_s3.md b/client_reference/kosli_snapshot_s3.md index 5edc4f7..4e0ab27 100644 --- a/client_reference/kosli_snapshot_s3.md +++ b/client_reference/kosli_snapshot_s3.md @@ -49,8 +49,10 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/kosli_snapshot_server.md b/client_reference/kosli_snapshot_server.md index 030282b..5cc2fe7 100644 --- a/client_reference/kosli_snapshot_server.md +++ b/client_reference/kosli_snapshot_server.md @@ -49,6 +49,7 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, | Flag | 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`, `--e` strings | [optional] The comma separated list of directories and files to exclude from fingerprinting. Can take glob patterns. (DEPRECATED: use `-x` instead) | | `-x`, `--exclude` strings | [optional] The comma separated list of directories and files to exclude from fingerprinting. Can take glob patterns. | | `-h`, `--help` | help for server | | `-p`, `--paths` strings | The comma separated list of absolute or relative paths of artifact directories or files. Can take glob patterns, but be aware that each matching path will be reported as an artifact. | @@ -62,8 +63,10 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file, | `-c`, `--config-file` string | [optional] The Kosli config file path. (default "kosli") | | `--debug` | [optional] Print debug logs to stdout. | | `--environment-description` string | [optional] The environment description. | +| `--exclude-scaling` | [optional] Exclude scaling events for snapshots. Snapshots with scaling changes will not result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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` | +| `--include-scaling` | [optional] Include scaling events for snapshots. Snapshots with scaling changes will result in new environment records. (DEPRECATED: this flag is deprecated and will be removed in a future version. Scaling events do not trigger new snapshots.) | | `-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. | diff --git a/client_reference/overview.md b/client_reference/overview.md index 17e8d86..734124d 100644 --- a/client_reference/overview.md +++ b/client_reference/overview.md @@ -4,7 +4,7 @@ description: "Reference documentation for the Kosli CLI." --- - This reference was generated from Kosli CLI **v2.36.2**. + This reference was generated from Kosli CLI **v2.36.3**. The Kosli CLI allows you to interact with Kosli from your terminal and CI/CD pipelines.