L*&;KVV@C1#C#PO?p3wH4)B=NA%^(k_ywmY9r(TtH{ox3
zhZ6WNz!4|`V$u>h@S$8Fw`!>X2%nI=6N>>*^R2{m`*E;Vu)wGA*R$Bqb?}DxAHr{2
zLj~K^6dRC4vDALpmc=vs2T4oyK%B6ZXxk?G$+1F{F%3=5Dpg|w=T`Z+}Xy^uqL$AmlumnDax()U<=X&VfT4$*YPwpCUGnwy~w
zHa!U;9c0_U{@rfBIF8GSssM1(23YgXN-+R&`b~kQ8g{Z@r!&Dx;L2*)9^_~
z)jy-YEL6aP5E&1C8(coWGMaA)W-pfL25m=wf$lG{yPuas>J5+Q3iL-SgIfR9LdVro
z3-@;?{%}I;Jhs-DZ#k`bcCNF#wA}~(3DR+gitJ4d{*Ih09+`Z8WKz3&BY)(k=DAs7
z{EtpNJfSspKWWS}y{kRXnNu2d${;~Iky-BAJ}e<@frYZG0=u>fq;PHVR@+$08e%nI
ztd)`lyArK~3phEDGzMD*}eQUX(EAAzE0;iy;dqMDmoC{X%KvEpla5!Fm^1
zyeOq&tb+pGn+mK$OL7%>(lI2Bu98`8W89js4Tsf%*G0Kz_NeK|yU?Uf=e0FI(0y~dG%{y3VkVPX6ZPGf^=LwE#HGK#HGr=LiMwgB*_hj
zlce5w2(so+1p6b=_9L6fh0b2AwXGRn$
zQC4mXbVuOPaOV8y|Ihz_|Ks&%*pebp8m;
zFE{6p()ovB{*iEgE^fw*v53n!P)$&(NuWC0q*~+hLP)iN%VC)Rm(BTWT#mMInToh@
zz$Ht$&h=JP3+Go3VGtl@cso^wP4
z=US-FQ@vf-Vn>APwT?Tw*px8zolAh~*WnrYBUG0=QQi8c1JxTL)doEfZU3w}f6e2r
zg!8E$u6E>7Xi}}oW<*p(wrd@Et?g)y*PAU=Z$-SWH}P`=B>d|pubb3Q-v&Lr(?a!=
zP7)gLHmO1h-vg>!EmVb$yuNNyg}iP96$+_3?u`D;5eBQ9X2Q?Y8lVU04AHhR5_
zVNRneVynn3V%8~pY|;Gyb9UMC+1aw~IxhCui7RhhdvlVt%CobmWc%54y72lNr!Snn
zaK^aC&Z3IXp1O3Q`I@bk*$Vc!Qy17-Ttzl4pJmS=Ylej!sf;v#4eR_ehvkS*Ed1*Rp0X
z2rxI}!p>Gz!y*r}e$_1&*@}mKkcUN8_WYTXr;nvswlZIxDVIdnw>-B}^>cLj0#SH@
zD7+9dDuj&uY-K)u3ij!OF+vyg;AuFEn1eMjF0nJPTaIJr5Y;(L7b52H
zFjx)D4l1ct$a1hp1bAuJ%(e3;L(NcAm1?sl_CWYD-TxHp)k>X|;9&osu-I}Hs>O&)TzvuP{7
zT0X&la4zymJUtCJ_n7O7}E`zc_L{NF09(Qy7a3t5*VUMv3BVxETS(+-p(Y6;SE=ONt&0
zF=v769BjyoU5~-H6vI^FH{xRaL*`!hLFOWqyS>Z-=HkxqzY!Z{ARs0{$fDa~0S0TKFMD}1?h#QN-EI}n`jcH=l6>m|m3lpJ=Mza;mi0gi
zrjY?(rrH6>c?0ldH<>a8!+*j4{&V-pSGy;^*gf%2yI=UTzWY7@JiPP%tINaBKREhj
z-~Ojv%=TR{Jb(0SpD_F=%g5S~Ml1--5>L;qYQaKFH*+w^wu#E%>(jHNd2ZswL
zLSU$;Uh=L$n0UkRjsVEt2LtFRv-839Qs%%zZz(hKNL|Vt{p9RYMhp_7M~*RV8X;<;
z8aY5o-;KdPdfkXgk&hZNZJK&jynbzSuUg#$0+%CcBuo(#ZWd=*x9Ybl1{|N(H){2XJH#!^bB(CL7)H;Kn~@4m~oy$czVx@r~Of{zbR<
z4r~lUOAI!1lVR*PNFdoPh^#Yzo53sb>u{uNg+K)kckryc^;sWdB(HZFJ?oyOU|#RK
zXK9$1X@4f9Mv0_-zXwVCJ4ib4!z48Z!3l=yQ!P%gq3oamV$BV*jpVdjovE3P1gUKr
z$uL2Fb6}=gt@y`sx$tckD00?3q(>;U?v!(l1gU|(N#@LA*~~SPWI?yuh~*lo)w1ZD
z_~@lZf+SYTqKM44MdADUMZZbqxNt#l2Y`h-+hl@9C>op^vH3>Kq~T<2Y&Av=MkNT5
zzEJau9?4LX@bUi+28iQ5z4vea>CgV9Z`XslrM`oY;!Ay_kIpXj9lal0?(4rl^YKNv
z*_L}8dp!2*-cNq|+1SFi1?@L`7y1{kF1{aJ{mJKlyjTw2D+ISuV9qSvc7wv5VDN5`
zy1V=x7oJ$iFWmgiiwhiC)(Eb>w{-PZaHS9wU|}n;?<|>j15^wKXM@!2Z!`TH9f-td
z>OjAu8~c_n(-twQ%d|UD7eKDfiHQElH4VJ>F-BsPF}eY&$#%yude+l{qov^4I;Rqn
z0LgTn>jcR#E@b{jFq0voa4#h)#d=-WIxiQfGpaasdHwKHW!`e`UH7Ym-8_9(VnfMkA5Cv1i57ed9-iNO)r4Byo
zSxQaZJGq?dy+84B25vHa_iy~gu|Gfd+re$i{nF#Bk3abJ+mA1P_Tge|as2c2!XE|K
z00%g5K3KBn0_(#dGan@8LmYrDnpYDCPbkl3AeFy&AO!?~G3|0r5cEg)>wkI|P
zu01p;{t&JNFYCGXK8vf71~g^rXIjwYp*g51OI4_L$SJ6KKw1q$tm8u250x*;^3!l|
zDbWJdt!BOFKz|-7Y3kf6vS77r81ZU8_M&yyqs-e&2uYUqNUHZn$S?{+y$1pqERowJ
zex<`OS@36&cLe4~@EVKCtv(+k13ySun;@z~;2
zaQ#Mb^X=drd+8<)ZaBf>(;awcw&rd00VwgK`1rqoVGGc;=FB|{eTyd-QE=s*
z&u144!MnGDf)(7dgFzgm@V7+X#KN(KDYC}Zz<77*%6p4{65P5SAROF|5ZnY|R1JfO
z6o4TJJu30H%ZfA)wq-`6Eh_@tx&%^QwneA*!csd=EAb?nf_gTx{pt~y#2Qi{g$ECJ
zwo)XAcJh>DsPO3oop6*L=PY-eefeej3fdp(8_*!3hvlg#W>uqzMUKmGJb@;VSDvNs
z{1UXXX3EuY+3?^T(w{{|AF~rUJDp`|s)P_o8cA^WueuJhs?fihDZ>=nj)H{&iXN`{
zq^ZWiYiKw5+-eN<(`Kz2&2K$Ygk;cibD%DS!)GWk=^e4qSs~&&xC%`toAq%8k@igy
zdNMTRQdHNwfGSM(BxQ$bI6RVu1z&=k)9IPCiP%F#Z3Wx)uvIP2L+8nZUQDG7O};|4
zT%dV`%E!fr%F@6{&_DV}3^L=NNRNB|=H<_J
zEggO3i_9xQ;+2i{7eO5jcR%WhHP;e0)(Y$v^pFl`OTE6Pz0D4zR6+DGN-C4v@acFM
zRhBX@d;)_IB!qCY%>yTpG&f74%Em?zM7&sCT8H{b%FbP#=w+5l{b`IwD4%c~i+T;@
zfEi8lNbd;4$M2`yS9>u*g54-7m?Z4HyaYGvJ1_0cgzfNi;2oI%VeDS~Qg<2->ZF^}
z!(2*69hDctjtaCrNavU6ka*m*>sO)O7B*j3_i;H?KY>{5HhQ3wQUH^AFT#sEY2pifCzhS>=%?IJ_h)CNC&h&;?jt
zmU-_5m|kb|qNb?4XmOgYIh>?g4u^OVWL1zT3Ytli9Q6K3Tc+&Q_mIuO(XnN7v&b!x
z-83c?*|7!FL4u@evM6CBnU-u>j>tQT=~xOvrV5;`dOBJTqEBN2!H!MYRBeHmMGFh2
z;HbPJnU17@N)$&G9NiIhvCd*alw?~mIYAJ3PRdJ&(@ita2?{bbEGYGDZ5H%P^LOjp
z$;gpH62t`MlNel2hXFQ}S`tN7%<}?50)m#dD)54e;TG{Sk8F%|$2R%A3j8g}&Z~|o
zalC8`oTTXzXIe<*93hWokfF|sShs8$V@`5xkpn|IoQY(eQ*24h+t{k_4QQV`}*o|hC|vk^dt$FR7JO+i&1i^qDsH>3aqt}5LG
zH-(NjX?WFp!(CRngphS5|f?`U})V+A8b
z@AHDJo4l%Oj*NNBaa6=Rs4*dFrfu4y$;-Me$zT|)AuI!I6peS_rKJdb9@*NetPYfe
z*sFL@7}onKKzs|8O7OHku~D$qj9nlz3j{!+e7a>xmd^9ombJVlO1hXwx~wZm(oLBc
zMN@Sgloy<4VDX_OT`K?@$K%gxbyjl_a
zS%0Q6kHYTvG
zX%N0l1%q;Q@ETi_U{i{2>VVk1u7D2JybYcM7}a@25jgNYo0D`&b=C%#7O-G(im0pLkpjdwtSS&Q
zR9kmUR6p3ZZlzW%!Vh9K&<7k=NnZ}!UUPI1!{SWcmN`iQf7UEp;lw=ny`yij1O&@E
z3n2{zk{wR8U{8{+KwQ9ig;N}au$~v!?anWkkk{z7kw0UWk!M4YR6z5BDMKRAG=M$P
zjS6T-$hHx$VG%jVw|+-WLT7L`zO-go`51w>0e_b@d#fE@ydWFZS8
zKbB2fMY58&HAR+HY=gc8kXEqsbrzO(ct8VZLh$7zh_sxpA&tWj=<^`bDv~2mO=F1N
zt_7YBi_4H<6p`0SvJzFuIi?M>HQHyAVmp&Np=f^=OZiOp0^;NU>AFl8`21ZZSg
zdArW4CU#5}S)6S{)|0TNb4avRPL?$cx|A;z>Fk8+fuO8LP*h45#3BS2UcAJ=qnHiDc3t
zGK{XIKkONZuM9BV`<7Ef%YDPkL%V|A((=%rVBfjrq20?n_5}ydFYnm%@YG6o*WTfk
zo}QfpD??2G4w(2bLuc#__McncaX1(|A5Q5`?iyIxKD0f(GQ#w33)g(uOPAEPT(WPA
zC6A0ANUjW0p|8i7?%gd?bHL)^r8W+){(ljAPjcl(j7ohw&U7DckviW&F`dMYhl+V<
zfT|yv>owgqJeFKRamwLrSF2tgroJVE$e5cj*us>ZB#unE$%02lK_}hd@I?e4>}U&R`3beD?)u06Eh`CBBsUgOT|46qWeRUZ#6*6L$}PEF+g?i6LWR?I|lg@j*L_PC2;~i>-FiH4H4~LKg4#x9J|FgGyrS
zv_BALw@oXFu3=Erd;N45uR^sl@@z$YKLj04uACa6EM|a3i<|veyZF5zXn*o|E|vPD
IG_4!|4|POaKmY&$
literal 0
HcmV?d00001
diff --git a/scripts/__pycache__/live_docs_queries_data.cpython-314.pyc b/scripts/__pycache__/live_docs_queries_data.cpython-314.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..54bca5323888555fb871def82a136a57af5db0af
GIT binary patch
literal 3570
zcmbtWS#R4$5MIh;>`1=iBX%6yTE~fF*^#Krj-13fkgINvCd^TwO{-EAWiysYb-A)3
zzSKXV4+Yx4kk|ea<{^M#pg@532e3)siUOUbOlc+CY0wbTU}re{&B@(a?C%RBcz$#K
zG5+pD=y%2h&&dAb{jadtK?3WCz5h(IOf7|?E|2k3Dn3^bzj0_{`!fet8x
zKu;(`K!=qPprgu3pkvB7&{N6;(9_B!&?#jaXjH*KXOuGqfeOkjSUL-K&ViLVuyGzN
z%maQ5&=&xE5il<(qjH#rl=v8;T}lF|sK`JiB{_>?DK#u0bW5cwrfQ+AI74RmUTM@cEbnl`mP4BHYLm#zzO0>gq?Gn
zzH4Q}rdT((3_z~vCbe-qZq;bDMps|jmg$V~?_{lB&|fX0wqteMj#r6Q
z?0{)A!NJIZet=iD)_L8d@XjCMRufOww^%gJA{VA@LKQbGh%vC*;pJ3Q<4_l4t&ju7
zqmXc*U>}Ag$5T$W0ai3hrIxY}SJ0tJkMM8>;*PUD9PBk_t7_OAsa3X%ZJ!H7Xau<@1HX)()6{GsmrG?XW^%>loSsW(3u;jtwhN3@ouOJdgzb0Ge)Uw)I1hGG~)Z_rCYI8PN4l
zjiV!ln;&*Y=BoF}DRdV2bhSDuPU}^;CEAbaS*>PMs}ko*+|c8a=B#k3>cGP`^j%qx
z`(@jzm054{Rmgq>zTAo7%y1D@t+JsR2OJ*`0J3Ksp
z2vD=1xoyrE=M;a7IHN7AoIDVBTujag2h%+4ouL*+APh8FQ?^ceXOP?PAD&KsYcCTx
z11;V^n*vYRmCMyxgSn>pgkaT$koca>Ydh#UdeMBf0xKAV1ZPdrX^oipDXHn$C3P`P#55D!+;6_
zzKsn1RCyhlb;a5DAV7yFW75}crQ$idFu}ANkDrwL`$=J=)PD?5{^-c`*1>H!*bn3^
zL7)VPNI+~q3#1#Cd%X;|8At>~GSg@T@<(L+m$5gI8CRSk$3gtR1G&Zpa<6mx>~Q^%
zKoc=xuO}E2*}CC$rN~FpqgIVPn`X%XxSHjo82<6IH<2kWlz5|#je|10F{Hj>nHrD7FpW&J7{g7++Y_G6%4mmmm#h9p7s`iFW$yW*l7zvFem
z@~xP5v(G&VmfkTWW!&sHUN>WUkd$^aig%nbVI(Ep)Dthlm|i4ZcCT!EeT?Zx(m8i7
z=M6As&{uoponXw6kM`6XX3PkZz7jlyUI==~8)cG{NcuJelJ7#Q=#4SSIFc^8m%sK-
zF=hfugl(XL+U1>Ql1U_`-1L{;6l125bX{<7Y1)B+>L&|E5iEOu6WXoUfUH%e95RArJxDcaUHykoCxjo
Uy_*aPXWxZG!kNE-O#3PS7vE@Wz5oCK
literal 0
HcmV?d00001
From b70bf65d37bac4ec6eacd5be58f1bb48bdd2aea8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Gr=C3=B8ndahl?=
Date: Fri, 8 May 2026 14:28:06 +0200
Subject: [PATCH 2/4] docs: update CLI reference for v2.17.7
---
client_reference/kosli.md | 2 +-
client_reference/kosli_allow_artifact.md | 4 +-
.../kosli_archive_attestation-type.md | 6 +-
client_reference/kosli_archive_environment.md | 6 +-
client_reference/kosli_archive_flow.md | 6 +-
client_reference/kosli_assert_approval.md | 14 +-
client_reference/kosli_assert_artifact.md | 28 +-
.../kosli_assert_pullrequest_azure.md | 16 +-
.../kosli_assert_pullrequest_bitbucket.md | 14 +-
.../kosli_assert_pullrequest_github.md | 12 +-
.../kosli_assert_pullrequest_gitlab.md | 14 +-
client_reference/kosli_assert_snapshot.md | 8 +-
client_reference/kosli_assert_status.md | 2 +-
client_reference/kosli_attach-policy.md | 12 +-
client_reference/kosli_attest_artifact.md | 60 +-
client_reference/kosli_attest_custom.md | 66 +-
client_reference/kosli_attest_generic.md | 52 +-
client_reference/kosli_attest_jira.md | 126 +-
client_reference/kosli_attest_junit.md | 56 +-
.../kosli_attest_pullrequest_azure.md | 112 +-
.../kosli_attest_pullrequest_bitbucket.md | 98 +-
.../kosli_attest_pullrequest_github.md | 96 +-
.../kosli_attest_pullrequest_gitlab.md | 96 +-
client_reference/kosli_attest_snyk.md | 66 +-
client_reference/kosli_attest_sonar.md | 84 +-
client_reference/kosli_begin_trail.md | 22 +-
client_reference/kosli_completion.md | 12 +-
client_reference/kosli_config.md | 20 +-
.../kosli_create_attestation-type.md | 22 +-
client_reference/kosli_create_environment.md | 12 +-
client_reference/kosli_create_flow.md | 20 +-
client_reference/kosli_create_policy.md | 18 +-
client_reference/kosli_detach-policy.md | 10 +-
client_reference/kosli_diff_snapshots.md | 44 +-
client_reference/kosli_disable_beta.md | 2 +-
client_reference/kosli_enable_beta.md | 2 +-
client_reference/kosli_evaluate_input.md | 42 +-
client_reference/kosli_evaluate_trail.md | 42 +-
client_reference/kosli_evaluate_trails.md | 34 +-
client_reference/kosli_fingerprint.md | 10 +-
client_reference/kosli_get_approval.md | 10 +-
client_reference/kosli_get_artifact.md | 14 +-
.../kosli_get_attestation-type.md | 6 +-
client_reference/kosli_get_attestation.md | 18 +-
client_reference/kosli_get_environment.md | 6 +-
client_reference/kosli_get_flow.md | 2 +-
client_reference/kosli_get_policy.md | 2 +-
client_reference/kosli_get_snapshot.md | 2478 ++++++++---------
client_reference/kosli_get_trail.md | 2 +-
client_reference/kosli_join_environment.md | 10 +-
client_reference/kosli_list_approvals.md | 16 +-
client_reference/kosli_list_artifacts.md | 18 +-
.../kosli_list_attestation-types.md | 2 +-
client_reference/kosli_list_environments.md | 10 +-
client_reference/kosli_list_flows.md | 2 +-
client_reference/kosli_list_policies.md | 2 +-
client_reference/kosli_list_snapshots.md | 82 +-
client_reference/kosli_list_trails.md | 26 +-
client_reference/kosli_log_environment.md | 510 ++--
client_reference/kosli_rename_environment.md | 6 +-
client_reference/kosli_rename_flow.md | 6 +-
client_reference/kosli_report_approval.md | 10 +-
client_reference/kosli_report_artifact.md | 30 +-
client_reference/kosli_request_approval.md | 10 +-
client_reference/kosli_search.md | 10 +-
client_reference/kosli_snapshot_azure.md | 60 +-
client_reference/kosli_snapshot_docker.md | 10 +-
client_reference/kosli_snapshot_ecs.md | 36 +-
client_reference/kosli_snapshot_k8s.md | 4 +-
client_reference/kosli_snapshot_lambda.md | 52 +-
client_reference/kosli_snapshot_path.md | 18 +-
client_reference/kosli_snapshot_paths.md | 18 +-
client_reference/kosli_snapshot_s3.md | 44 +-
client_reference/kosli_snapshot_server.md | 22 +-
client_reference/kosli_status.md | 6 +-
client_reference/kosli_tag.md | 28 +-
client_reference/kosli_version.md | 4 +-
77 files changed, 2505 insertions(+), 2453 deletions(-)
diff --git a/client_reference/kosli.md b/client_reference/kosli.md
index 91ff3d1..7206dad 100644
--- a/client_reference/kosli.md
+++ b/client_reference/kosli.md
@@ -24,7 +24,7 @@ Setting the API token to DRY_RUN sets the --dry-run flag.
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -h, --help | help for kosli |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_allow_artifact.md b/client_reference/kosli_allow_artifact.md
index 2a30419..0196d44 100644
--- a/client_reference/kosli_allow_artifact.md
+++ b/client_reference/kosli_allow_artifact.md
@@ -11,7 +11,7 @@ description: "Add an artifact to an environment's allowlist. "
kosli allow artifact [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Add an artifact to an environment's allowlist.
+Add an artifact to an environment's allowlist.
The artifact fingerprint can be provided directly with the `--fingerprint` flag, or
calculated based on `--artifact-type` flag.
@@ -48,7 +48,7 @@ registry without needing a local Docker daemon.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_archive_attestation-type.md b/client_reference/kosli_archive_attestation-type.md
index 23e5e16..72c7e57 100644
--- a/client_reference/kosli_archive_attestation-type.md
+++ b/client_reference/kosli_archive_attestation-type.md
@@ -29,19 +29,19 @@ New custom attestations using this type cannot be made, but existing attestation
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli archive attestation-type yourAttestationTypeName
+kosli archive attestation-type yourAttestationTypeName
```
diff --git a/client_reference/kosli_archive_environment.md b/client_reference/kosli_archive_environment.md
index dc35fd8..84d1bd7 100644
--- a/client_reference/kosli_archive_environment.md
+++ b/client_reference/kosli_archive_environment.md
@@ -29,19 +29,19 @@ The environment will no longer be visible in list of environments, data is still
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli archive environment yourEnvironmentName
+kosli archive environment yourEnvironmentName
```
diff --git a/client_reference/kosli_archive_flow.md b/client_reference/kosli_archive_flow.md
index 46c72a0..0080fa9 100644
--- a/client_reference/kosli_archive_flow.md
+++ b/client_reference/kosli_archive_flow.md
@@ -29,19 +29,19 @@ The flow will no longer be visible in list of flows, data is still stored in the
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli archive flow yourFlowName
+kosli archive flow yourFlowName
```
diff --git a/client_reference/kosli_assert_approval.md b/client_reference/kosli_assert_approval.md
index c18e244..743dccf 100644
--- a/client_reference/kosli_assert_approval.md
+++ b/client_reference/kosli_assert_approval.md
@@ -11,8 +11,8 @@ description: "Assert an artifact in Kosli has been approved for deployment. "
kosli assert approval [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Assert an artifact in Kosli has been approved for deployment.
-Exits with non-zero code if the artifact has not been approved.
+Assert an artifact in Kosli has been approved for deployment.
+Exits with non-zero code if the artifact has not been approved.
The artifact fingerprint can be provided directly with the `--fingerprint` flag, or
calculated based on `--artifact-type` flag.
@@ -48,27 +48,27 @@ registry without needing a local Docker daemon.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli assert approval FILE.tgz
- --artifact-type file
+kosli assert approval FILE.tgz
+ --artifact-type file
```
```shell
-kosli assert approval
+kosli assert approval
--fingerprint yourArtifactFingerprint
```
diff --git a/client_reference/kosli_assert_artifact.md b/client_reference/kosli_assert_artifact.md
index 9b81988..945abf7 100644
--- a/client_reference/kosli_assert_artifact.md
+++ b/client_reference/kosli_assert_artifact.md
@@ -2,7 +2,7 @@
title: "kosli assert artifact"
beta: false
deprecated: false
-description: "Assert the compliance status of an artifact in Kosli.
+description: "Assert the compliance status of an artifact in Kosli.
There are three ways to choose what to assert against:
1. Against an environment. When `--environment` is specified,
@@ -15,7 +15,7 @@ asserts against all poli..."
kosli assert artifact [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Assert the compliance status of an artifact in Kosli.
+Assert the compliance status of an artifact in Kosli.
There are three ways to choose what to assert against:
1. Against an environment. When `--environment` is specified,
@@ -58,7 +58,7 @@ non-zero code if non-compliant status.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -80,38 +80,38 @@ non-zero code if non-compliant status.
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli assert artifact
- --fingerprint 184c799cd551dd1d8d5c5f9a5d593b2e931f5e36122ee5c793c1d08a19839cc0
- --environment prod
+kosli assert artifact
+ --fingerprint 184c799cd551dd1d8d5c5f9a5d593b2e931f5e36122ee5c793c1d08a19839cc0
+ --environment prod
```
```shell
-kosli assert artifact
- --fingerprint 184c799cd551dd1d8d5c5f9a5d593b2e931f5e36122ee5c793c1d08a19839cc0
- --policy has-approval,has-been-integration-tested
+kosli assert artifact
+ --fingerprint 184c799cd551dd1d8d5c5f9a5d593b2e931f5e36122ee5c793c1d08a19839cc0
+ --policy has-approval,has-been-integration-tested
```
```shell
export KOSLI_FLOW=yourFlowName
-kosli assert artifact
- --fingerprint 184c799cd551dd1d8d5c5f9a5d593b2e931f5e36122ee5c793c1d08a19839cc0
+kosli assert artifact
+ --fingerprint 184c799cd551dd1d8d5c5f9a5d593b2e931f5e36122ee5c793c1d08a19839cc0
```
```shell
unset KOSLI_FLOW
-kosli assert artifact library/nginx:1.21
- --artifact-type docker
+kosli assert artifact library/nginx:1.21
+ --artifact-type docker
```
diff --git a/client_reference/kosli_assert_pullrequest_azure.md b/client_reference/kosli_assert_pullrequest_azure.md
index 85dcc1c..fc125d4 100644
--- a/client_reference/kosli_assert_pullrequest_azure.md
+++ b/client_reference/kosli_assert_pullrequest_azure.md
@@ -11,20 +11,20 @@ description: "Assert an Azure DevOps pull request for a git commit exists. "
kosli assert pullrequest azure [flags]
```
-Assert an Azure DevOps pull request for a git commit exists.
-The command exits with non-zero exit code
+Assert an Azure DevOps pull request for a git commit exists.
+The command exits with non-zero exit code
if no pull requests were found for the commit.
## Flags
| Flag | Description |
| :--- | :--- |
-| --azure-org-url string | Azure organization url. E.g. "https://dev.azure.com/myOrg" (defaulted if you are running in Azure Devops pipelines: [docs](/ci-defaults) ). |
+| --azure-org-url string | Azure organization url. E.g. `https://dev.azure.com/myOrg` (defaulted if you are running in Azure Devops pipelines: [docs](/integrations/ci_cd) ). |
| --azure-token string | Azure Personal Access token. |
-| --commit string | Git commit for which to find pull request evidence. (defaulted in some CIs: [docs](/ci-defaults) ). (default "HEAD") |
+| --commit string | Git commit for which to find pull request evidence. (defaulted in some CIs: [docs](/integrations/ci_cd) ). (default "HEAD") |
| -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. |
| -h, --help | help for azure |
-| --project string | Azure project.(defaulted if you are running in Azure Devops pipelines: [docs](/ci-defaults) ). |
-| --repository string | Git repository. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --project string | Azure project.(defaulted if you are running in Azure Devops pipelines: [docs](/integrations/ci_cd) ). |
+| --repository string | Git repository. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
## Flags inherited from parent commands
@@ -34,14 +34,14 @@ if no pull requests were found for the commit.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
kosli assert pullrequest azure \
diff --git a/client_reference/kosli_assert_pullrequest_bitbucket.md b/client_reference/kosli_assert_pullrequest_bitbucket.md
index 17097ac..9954f3f 100644
--- a/client_reference/kosli_assert_pullrequest_bitbucket.md
+++ b/client_reference/kosli_assert_pullrequest_bitbucket.md
@@ -11,21 +11,21 @@ description: "Assert a Bitbucket pull request for a git commit exists. "
kosli assert pullrequest bitbucket [flags]
```
-Assert a Bitbucket pull request for a git commit exists.
+Assert a Bitbucket pull request for a git commit exists.
The command exits with non-zero exit code if no pull requests were found for the commit.
Authentication to Bitbucket can be done with access token (recommended) or app passwords. Credentials need to have read access for both repos and pull requests.
## Flags
| Flag | Description |
| :--- | :--- |
-| --bitbucket-access-token string | Bitbucket repo/project/workspace access token. See https://developer.atlassian.com/cloud/bitbucket/rest/intro/#access-tokens for more details. |
-| --bitbucket-password string | Bitbucket App password. See https://developer.atlassian.com/cloud/bitbucket/rest/intro/#authentication for more details. |
+| --bitbucket-access-token string | Bitbucket repo/project/workspace access token. See [Bitbucket access tokens](https://developer.atlassian.com/cloud/bitbucket/rest/intro/#access-tokens) for more details. |
+| --bitbucket-password string | Bitbucket App password. See [Bitbucket authentication](https://developer.atlassian.com/cloud/bitbucket/rest/intro/#authentication) for more details. |
| --bitbucket-username string | Bitbucket username. Only needed if you use --bitbucket-password |
| --bitbucket-workspace string | Bitbucket workspace ID. |
-| --commit string | Git commit for which to find pull request evidence. (defaulted in some CIs: [docs](/ci-defaults) ). (default "HEAD") |
+| --commit string | Git commit for which to find pull request evidence. (defaulted in some CIs: [docs](/integrations/ci_cd) ). (default "HEAD") |
| -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. |
| -h, --help | help for bitbucket |
-| --repository string | Git repository. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repository string | Git repository. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
## Flags inherited from parent commands
@@ -35,14 +35,14 @@ Authentication to Bitbucket can be done with access token (recommended) or app p
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
kosli assert pullrequest bitbucket \
diff --git a/client_reference/kosli_assert_pullrequest_github.md b/client_reference/kosli_assert_pullrequest_github.md
index 277bc8d..d5ed320 100644
--- a/client_reference/kosli_assert_pullrequest_github.md
+++ b/client_reference/kosli_assert_pullrequest_github.md
@@ -11,20 +11,20 @@ description: "Assert a Github pull request for a git commit exists. "
kosli assert pullrequest github [flags]
```
-Assert a Github pull request for a git commit exists.
+Assert a Github pull request for a git commit exists.
The command exits with non-zero exit code
if no pull requests were found for the commit.
## Flags
| Flag | Description |
| :--- | :--- |
-| --commit string | Git commit for which to find pull request evidence. (defaulted in some CIs: [docs](/ci-defaults) ). (default "HEAD") |
+| --commit string | Git commit for which to find pull request evidence. (defaulted in some CIs: [docs](/integrations/ci_cd) ). (default "HEAD") |
| -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. |
| --github-base-url string | [optional] GitHub base URL (only needed for GitHub Enterprise installations). |
-| --github-org string | Github organization. (defaulted if you are running in GitHub Actions: [docs](/ci-defaults) ). |
+| --github-org string | Github organization. (defaulted if you are running in GitHub Actions: [docs](/integrations/ci_cd) ). |
| --github-token string | Github token. |
| -h, --help | help for github |
-| --repository string | Git repository. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repository string | Git repository. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
## Flags inherited from parent commands
@@ -34,14 +34,14 @@ if no pull requests were found for the commit.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
kosli assert pullrequest github \
diff --git a/client_reference/kosli_assert_pullrequest_gitlab.md b/client_reference/kosli_assert_pullrequest_gitlab.md
index c6b2502..501b654 100644
--- a/client_reference/kosli_assert_pullrequest_gitlab.md
+++ b/client_reference/kosli_assert_pullrequest_gitlab.md
@@ -11,20 +11,20 @@ description: "Assert a Gitlab merge request for a git commit exists. "
kosli assert pullrequest gitlab [flags]
```
-Assert a Gitlab merge request for a git commit exists.
-The command exits with non-zero exit code
+Assert a Gitlab merge request for a git commit exists.
+The command exits with non-zero exit code
if no merge requests were found for the commit.
## Flags
| Flag | Description |
| :--- | :--- |
-| --commit string | Git commit for which to find pull request evidence. (defaulted in some CIs: [docs](/ci-defaults) ). (default "HEAD") |
+| --commit string | Git commit for which to find pull request evidence. (defaulted in some CIs: [docs](/integrations/ci_cd) ). (default "HEAD") |
| -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. |
| --gitlab-base-url string | [optional] Gitlab base URL (only needed for on-prem Gitlab installations). |
-| --gitlab-org string | Gitlab organization. (defaulted if you are running in Gitlab Pipelines: [docs](/ci-defaults) ). |
+| --gitlab-org string | Gitlab organization. (defaulted if you are running in Gitlab Pipelines: [docs](/integrations/ci_cd) ). |
| --gitlab-token string | Gitlab token. |
| -h, --help | help for gitlab |
-| --repository string | Git repository. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repository string | Git repository. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
## Flags inherited from parent commands
@@ -34,14 +34,14 @@ if no merge requests were found for the commit.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
kosli assert mergerequest gitlab \
diff --git a/client_reference/kosli_assert_snapshot.md b/client_reference/kosli_assert_snapshot.md
index 33da781..5867f87 100644
--- a/client_reference/kosli_assert_snapshot.md
+++ b/client_reference/kosli_assert_snapshot.md
@@ -14,13 +14,13 @@ kosli assert snapshot ENVIRONMENT-NAME-OR-EXPRESSION [flags]
Assert the compliance status of an environment in Kosli.
Exits with non-zero code if the environment has a non-compliant status.
The expected argument is an expression to specify the specific environment snapshot to assert.
-It has the format `ENVIRONMENT_NAME`[SEPARATOR][SNAPSHOT_REFERENCE]
+It has the format `ENVIRONMENT_NAME`[SEPARATOR][SNAPSHOT_REFERENCE]
Separators can be:
- '#' to specify a specific snapshot number for the environment that is being asserted.
- '~' to get N-th behind the latest snapshot.
-Examples of valid expressions are:
+Examples of valid expressions are:
- prod (latest snapshot of prod)
- prod#10 (snapshot number 10 of prod)
- prod~2 (third latest snapshot of prod)
@@ -40,14 +40,14 @@ Examples of valid expressions are:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
kosli assert snapshot prod#5 \
diff --git a/client_reference/kosli_assert_status.md b/client_reference/kosli_assert_status.md
index 9124d88..12267c7 100644
--- a/client_reference/kosli_assert_status.md
+++ b/client_reference/kosli_assert_status.md
@@ -27,7 +27,7 @@ Exits with non-zero code if the Kosli server down.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_attach-policy.md b/client_reference/kosli_attach-policy.md
index 44e100c..7317c5b 100644
--- a/client_reference/kosli_attach-policy.md
+++ b/client_reference/kosli_attach-policy.md
@@ -11,7 +11,7 @@ description: "Attach a policy to one or more Kosli environments. "
kosli attach-policy POLICY-NAME [flags]
```
-Attach a policy to one or more Kosli environments.
+Attach a policy to one or more Kosli environments.
## Flags
| Flag | Description |
@@ -28,21 +28,21 @@ Attach a policy to one or more Kosli environments.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attach-policy yourPolicyName
- --environment yourFirstEnvironmentName
- --environment yourSecondEnvironmentName
+kosli attach-policy yourPolicyName
+ --environment yourFirstEnvironmentName
+ --environment yourSecondEnvironmentName
```
diff --git a/client_reference/kosli_attest_artifact.md b/client_reference/kosli_attest_artifact.md
index 7c1fc0a..6aa8dd7 100644
--- a/client_reference/kosli_attest_artifact.md
+++ b/client_reference/kosli_attest_artifact.md
@@ -11,7 +11,7 @@ description: "Attest an artifact creation to a Kosli flow. "
kosli attest artifact {IMAGE-NAME | FILE-PATH | DIR-PATH} [flags]
```
-Attest an artifact creation to a Kosli flow.
+Attest an artifact creation to a Kosli flow.
The artifact fingerprint can be provided directly with the `--fingerprint` flag, or
calculated based on `--artifact-type` flag.
@@ -39,9 +39,9 @@ In other CI systems, set them explicitly to capture repository metadata.
| :--- | :--- |
| --annotate stringToString | [optional] Annotate the attestation with data using key=value. |
| -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). |
-| -b, --build-url string | The url of CI pipeline that built the artifact. (defaulted in some CIs: [docs](/ci-defaults) ). |
-| -g, --commit string | [defaulted] The git commit from which the artifact was created. (defaulted in some CIs: [docs](/ci-defaults), otherwise defaults to HEAD ). (default "HEAD") |
-| -u, --commit-url string | The url for the git commit that created the artifact. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| -b, --build-url string | The url of CI pipeline that built the artifact. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| -g, --commit string | [defaulted] The git commit from which the artifact was created. (defaulted in some CIs: [docs](/integrations/ci_cd), otherwise defaults to HEAD ). (default "HEAD") |
+| -u, --commit-url string | The url for the git commit that created the artifact. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -N, --display-name string | [optional] Artifact display name, if different from file, image or directory name. |
| -D, --dry-run | [optional] Run in dry-run mode. When enabled, no data is sent to Kosli and the CLI exits with 0 exit code regardless of any errors. |
| -x, --exclude strings | [optional] The comma separated list of directories and files to exclude from fingerprinting. Can take glob patterns. Only applicable for --artifact-type dir. |
@@ -54,11 +54,11 @@ In other CI systems, set them explicitly to capture repository metadata.
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -T, --trail string | The Kosli trail name. |
@@ -69,7 +69,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -91,42 +91,42 @@ In other CI systems, set them explicitly to capture repository metadata.
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest artifact FILE.tgz
- --artifact-type file
- --build-url https://exampleci.com
- --commit-url https://github.com/YourOrg/YourProject/commit/yourCommitShaThatThisArtifactWasBuiltFrom
- --commit yourCommitShaThatThisArtifactWasBuiltFrom
- --name yourTemplateArtifactName
+kosli attest artifact FILE.tgz
+ --artifact-type file
+ --build-url https://exampleci.com
+ --commit-url https://github.com/YourOrg/YourProject/commit/yourCommitShaThatThisArtifactWasBuiltFrom
+ --commit yourCommitShaThatThisArtifactWasBuiltFrom
+ --name yourTemplateArtifactName
```
```shell
-kosli attest artifact ANOTHER_FILE.txt
- --build-url https://exampleci.com
- --commit-url https://github.com/YourOrg/YourProject/commit/yourCommitShaThatThisArtifactWasBuiltFrom
- --commit yourCommitShaThatThisArtifactWasBuiltFrom
- --fingerprint yourArtifactFingerprint
- --name yourTemplateArtifactName
+kosli attest artifact ANOTHER_FILE.txt
+ --build-url https://exampleci.com
+ --commit-url https://github.com/YourOrg/YourProject/commit/yourCommitShaThatThisArtifactWasBuiltFrom
+ --commit yourCommitShaThatThisArtifactWasBuiltFrom
+ --fingerprint yourArtifactFingerprint
+ --name yourTemplateArtifactName
```
```shell
-kosli attest artifact ANOTHER_FILE.txt
- --build-url https://exampleci.com
- --commit-url https://github.com/YourOrg/YourProject/commit/yourCommitShaThatThisArtifactWasBuiltFrom
- --commit yourCommitShaThatThisArtifactWasBuiltFrom
- --fingerprint yourArtifactFingerprint
- --external-url label=https://example.com/attachment
- --external-fingerprint label=yourExternalAttachmentFingerprint
- --name yourTemplateArtifactName
+kosli attest artifact ANOTHER_FILE.txt
+ --build-url https://exampleci.com
+ --commit-url https://github.com/YourOrg/YourProject/commit/yourCommitShaThatThisArtifactWasBuiltFrom
+ --commit yourCommitShaThatThisArtifactWasBuiltFrom
+ --fingerprint yourArtifactFingerprint
+ --external-url label=https://example.com/attachment
+ --external-fingerprint label=yourExternalAttachmentFingerprint
+ --name yourTemplateArtifactName
```
diff --git a/client_reference/kosli_attest_custom.md b/client_reference/kosli_attest_custom.md
index c73f5a8..9dc106b 100644
--- a/client_reference/kosli_attest_custom.md
+++ b/client_reference/kosli_attest_custom.md
@@ -11,12 +11,12 @@ description: "Report a custom attestation to an artifact or a trail in a Kosli f
kosli attest custom [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report a custom attestation to an artifact or a trail in a Kosli flow.
+Report a custom attestation to an artifact or a trail in a Kosli flow.
The name of the custom attestation type is specified using the `--type` flag.
The path to the JSON file the custom type will evaluate is specified using the `--attestation-data` flag.
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -36,7 +36,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -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). |
| --attachments strings | [optional] The comma-separated list of paths of attachments for the reported attestation. Attachments can be files or directories. All attachments are compressed and uploaded to Kosli's evidence vault. |
| --attestation-data string | The filepath of a json file containing the custom attestation data. |
-| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --description string | [optional] attestation 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. |
| -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. |
@@ -50,11 +50,11 @@ In other CI systems, set them explicitly to capture repository metadata.
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -T, --trail string | The Kosli trail name. |
| --type string | The name of the custom attestation type. |
| -u, --user-data string | [optional] The path to a JSON file containing additional data you would like to attach to the attestation. |
@@ -67,7 +67,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -84,55 +84,55 @@ In other CI systems, set them explicitly to capture repository metadata.
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest custom yourDockerImageName
- --artifact-type oci
- --type customTypeName
- --name yourAttestationName
- --attestation-data yourJsonFilePath
+kosli attest custom yourDockerImageName
+ --artifact-type oci
+ --type customTypeName
+ --name yourAttestationName
+ --attestation-data yourJsonFilePath
```
```shell
-kosli attest custom
- --fingerprint yourDockerImageFingerprint
- --type customTypeName
- --name yourAttestationName
- --attestation-data yourJsonFilePath
+kosli attest custom
+ --fingerprint yourDockerImageFingerprint
+ --type customTypeName
+ --name yourAttestationName
+ --attestation-data yourJsonFilePath
```
```shell
-kosli attest custom
- --type customTypeName
- --name yourAttestationName
- --attestation-data yourJsonFilePath
+kosli attest custom
+ --type customTypeName
+ --name yourAttestationName
+ --attestation-data yourJsonFilePath
```
```shell
-kosli attest custom
- --type customTypeName
- --name yourTemplateArtifactName.yourAttestationName
- --attestation-data yourJsonFilePath
- --commit yourArtifactGitCommit
+kosli attest custom
+ --type customTypeName
+ --name yourTemplateArtifactName.yourAttestationName
+ --attestation-data yourJsonFilePath
+ --commit yourArtifactGitCommit
```
```shell
-kosli attest custom
- --type customTypeName
- --name yourAttestationName
- --attestation-data yourJsonFilePath
- --attachments yourAttachmentPathName
+kosli attest custom
+ --type customTypeName
+ --name yourAttestationName
+ --attestation-data yourJsonFilePath
+ --attachments yourAttachmentPathName
```
diff --git a/client_reference/kosli_attest_generic.md b/client_reference/kosli_attest_generic.md
index 6a69a9a..dbfaebf 100644
--- a/client_reference/kosli_attest_generic.md
+++ b/client_reference/kosli_attest_generic.md
@@ -11,9 +11,9 @@ description: "Report a generic attestation to an artifact or a trail in a Kosli
kosli attest generic [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report a generic attestation to an artifact or a trail in a Kosli flow.
+Report a generic attestation to an artifact or a trail in a Kosli flow.
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -32,7 +32,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| --annotate stringToString | [optional] Annotate the attestation with data using key=value. |
| -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). |
| --attachments strings | [optional] The comma-separated list of paths of attachments for the reported attestation. Attachments can be files or directories. All attachments are compressed and uploaded to Kosli's evidence vault. |
-| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -C, --compliant | [defaulted] Whether the attestation is compliant or not. A boolean flag [docs](/faq/#boolean-flags) (default true) |
| --description string | [optional] attestation 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. |
@@ -47,11 +47,11 @@ In other CI systems, set them explicitly to capture repository metadata.
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -T, --trail string | The Kosli trail name. |
| -u, --user-data string | [optional] The path to a JSON file containing additional data you would like to attach to the attestation. |
@@ -63,7 +63,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -85,53 +85,53 @@ In other CI systems, set them explicitly to capture repository metadata.
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest generic yourDockerImageName
- --artifact-type docker
- --name yourAttestationName
+kosli attest generic yourDockerImageName
+ --artifact-type docker
+ --name yourAttestationName
```
```shell
-kosli attest generic
- --fingerprint yourDockerImageFingerprint
- --name yourAttestationName
+kosli attest generic
+ --fingerprint yourDockerImageFingerprint
+ --name yourAttestationName
```
```shell
-kosli attest generic
- --name yourAttestationName
+kosli attest generic
+ --name yourAttestationName
```
```shell
-kosli attest generic
- --name yourTemplateArtifactName.yourAttestationName
- --commit yourArtifactGitCommit
+kosli attest generic
+ --name yourTemplateArtifactName.yourAttestationName
+ --commit yourArtifactGitCommit
```
```shell
-kosli attest generic
- --name yourAttestationName
- --attachments yourAttachmentPathName
+kosli attest generic
+ --name yourAttestationName
+ --attachments yourAttachmentPathName
```
```shell
-kosli attest generic
- --name yourAttestationName
- --compliant=false
+kosli attest generic
+ --name yourAttestationName
+ --compliant=false
```
diff --git a/client_reference/kosli_attest_jira.md b/client_reference/kosli_attest_jira.md
index 1043f9e..6f2d990 100644
--- a/client_reference/kosli_attest_jira.md
+++ b/client_reference/kosli_attest_jira.md
@@ -11,9 +11,9 @@ description: "Report a jira attestation to an artifact or a trail in a Kosli flo
kosli attest jira [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report a jira attestation to an artifact or a trail in a Kosli flow.
+Report a jira attestation to an artifact or a trail in a Kosli flow.
Parses the given commit's message, current branch name or the content of the `--jira-secondary-source`
-argument for Jira issue references of the form:
+argument for Jira issue references of the form:
'at least 2 characters long, starting with an uppercase letter project key followed by
dash and one or more digits'.
@@ -24,7 +24,7 @@ If the `--ignore-branch-match` is set, the branch name is not parsed for a match
The found issue references will be checked against Jira to confirm their existence.
The attestation is reported in all cases, and its compliance status depends on referencing
-existing Jira issues.
+existing Jira issues.
If you have wrong Jira credentials or wrong Jira-base-url it will be reported as non existing Jira issue.
This is because Jira returns same 404 error code in all cases.
@@ -34,7 +34,7 @@ the complete list so you can select the once you need. The issue fields uses the
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-issueidorkey-get-request
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -54,7 +54,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -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). |
| --assert | [optional] Exit with non-zero code if the attestation is non-compliant |
| --attachments strings | [optional] The comma-separated list of paths of attachments for the reported attestation. Attachments can be files or directories. All attachments are compressed and uploaded to Kosli's evidence vault. |
-| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --description string | [optional] attestation 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. |
| -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. |
@@ -65,7 +65,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -h, --help | help for jira |
| --ignore-branch-match | Ignore branch name when searching for Jira ticket reference. |
| --jira-api-token string | Jira API token (for Jira Cloud) |
-| --jira-base-url string | The base url for the jira project, e.g. 'https://kosli.atlassian.net' |
+| --jira-base-url string | The base url for the jira project, e.g. `https://kosli.atlassian.net` |
| --jira-issue-fields string | [optional] The comma separated list of fields to include from the Jira issue. Default no fields are included. '*all' will give all fields. |
| --jira-pat string | Jira personal access token (for self-hosted Jira) |
| --jira-project-key strings | [optional] Jira project key to match against. Can be repeated. Defaults to matching any jira project key. |
@@ -76,11 +76,11 @@ In other CI systems, set them explicitly to capture repository metadata.
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -T, --trail string | The Kosli trail name. |
| -u, --user-data string | [optional] The path to a JSON file containing additional data you would like to attach to the attestation. |
@@ -92,111 +92,111 @@ In other CI systems, set them explicitly to capture repository metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest jira yourDockerImageName
- --artifact-type docker
- --name yourAttestationName
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
+kosli attest jira yourDockerImageName
+ --artifact-type docker
+ --name yourAttestationName
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
```
```shell
-kosli attest jira
- --fingerprint yourDockerImageFingerprint
- --name yourAttestationName
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
+kosli attest jira
+ --fingerprint yourDockerImageFingerprint
+ --name yourAttestationName
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
```
```shell
-kosli attest jira
- --name yourAttestationName
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
+kosli attest jira
+ --name yourAttestationName
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
```
```shell
-kosli attest jira
- --name yourAttestationName
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
- --jira-project-key ABC
+kosli attest jira
+ --name yourAttestationName
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
+ --jira-project-key ABC
```
```shell
-kosli attest jira
- --name yourAttestationName
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
+kosli attest jira
+ --name yourAttestationName
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
--jira-issue-fields "summary,description,creator"
```
```shell
-kosli attest jira
- --name yourTemplateArtifactName.yourAttestationName
- --commit yourArtifactGitCommit
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
+kosli attest jira
+ --name yourTemplateArtifactName.yourAttestationName
+ --commit yourArtifactGitCommit
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
```
```shell
-kosli attest jira
- --name yourAttestationName
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
- --attachments yourAttachmentPathName
+kosli attest jira
+ --name yourAttestationName
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
+ --attachments yourAttachmentPathName
```
```shell
-kosli attest jira
- --name yourAttestationName
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
+kosli attest jira
+ --name yourAttestationName
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
--assert
```
```shell
-kosli attest jira
- --name yourAttestationName
- --jira-secondary-source ${{ github.head_ref }}
- --jira-base-url https://kosli.atlassian.net
- --jira-username user@domain.com
- --jira-api-token yourJiraAPIToken
+kosli attest jira
+ --name yourAttestationName
+ --jira-secondary-source ${{ github.head_ref }}
+ --jira-base-url https://kosli.atlassian.net
+ --jira-username user@domain.com
+ --jira-api-token yourJiraAPIToken
```
diff --git a/client_reference/kosli_attest_junit.md b/client_reference/kosli_attest_junit.md
index 3477502..b3c80bd 100644
--- a/client_reference/kosli_attest_junit.md
+++ b/client_reference/kosli_attest_junit.md
@@ -15,9 +15,9 @@ kosli attest junit [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
Report a junit attestation to an artifact or a trail in a Kosli flow.
JUnit xml files are read from the `--results-dir` directory which defaults to the current directory.
-The xml files are automatically uploaded as `--attachments` via the `--upload-results` flag which defaults to `true`.
+The xml files are automatically uploaded as `--attachments` via the `--upload-results` flag which defaults to `true`.
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -36,7 +36,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| --annotate stringToString | [optional] Annotate the attestation with data using key=value. |
| -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). |
| --attachments strings | [optional] The comma-separated list of paths of attachments for the reported attestation. Attachments can be files or directories. All attachments are compressed and uploaded to Kosli's evidence vault. |
-| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --description string | [optional] attestation 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. |
| -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. |
@@ -50,11 +50,11 @@ In other CI systems, set them explicitly to capture repository metadata.
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -R, --results-dir string | [defaulted] The path to a directory with JUnit test results. By default, the directory will be uploaded to Kosli's evidence vault. (default ".") |
| -T, --trail string | The Kosli trail name. |
| --upload-results | [defaulted] Whether to upload the provided Junit results directory as an attachment to Kosli or not. (default true) |
@@ -68,7 +68,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -90,50 +90,50 @@ In other CI systems, set them explicitly to capture repository metadata.
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest junit yourDockerImageName
- --artifact-type docker
- --name yourAttestationName
- --results-dir yourFolderWithJUnitResults
+kosli attest junit yourDockerImageName
+ --artifact-type docker
+ --name yourAttestationName
+ --results-dir yourFolderWithJUnitResults
```
```shell
-kosli attest junit
- --fingerprint yourDockerImageFingerprint
- --name yourAttestationName
- --results-dir yourFolderWithJUnitResults
+kosli attest junit
+ --fingerprint yourDockerImageFingerprint
+ --name yourAttestationName
+ --results-dir yourFolderWithJUnitResults
```
```shell
-kosli attest junit
- --name yourAttestationName
- --results-dir yourFolderWithJUnitResults
+kosli attest junit
+ --name yourAttestationName
+ --results-dir yourFolderWithJUnitResults
```
```shell
-kosli attest junit
- --name yourTemplateArtifactName.yourAttestationName
- --commit yourArtifactGitCommit
- --results-dir yourFolderWithJUnitResults
+kosli attest junit
+ --name yourTemplateArtifactName.yourAttestationName
+ --commit yourArtifactGitCommit
+ --results-dir yourFolderWithJUnitResults
```
```shell
-kosli attest junit
- --name yourAttestationName
- --results-dir yourFolderWithJUnitResults
- --attachments yourAttachmentPathName
+kosli attest junit
+ --name yourAttestationName
+ --results-dir yourFolderWithJUnitResults
+ --attachments yourAttachmentPathName
```
diff --git a/client_reference/kosli_attest_pullrequest_azure.md b/client_reference/kosli_attest_pullrequest_azure.md
index 09af5ab..bdd4c73 100644
--- a/client_reference/kosli_attest_pullrequest_azure.md
+++ b/client_reference/kosli_attest_pullrequest_azure.md
@@ -11,11 +11,11 @@ description: "Report an Azure Devops pull request attestation to an artifact or
kosli attest pullrequest azure [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report an Azure Devops pull request attestation to an artifact or a trail in a Kosli flow.
+Report an Azure Devops pull request attestation to an artifact or a trail in a Kosli flow.
It checks if a pull request exists for the artifact (based on its git commit) and reports the pull-request attestation to the artifact in Kosli.
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -27,9 +27,9 @@ The attestation can be bound to an *artifact* in two ways:
| -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). |
| --assert | [optional] Exit with non-zero code if no pull requests found for the given commit. |
| --attachments strings | [optional] The comma-separated list of paths of attachments for the reported attestation. Attachments can be files or directories. All attachments are compressed and uploaded to Kosli's evidence vault. |
-| --azure-org-url string | Azure organization url. E.g. "https://dev.azure.com/myOrg" (defaulted if you are running in Azure Devops pipelines: [docs](/ci-defaults) ). |
+| --azure-org-url string | Azure organization url. E.g. `https://dev.azure.com/myOrg` (defaulted if you are running in Azure Devops pipelines: [docs](/integrations/ci_cd) ). |
| --azure-token string | Azure Personal Access token. |
-| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --description string | [optional] attestation 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. |
| -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. |
@@ -40,15 +40,15 @@ The attestation can be bound to an *artifact* in two ways:
| -h, --help | help for azure |
| -n, --name string | The name of the attestation as declared in the flow or trail yaml template. |
| -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) ). |
-| --project string | Azure project.(defaulted if you are running in Azure Devops pipelines: [docs](/ci-defaults) ). |
+| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -T, --trail string | The Kosli trail name. |
| -u, --user-data string | [optional] The path to a JSON file containing additional data you would like to attach to the attestation. |
@@ -60,88 +60,88 @@ The attestation can be bound to an *artifact* in two ways:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest pullrequest azure yourDockerImageName
- --artifact-type docker
- --name yourAttestationName
- --azure-org-url https://dev.azure.com/myOrg
- --project yourAzureDevOpsProject
- --azure-token yourAzureToken
- --commit yourGitCommitSha1
- --repository yourAzureGitRepository
+kosli attest pullrequest azure yourDockerImageName
+ --artifact-type docker
+ --name yourAttestationName
+ --azure-org-url https://dev.azure.com/myOrg
+ --project yourAzureDevOpsProject
+ --azure-token yourAzureToken
+ --commit yourGitCommitSha1
+ --repository yourAzureGitRepository
```
```shell
-kosli attest pullrequest azure
- --fingerprint yourDockerImageFingerprint
- --name yourAttestationName
- --azure-org-url https://dev.azure.com/myOrg
- --project yourAzureDevOpsProject
- --azure-token yourAzureToken
- --commit yourGitCommitSha1
- --repository yourAzureGitRepository
+kosli attest pullrequest azure
+ --fingerprint yourDockerImageFingerprint
+ --name yourAttestationName
+ --azure-org-url https://dev.azure.com/myOrg
+ --project yourAzureDevOpsProject
+ --azure-token yourAzureToken
+ --commit yourGitCommitSha1
+ --repository yourAzureGitRepository
```
```shell
-kosli attest pullrequest azure
- --name yourAttestationName
- --azure-org-url https://dev.azure.com/myOrg
- --project yourAzureDevOpsProject
- --azure-token yourAzureToken
- --commit yourGitCommitSha1
- --repository yourAzureGitRepository
+kosli attest pullrequest azure
+ --name yourAttestationName
+ --azure-org-url https://dev.azure.com/myOrg
+ --project yourAzureDevOpsProject
+ --azure-token yourAzureToken
+ --commit yourGitCommitSha1
+ --repository yourAzureGitRepository
```
```shell
-kosli attest pullrequest azure
- --name yourTemplateArtifactName.yourAttestationName
- --azure-org-url https://dev.azure.com/myOrg
- --project yourAzureDevOpsProject
- --azure-token yourAzureToken
- --commit yourGitCommitSha1
- --repository yourAzureGitRepository
+kosli attest pullrequest azure
+ --name yourTemplateArtifactName.yourAttestationName
+ --azure-org-url https://dev.azure.com/myOrg
+ --project yourAzureDevOpsProject
+ --azure-token yourAzureToken
+ --commit yourGitCommitSha1
+ --repository yourAzureGitRepository
```
```shell
-kosli attest pullrequest azure
- --name yourAttestationName
- --azure-org-url https://dev.azure.com/myOrg
- --project yourAzureDevOpsProject
- --azure-token yourAzureToken
- --commit yourGitCommitSha1
- --repository yourAzureGitRepository
- --attachments=yourAttachmentPathName
+kosli attest pullrequest azure
+ --name yourAttestationName
+ --azure-org-url https://dev.azure.com/myOrg
+ --project yourAzureDevOpsProject
+ --azure-token yourAzureToken
+ --commit yourGitCommitSha1
+ --repository yourAzureGitRepository
+ --attachments=yourAttachmentPathName
```
```shell
-kosli attest pullrequest azure
- --name yourTemplateArtifactName.yourAttestationName
- --azure-org-url https://dev.azure.com/myOrg
- --project yourAzureDevOpsProject
- --azure-token yourAzureToken
- --commit yourGitCommitSha1
- --repository yourAzureGitRepository
+kosli attest pullrequest azure
+ --name yourTemplateArtifactName.yourAttestationName
+ --azure-org-url https://dev.azure.com/myOrg
+ --project yourAzureDevOpsProject
+ --azure-token yourAzureToken
+ --commit yourGitCommitSha1
+ --repository yourAzureGitRepository
--assert
```
diff --git a/client_reference/kosli_attest_pullrequest_bitbucket.md b/client_reference/kosli_attest_pullrequest_bitbucket.md
index bf02ab1..7df0786 100644
--- a/client_reference/kosli_attest_pullrequest_bitbucket.md
+++ b/client_reference/kosli_attest_pullrequest_bitbucket.md
@@ -11,12 +11,12 @@ description: "Report a Bitbucket pull request attestation to an artifact or a tr
kosli attest pullrequest bitbucket [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report a Bitbucket pull request attestation to an artifact or a trail in a Kosli flow.
+Report a Bitbucket pull request attestation to an artifact or a trail in a Kosli flow.
It checks if a pull request exists for a given merge commit and reports the pull-request attestation to Kosli.
Authentication to Bitbucket can be done with access token (recommended) or app passwords. Credentials need to have read access for both repos and pull requests.
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -28,8 +28,8 @@ The attestation can be bound to an *artifact* in two ways:
| -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). |
| --assert | [optional] Exit with non-zero code if no pull requests found for the given commit. |
| --attachments strings | [optional] The comma-separated list of paths of attachments for the reported attestation. Attachments can be files or directories. All attachments are compressed and uploaded to Kosli's evidence vault. |
-| --bitbucket-access-token string | Bitbucket repo/project/workspace access token. See https://developer.atlassian.com/cloud/bitbucket/rest/intro/#access-tokens for more details. |
-| --bitbucket-password string | Bitbucket App password. See https://developer.atlassian.com/cloud/bitbucket/rest/intro/#authentication for more details. |
+| --bitbucket-access-token string | Bitbucket repo/project/workspace access token. See [Bitbucket access tokens](https://developer.atlassian.com/cloud/bitbucket/rest/intro/#access-tokens) for more details. |
+| --bitbucket-password string | Bitbucket App password. See [Bitbucket authentication](https://developer.atlassian.com/cloud/bitbucket/rest/intro/#authentication) for more details. |
| --bitbucket-username string | Bitbucket username. Only needed if you use --bitbucket-password |
| --bitbucket-workspace string | Bitbucket workspace ID. |
| -g, --commit string | the git merge commit to be checked for associated pull requests. |
@@ -46,11 +46,11 @@ The attestation can be bound to an *artifact* in two ways:
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -T, --trail string | The Kosli trail name. |
| -u, --user-data string | [optional] The path to a JSON file containing additional data you would like to attach to the attestation. |
@@ -62,82 +62,82 @@ The attestation can be bound to an *artifact* in two ways:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest pullrequest bitbucket yourDockerImageName
- --artifact-type docker
- --name yourAttestationName
- --bitbucket-access-token yourBitbucketAccessToken
- --bitbucket-workspace yourBitbucketWorkspace
- --commit yourArtifactGitCommit
- --repository yourBitbucketGitRepository
+kosli attest pullrequest bitbucket yourDockerImageName
+ --artifact-type docker
+ --name yourAttestationName
+ --bitbucket-access-token yourBitbucketAccessToken
+ --bitbucket-workspace yourBitbucketWorkspace
+ --commit yourArtifactGitCommit
+ --repository yourBitbucketGitRepository
```
```shell
-kosli attest pullrequest bitbucket
- --fingerprint yourDockerImageFingerprint
- --name yourAttestationName
- --bitbucket-access-token yourBitbucketAccessToken
- --bitbucket-workspace yourBitbucketWorkspace
- --commit yourArtifactGitCommit
- --repository yourBitbucketGitRepository
+kosli attest pullrequest bitbucket
+ --fingerprint yourDockerImageFingerprint
+ --name yourAttestationName
+ --bitbucket-access-token yourBitbucketAccessToken
+ --bitbucket-workspace yourBitbucketWorkspace
+ --commit yourArtifactGitCommit
+ --repository yourBitbucketGitRepository
```
```shell
-kosli attest pullrequest bitbucket
- --name yourAttestationName
- --bitbucket-access-token yourBitbucketAccessToken
- --bitbucket-workspace yourBitbucketWorkspace
- --commit yourArtifactGitCommit
- --repository yourBitbucketGitRepository
+kosli attest pullrequest bitbucket
+ --name yourAttestationName
+ --bitbucket-access-token yourBitbucketAccessToken
+ --bitbucket-workspace yourBitbucketWorkspace
+ --commit yourArtifactGitCommit
+ --repository yourBitbucketGitRepository
```
```shell
-kosli attest pullrequest bitbucket
- --name yourTemplateArtifactName.yourAttestationName
- --bitbucket-access-token yourBitbucketAccessToken
- --bitbucket-workspace yourBitbucketWorkspace
- --commit yourArtifactGitCommit
- --repository yourBitbucketGitRepository
+kosli attest pullrequest bitbucket
+ --name yourTemplateArtifactName.yourAttestationName
+ --bitbucket-access-token yourBitbucketAccessToken
+ --bitbucket-workspace yourBitbucketWorkspace
+ --commit yourArtifactGitCommit
+ --repository yourBitbucketGitRepository
```
```shell
-kosli attest pullrequest bitbucket
- --name yourAttestationName
- --bitbucket-access-token yourBitbucketAccessToken
- --bitbucket-workspace yourBitbucketWorkspace
- --commit yourArtifactGitCommit
- --repository yourBitbucketGitRepository
- --attachments=yourAttachmentPathName
+kosli attest pullrequest bitbucket
+ --name yourAttestationName
+ --bitbucket-access-token yourBitbucketAccessToken
+ --bitbucket-workspace yourBitbucketWorkspace
+ --commit yourArtifactGitCommit
+ --repository yourBitbucketGitRepository
+ --attachments=yourAttachmentPathName
```
```shell
-kosli attest pullrequest bitbucket
- --name yourTemplateArtifactName.yourAttestationName
- --bitbucket-access-token yourBitbucketAccessToken
- --bitbucket-workspace yourBitbucketWorkspace
- --commit yourArtifactGitCommit
- --repository yourBitbucketGitRepository
+kosli attest pullrequest bitbucket
+ --name yourTemplateArtifactName.yourAttestationName
+ --bitbucket-access-token yourBitbucketAccessToken
+ --bitbucket-workspace yourBitbucketWorkspace
+ --commit yourArtifactGitCommit
+ --repository yourBitbucketGitRepository
--assert
```
diff --git a/client_reference/kosli_attest_pullrequest_github.md b/client_reference/kosli_attest_pullrequest_github.md
index 18e87f6..ed3540d 100644
--- a/client_reference/kosli_attest_pullrequest_github.md
+++ b/client_reference/kosli_attest_pullrequest_github.md
@@ -11,11 +11,11 @@ description: "Report a Github pull request attestation to an artifact or a trail
kosli attest pullrequest github [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report a Github pull request attestation to an artifact or a trail in a Kosli flow.
+Report a Github pull request attestation to an artifact or a trail in a Kosli flow.
It checks if a pull request exists for a given merge commit and reports the pull-request attestation to Kosli.
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -36,7 +36,7 @@ The attestation can be bound to an *artifact* in two ways:
| -F, --fingerprint string | [conditional] The SHA256 fingerprint of the artifact to attach the attestation to. Only required if the attestation is for an artifact and --artifact-type and artifact name/path are not used. |
| -f, --flow string | The Kosli flow name. |
| --github-base-url string | [optional] GitHub base URL (only needed for GitHub Enterprise installations). |
-| --github-org string | Github organization. (defaulted if you are running in GitHub Actions: [docs](/ci-defaults) ). |
+| --github-org string | Github organization. (defaulted if you are running in GitHub Actions: [docs](/integrations/ci_cd) ). |
| --github-token string | Github token. |
| -h, --help | help for github |
| -n, --name string | The name of the attestation as declared in the flow or trail yaml template. |
@@ -44,11 +44,11 @@ The attestation can be bound to an *artifact* in two ways:
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -T, --trail string | The Kosli trail name. |
| -u, --user-data string | [optional] The path to a JSON file containing additional data you would like to attach to the attestation. |
@@ -60,7 +60,7 @@ The attestation can be bound to an *artifact* in two ways:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -77,75 +77,75 @@ The attestation can be bound to an *artifact* in two ways:
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest pullrequest github yourDockerImageName
- --artifact-type docker
- --name yourAttestationName
- --github-token yourGithubToken
- --github-org yourGithubOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest github yourDockerImageName
+ --artifact-type docker
+ --name yourAttestationName
+ --github-token yourGithubToken
+ --github-org yourGithubOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
```
```shell
-kosli attest pullrequest github
- --fingerprint yourDockerImageFingerprint
- --name yourAttestationName
- --github-token yourGithubToken
- --github-org yourGithubOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest github
+ --fingerprint yourDockerImageFingerprint
+ --name yourAttestationName
+ --github-token yourGithubToken
+ --github-org yourGithubOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
```
```shell
-kosli attest pullrequest github
- --name yourAttestationName
- --github-token yourGithubToken
- --github-org yourGithubOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest github
+ --name yourAttestationName
+ --github-token yourGithubToken
+ --github-org yourGithubOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
```
```shell
-kosli attest pullrequest github
- --name yourTemplateArtifactName.yourAttestationName
- --github-token yourGithubToken
- --github-org yourGithubOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest github
+ --name yourTemplateArtifactName.yourAttestationName
+ --github-token yourGithubToken
+ --github-org yourGithubOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
```
```shell
-kosli attest pullrequest github
- --name yourAttestationName
- --github-token yourGithubToken
- --github-org yourGithubOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
- --attachments=yourAttachmentPathName
+kosli attest pullrequest github
+ --name yourAttestationName
+ --github-token yourGithubToken
+ --github-org yourGithubOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
+ --attachments=yourAttachmentPathName
```
```shell
-kosli attest pullrequest github
- --name yourTemplateArtifactName.yourAttestationName
- --github-token yourGithubToken
- --github-org yourGithubOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest github
+ --name yourTemplateArtifactName.yourAttestationName
+ --github-token yourGithubToken
+ --github-org yourGithubOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
--assert
```
diff --git a/client_reference/kosli_attest_pullrequest_gitlab.md b/client_reference/kosli_attest_pullrequest_gitlab.md
index f61c894..6645a0e 100644
--- a/client_reference/kosli_attest_pullrequest_gitlab.md
+++ b/client_reference/kosli_attest_pullrequest_gitlab.md
@@ -11,11 +11,11 @@ description: "Report a Gitlab merge request attestation to an artifact or a trai
kosli attest pullrequest gitlab [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report a Gitlab merge request attestation to an artifact or a trail in a Kosli flow.
+Report a Gitlab merge request attestation to an artifact or a trail in a Kosli flow.
It checks if a merge request exists for a given merge commit and reports the merge request attestation to Kosli.
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -36,7 +36,7 @@ The attestation can be bound to an *artifact* in two ways:
| -F, --fingerprint string | [conditional] The SHA256 fingerprint of the artifact to attach the attestation to. Only required if the attestation is for an artifact and --artifact-type and artifact name/path are not used. |
| -f, --flow string | The Kosli flow name. |
| --gitlab-base-url string | [optional] Gitlab base URL (only needed for on-prem Gitlab installations). |
-| --gitlab-org string | Gitlab organization. (defaulted if you are running in Gitlab Pipelines: [docs](/ci-defaults) ). |
+| --gitlab-org string | Gitlab organization. (defaulted if you are running in Gitlab Pipelines: [docs](/integrations/ci_cd) ). |
| --gitlab-token string | Gitlab token. |
| -h, --help | help for gitlab |
| -n, --name string | The name of the attestation as declared in the flow or trail yaml template. |
@@ -44,11 +44,11 @@ The attestation can be bound to an *artifact* in two ways:
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -T, --trail string | The Kosli trail name. |
| -u, --user-data string | [optional] The path to a JSON file containing additional data you would like to attach to the attestation. |
@@ -60,7 +60,7 @@ The attestation can be bound to an *artifact* in two ways:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -77,75 +77,75 @@ The attestation can be bound to an *artifact* in two ways:
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest pullrequest gitlab yourDockerImageName
- --artifact-type docker
- --name yourAttestationName
- --gitlab-token yourGitlabToken
- --gitlab-org yourGitlabOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest gitlab yourDockerImageName
+ --artifact-type docker
+ --name yourAttestationName
+ --gitlab-token yourGitlabToken
+ --gitlab-org yourGitlabOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
```
```shell
-kosli attest pullrequest gitlab
- --fingerprint yourDockerImageFingerprint
- --name yourAttestationName
- --gitlab-token yourGitlabToken
- --gitlab-org yourGitlabOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest gitlab
+ --fingerprint yourDockerImageFingerprint
+ --name yourAttestationName
+ --gitlab-token yourGitlabToken
+ --gitlab-org yourGitlabOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
```
```shell
-kosli attest pullrequest gitlab
- --name yourAttestationName
- --gitlab-token yourGitlabToken
- --gitlab-org yourGitlabOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest gitlab
+ --name yourAttestationName
+ --gitlab-token yourGitlabToken
+ --gitlab-org yourGitlabOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
```
```shell
-kosli attest pullrequest gitlab
- --name yourTemplateArtifactName.yourAttestationName
- --gitlab-token yourGitlabToken
- --gitlab-org yourGitlabOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest gitlab
+ --name yourTemplateArtifactName.yourAttestationName
+ --gitlab-token yourGitlabToken
+ --gitlab-org yourGitlabOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
```
```shell
-kosli attest pullrequest gitlab
- --name yourAttestationName
- --gitlab-token yourGitlabToken
- --gitlab-org yourGitlabOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
- --attachments=yourAttachmentPathName
+kosli attest pullrequest gitlab
+ --name yourAttestationName
+ --gitlab-token yourGitlabToken
+ --gitlab-org yourGitlabOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
+ --attachments=yourAttachmentPathName
```
```shell
-kosli attest pullrequest gitlab
- --name yourTemplateArtifactName.yourAttestationName
- --gitlab-token yourGitlabToken
- --gitlab-org yourGitlabOrg
- --commit yourArtifactGitCommit
- --repository yourGithubGitRepository
+kosli attest pullrequest gitlab
+ --name yourTemplateArtifactName.yourAttestationName
+ --gitlab-token yourGitlabToken
+ --gitlab-org yourGitlabOrg
+ --commit yourArtifactGitCommit
+ --repository yourGithubGitRepository
--assert
```
diff --git a/client_reference/kosli_attest_snyk.md b/client_reference/kosli_attest_snyk.md
index 343987e..47fa320 100644
--- a/client_reference/kosli_attest_snyk.md
+++ b/client_reference/kosli_attest_snyk.md
@@ -11,8 +11,8 @@ description: "Report a snyk attestation to an artifact or a trail in a Kosli flo
kosli attest snyk [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report a snyk attestation to an artifact or a trail in a Kosli flow.
-Only SARIF snyk output is accepted.
+Report a snyk attestation to an artifact or a trail in a Kosli flow.
+Only SARIF snyk output is accepted.
Snyk output can be for "snyk code test", "snyk container test", or "snyk iac test".
The `--scan-results` .json file is analyzed and a summary of the scan results are reported to Kosli.
@@ -21,7 +21,7 @@ By default, the `--scan-results` .json file is also uploaded to Kosli's evidence
You can disable that by setting `--upload-results=false`
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -40,7 +40,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| --annotate stringToString | [optional] Annotate the attestation with data using key=value. |
| -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). |
| --attachments strings | [optional] The comma-separated list of paths of attachments for the reported attestation. Attachments can be files or directories. All attachments are compressed and uploaded to Kosli's evidence vault. |
-| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --description string | [optional] attestation 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. |
| -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. |
@@ -54,11 +54,11 @@ In other CI systems, set them explicitly to capture repository metadata.
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -R, --scan-results string | The path to Snyk scan SARIF results file from 'snyk test' and 'snyk container test'. By default, the Snyk results will be uploaded to Kosli's evidence vault. |
| -T, --trail string | The Kosli trail name. |
| --upload-results | [defaulted] Whether to upload the provided Snyk results file as an attachment to Kosli or not. (default true) |
@@ -72,7 +72,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -94,59 +94,59 @@ In other CI systems, set them explicitly to capture repository metadata.
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest snyk yourDockerImageName
- --artifact-type docker
- --name yourAttestationName
- --scan-results yourSnykSARIFScanResults
+kosli attest snyk yourDockerImageName
+ --artifact-type docker
+ --name yourAttestationName
+ --scan-results yourSnykSARIFScanResults
```
```shell
-kosli attest snyk
- --fingerprint yourDockerImageFingerprint
- --name yourAttestationName
- --scan-results yourSnykSARIFScanResults
+kosli attest snyk
+ --fingerprint yourDockerImageFingerprint
+ --name yourAttestationName
+ --scan-results yourSnykSARIFScanResults
```
```shell
-kosli attest snyk
- --name yourAttestationName
- --scan-results yourSnykSARIFScanResults
+kosli attest snyk
+ --name yourAttestationName
+ --scan-results yourSnykSARIFScanResults
```
```shell
-kosli attest snyk
- --name yourTemplateArtifactName.yourAttestationName
- --commit yourArtifactGitCommit
- --scan-results yourSnykSARIFScanResults
+kosli attest snyk
+ --name yourTemplateArtifactName.yourAttestationName
+ --commit yourArtifactGitCommit
+ --scan-results yourSnykSARIFScanResults
```
```shell
-kosli attest snyk
- --name yourAttestationName
- --scan-results yourSnykSARIFScanResults
- --attachments yourEvidencePathName
+kosli attest snyk
+ --name yourAttestationName
+ --scan-results yourSnykSARIFScanResults
+ --attachments yourEvidencePathName
```
```shell
-kosli attest snyk
- --name yourAttestationName
- --scan-results yourSnykSARIFScanResults
- --upload-results=false
+kosli attest snyk
+ --name yourAttestationName
+ --scan-results yourSnykSARIFScanResults
+ --upload-results=false
```
diff --git a/client_reference/kosli_attest_sonar.md b/client_reference/kosli_attest_sonar.md
index 2fbd2ae..862ec66 100644
--- a/client_reference/kosli_attest_sonar.md
+++ b/client_reference/kosli_attest_sonar.md
@@ -11,7 +11,7 @@ description: "Report a SonarQube attestation to an artifact or a trail in a Kosl
kosli attest sonar [IMAGE-NAME | FILE-PATH | DIR-PATH] [flags]
```
-Report a SonarQube attestation to an artifact or a trail in a Kosli flow.
+Report a SonarQube attestation to an artifact or a trail in a Kosli flow.
Retrieves results for the specified scan from SonarQube Cloud or SonarQube Server and attests them to Kosli.
The results are parsed to find the status of the project's quality gate which is used to determine the attestation's compliance status.
Both branch scans and pull request scans are supported.
@@ -39,7 +39,7 @@ Note that if your project is very large and you are using SonarQube Cloud's auto
In this case, we recommend using Kosli's Sonar webhook integration ( [docs](/integrations/sonar/) ) rather than the CLI to attest the scan results.
-The attestation can be bound to a *trail* using the trail name.
+The attestation can be bound to a *trail* using the trail name.
The attestation can be bound to an *artifact* in two ways:
- using the artifact's SHA256 fingerprint which is calculated (based on the `--artifact-type` flag and the artifact name/path argument) or can be provided directly (with the `--fingerprint` flag).
- using the artifact's name in the flow yaml template and the git commit from which the artifact is/will be created. Useful when reporting an attestation before creating/reporting the artifact.
@@ -50,7 +50,7 @@ The attestation can be bound to an *artifact* in two ways:
| --annotate stringToString | [optional] Annotate the attestation with data using key=value. |
| -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). |
| --attachments strings | [optional] The comma-separated list of paths of attachments for the reported attestation. Attachments can be files or directories. All attachments are compressed and uploaded to Kosli's evidence vault. |
-| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/ci-defaults) ). |
+| -g, --commit string | [conditional] The git commit for which the attestation is associated to. Becomes required when reporting an attestation for an artifact before reporting it to Kosli. (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --description string | [optional] attestation 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. |
| -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. |
@@ -66,11 +66,11 @@ The attestation can be bound to an *artifact* in two ways:
| --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. |
| --registry-username string | [conditional] The container registry username. Only required if you want to read container image SHA256 digest from a remote container registry. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --sonar-api-token string | [required] SonarQube API token. |
| --sonar-ce-task-url string | [conditional] The URL of the SonarQube CE task. Can be used instead of --sonar-working-dir when the report-task.txt file is not accessible, e.g. due to container isolation in CI/CD pipelines. |
| --sonar-project-key string | [conditional] The project key of the SonarQube project. Only required if you want to use the project key/revision/pull-request to get the scan results rather than using Sonar's metadata file. |
@@ -88,7 +88,7 @@ The attestation can be bound to an *artifact* in two ways:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -105,76 +105,76 @@ The attestation can be bound to an *artifact* in two ways:
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli attest sonar
- --name yourAttestationName
- --sonar-api-token yourSonarAPIToken
- --sonar-working-dir yourSonarWorkingDirPath
+kosli attest sonar
+ --name yourAttestationName
+ --sonar-api-token yourSonarAPIToken
+ --sonar-working-dir yourSonarWorkingDirPath
```
```shell
-kosli attest sonar
- --name yourAttestationName
- --sonar-api-token yourSonarAPIToken
- --sonar-working-dir yourSonarWorkingDirPath
+kosli attest sonar
+ --name yourAttestationName
+ --sonar-api-token yourSonarAPIToken
+ --sonar-working-dir yourSonarWorkingDirPath
--max-wait 60
```
```shell
-kosli attest sonar
- --name yourAttestationName
- --sonar-api-token yourSonarAPIToken
- --sonar-project-key yourSonarProjectKey
- --sonar-revision yourSonarRevision
+kosli attest sonar
+ --name yourAttestationName
+ --sonar-api-token yourSonarAPIToken
+ --sonar-project-key yourSonarProjectKey
+ --sonar-revision yourSonarRevision
```
```shell
-kosli attest sonar
- --name yourAttestationName
- --sonar-api-token yourSonarAPIToken
- --sonar-server-url yourSonarServerURL
- --sonar-project-key yourSonarProjectKey
- --sonar-revision yourSonarRevision
+kosli attest sonar
+ --name yourAttestationName
+ --sonar-api-token yourSonarAPIToken
+ --sonar-server-url yourSonarServerURL
+ --sonar-project-key yourSonarProjectKey
+ --sonar-revision yourSonarRevision
```
```shell
-kosli attest sonar
- --name yourAttestationName
- --sonar-api-token yourSonarAPIToken
- --sonar-project-key yourSonarProjectKey
- --pull-request yourPullRequestID
+kosli attest sonar
+ --name yourAttestationName
+ --sonar-api-token yourSonarAPIToken
+ --sonar-project-key yourSonarProjectKey
+ --pull-request yourPullRequestID
```
```shell
-kosli attest sonar
- --name yourAttestationName
- --sonar-api-token yourSonarAPIToken
- --sonar-working-dir yourSonarWorkingDirPath
- --attachment yourAttachmentPath
+kosli attest sonar
+ --name yourAttestationName
+ --sonar-api-token yourSonarAPIToken
+ --sonar-working-dir yourSonarWorkingDirPath
+ --attachment yourAttachmentPath
--max-wait 300
```
```shell
-kosli attest sonar
- --name yourAttestationName
- --sonar-api-token yourSonarAPIToken
- --sonar-ce-task-url yourCETaskURL
+kosli attest sonar
+ --name yourAttestationName
+ --sonar-api-token yourSonarAPIToken
+ --sonar-ce-task-url yourCETaskURL
```
diff --git a/client_reference/kosli_begin_trail.md b/client_reference/kosli_begin_trail.md
index 1a7c82b..b7bd67e 100644
--- a/client_reference/kosli_begin_trail.md
+++ b/client_reference/kosli_begin_trail.md
@@ -25,7 +25,7 @@ In other CI systems, set them explicitly to capture repository metadata.
## Flags
| Flag | Description |
| :--- | :--- |
-| -g, --commit string | [defaulted] The git commit from which the trail is begun. (defaulted in some CIs: [docs](/ci-defaults), otherwise defaults to HEAD ). |
+| -g, --commit string | [defaulted] The git commit from which the trail is begun. (defaulted in some CIs: [docs](/integrations/ci_cd), otherwise defaults to HEAD ). |
| --description string | [optional] The Kosli trail 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. |
| --external-fingerprint stringToString | [optional] A SHA256 fingerprint of an external attachment represented by --external-url. The format is label=fingerprint (labels cannot contain '.' or '='). This flag can be set multiple times. There must be an external url with a matching label for each external fingerprint. |
@@ -34,11 +34,11 @@ In other CI systems, set them explicitly to capture repository metadata.
| -h, --help | help for trail |
| -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]. |
-| --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](/ci-defaults) ). |
-| --repo-provider string | [optional] The source code hosting provider. One of: github, gitlab, bitbucket, azure-devops (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --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, azure-devops (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| --repo-root string | [defaulted] The directory where the source git repository is available. Only used if --commit is used or defaulted in CI, see [docs](/integrations/ci_cd/#defaulted-kosli-command-flags-from-ci-variables) . (default ".") |
-| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
-| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/ci-defaults) ). |
+| --repo-url string | [conditional] The URL of the repository. Must be a valid URL. All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
+| --repository string | [conditional] The name of the repository (e.g. owner/repo-name). All three of --repo-id, --repo-url and --repository must be set to record repository information (defaulted in some CIs: [docs](/integrations/ci_cd) ). |
| -f, --template-file string | [optional] The path to a yaml template file. |
| -u, --user-data string | [optional] The path to a JSON file containing additional data you would like to attach to the flow trail. |
@@ -50,7 +50,7 @@ In other CI systems, set them explicitly to capture repository metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -72,15 +72,15 @@ In other CI systems, set them explicitly to capture repository metadata.
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli begin trail yourTrailName
- --description yourTrailDescription
- --template-file /path/to/your/template/file.yml
- --user-data /path/to/your/user-data/file.json
+kosli begin trail yourTrailName
+ --description yourTrailDescription
+ --template-file /path/to/your/template/file.yml
+ --user-data /path/to/your/user-data/file.json
```
diff --git a/client_reference/kosli_completion.md b/client_reference/kosli_completion.md
index e9350df..b70e30a 100644
--- a/client_reference/kosli_completion.md
+++ b/client_reference/kosli_completion.md
@@ -18,19 +18,19 @@ To load completions:
```
$ source <(kosli completion bash)
```
- To load completions for each session, execute once:
+ To load completions for each session, execute once:
On Linux:
```
$ kosli completion bash > /etc/bash_completion.d/kosli
- ```
+ ```
On macOS:
```
$ kosli completion bash > $(brew --prefix)/etc/bash_completion.d/kosli
```
### Zsh
- If shell completion is not already enabled in your environment,
+ If shell completion is not already enabled in your environment,
you will need to enable it. You can execute the following once:
```
$ echo "autoload -U compinit; compinit" >> ~/.zshrc
@@ -46,7 +46,7 @@ you will need to enable it. You can execute the following once:
$ kosli completion fish | source
```
To load completions for each session, execute once:
- ```
+ ```
$ kosli completion fish > ~/.config/fish/completions/kosli.fish
```
### PowerShell
@@ -56,7 +56,7 @@ you will need to enable it. You can execute the following once:
To load completions for every new session, run:
```
PS> kosli completion powershell > kosli.ps1
- ```
+ ```
and source this file from your PowerShell profile.
@@ -73,7 +73,7 @@ you will need to enable it. You can execute the following once:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_config.md b/client_reference/kosli_config.md
index aea31d3..ec04d1c 100644
--- a/client_reference/kosli_config.md
+++ b/client_reference/kosli_config.md
@@ -11,7 +11,7 @@ description: "Config global Kosli flags values and store them in $HOME/.kosli .
kosli config [flags]
```
-Config global Kosli flags values and store them in $HOME/.kosli .
+Config global Kosli flags values and store them in $HOME/.kosli .
Flag values are determined in the following order (highest precedence first):
- command line flags on each executed command.
@@ -20,9 +20,9 @@ Flag values are determined in the following order (highest precedence first):
- default config file in $HOME/.kosli
You can configure global Kosli flags (the ones that apply to all/most commands) using their dedicated
-convenience flags (e.g. --org).
+convenience flags (e.g. --org).
-API tokens are stored in the suitable credentials manager on your machine.
+API tokens are stored in the suitable credentials manager on your machine.
Other Kosli flags can be configured using the --set flag which takes a comma-separated list of key=value pairs.
Keys correspond to the specific flag name, capitalized. For instance: --flow would be set using --set FLOW=value
@@ -43,23 +43,23 @@ Keys correspond to the specific flag name, capitalized. For instance: --flow wou
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli config --org=yourOrg
- --api-token=yourAPIToken
- --host=https://app.kosli.com
- --debug=false
- --max-api-retries=3
+kosli config --org=yourOrg
+ --api-token=yourAPIToken
+ --host=https://app.kosli.com
+ --debug=false
+ --max-api-retries=3
--http-proxy=http://192.0.0.1:8080
```
diff --git a/client_reference/kosli_create_attestation-type.md b/client_reference/kosli_create_attestation-type.md
index 6cbd151..d9cd13d 100644
--- a/client_reference/kosli_create_attestation-type.md
+++ b/client_reference/kosli_create_attestation-type.md
@@ -16,15 +16,15 @@ You can specify attestation type parameters in flags.
`TYPE-NAME` must start with a letter or number, and only contain letters, numbers, `.`, `-`, `_`, and `~`.
-`--schema` is a path to a file containing a JSON schema which will be used to validate attestations made using this type.
-The schema is used to specify the structure of the attestation data, e.g. any fields that are required or
+`--schema` is a path to a file containing a JSON schema which will be used to validate attestations made using this type.
+The schema is used to specify the structure of the attestation data, e.g. any fields that are required or
the expected type of the data.
-See an example schema file
+See an example schema file
[here](https://github.com/cyber-dojo/kosli-attestation-types/blob/f9130c58d3a8151b0b0e7c5db284e4380eb2d2cf/metrics-coverage.schema.json).
-`--jq` defines an evaluation rule, given in jq-format, for this attestation type. The flag can be repeated in order to add additional rules.
-These rules specify acceptable values for attestation data, e.g. `.age >= 21` or `.failing_tests == 0`.
-When a custom attestation is reported, the provided data is evaluated according to the rules defined in its attestation-type.
+`--jq` defines an evaluation rule, given in jq-format, for this attestation type. The flag can be repeated in order to add additional rules.
+These rules specify acceptable values for attestation data, e.g. `.age >= 21` or `.failing_tests == 0`.
+When a custom attestation is reported, the provided data is evaluated according to the rules defined in its attestation-type.
All rules must return `true` for the evaluation to pass and the attestation to be determined compliant.
@@ -45,7 +45,7 @@ All rules must return `true` for the evaluation to pass and the attestation to b
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -62,7 +62,7 @@ All rules must return `true` for the evaluation to pass and the attestation to b
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
@@ -73,9 +73,9 @@ kosli create attestation-type customTypeName
```shell
-kosli create attestation-type customTypeName
- --description "Attest that a person meets the age requirements."
- --schema person-schema.json
+kosli create attestation-type customTypeName
+ --description "Attest that a person meets the age requirements."
+ --schema person-schema.json
--jq ".age >= 18"
--jq ".age < 65"
```
diff --git a/client_reference/kosli_create_environment.md b/client_reference/kosli_create_environment.md
index 4829425..d2091f2 100644
--- a/client_reference/kosli_create_environment.md
+++ b/client_reference/kosli_create_environment.md
@@ -56,30 +56,30 @@ to them.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
kosli create environment yourEnvironmentName
- --type K8S
- --description "my new env"
+ --type K8S
+ --description "my new env"
```
```shell
kosli create environment yourLogicalEnvironmentName
- --type logical
+ --type logical
--included-environments realEnv1,realEnv2,realEnv3
- --description "my full prod"
+ --description "my full prod"
```
diff --git a/client_reference/kosli_create_flow.md b/client_reference/kosli_create_flow.md
index 5ff78bc..fec0943 100644
--- a/client_reference/kosli_create_flow.md
+++ b/client_reference/kosli_create_flow.md
@@ -36,7 +36,7 @@ You can specify flow parameters in flags.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -58,24 +58,24 @@ You can specify flow parameters in flags.
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli create flow yourFlowName
- --description yourFlowDescription
- --visibility private OR public
- --use-empty-template
+kosli create flow yourFlowName
+ --description yourFlowDescription
+ --visibility private OR public
+ --use-empty-template
```
```shell
-kosli create flow yourFlowName
- --description yourFlowDescription
- --visibility private OR public
- --template-file /path/to/your/template/file.yml
+kosli create flow yourFlowName
+ --description yourFlowDescription
+ --visibility private OR public
+ --template-file /path/to/your/template/file.yml
```
diff --git a/client_reference/kosli_create_policy.md b/client_reference/kosli_create_policy.md
index 9e4adba..cb11ef1 100644
--- a/client_reference/kosli_create_policy.md
+++ b/client_reference/kosli_create_policy.md
@@ -30,30 +30,30 @@ Updating policy content creates a new version of the policy.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli create policy yourPolicyName yourPolicyFile.yml
- --description yourPolicyDescription
- --type env
+kosli create policy yourPolicyName yourPolicyFile.yml
+ --description yourPolicyDescription
+ --type env
```
```shell
-kosli create policy yourPolicyName yourPolicyFile.yml
- --description yourPolicyDescription
- --type env
- --comment yourChangeComment
+kosli create policy yourPolicyName yourPolicyFile.yml
+ --description yourPolicyDescription
+ --type env
+ --comment yourChangeComment
```
diff --git a/client_reference/kosli_detach-policy.md b/client_reference/kosli_detach-policy.md
index bdd76c7..50ba64c 100644
--- a/client_reference/kosli_detach-policy.md
+++ b/client_reference/kosli_detach-policy.md
@@ -28,21 +28,21 @@ If the environment has no more policies attached to it, then its snapshots' stat
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli detach-policy yourPolicyName
- --environment yourFirstEnvironmentName
- --environment yourSecondEnvironmentName
+kosli detach-policy yourPolicyName
+ --environment yourFirstEnvironmentName
+ --environment yourSecondEnvironmentName
```
diff --git a/client_reference/kosli_diff_snapshots.md b/client_reference/kosli_diff_snapshots.md
index 57ad618..8848dc2 100644
--- a/client_reference/kosli_diff_snapshots.md
+++ b/client_reference/kosli_diff_snapshots.md
@@ -11,7 +11,7 @@ description: "Diff environment snapshots. "
kosli diff snapshots SNAPPISH_1 SNAPPISH_2 [flags]
```
-Diff environment snapshots.
+Diff environment snapshots.
Specify SNAPPISH_1 and SNAPPISH_2 by:
- environmentName
- the latest snapshot for environmentName, at the time of the request
@@ -45,7 +45,7 @@ Specify SNAPPISH_1 and SNAPPISH_2 by:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -67,7 +67,7 @@ kosli diff snapshots aws-beta aws-prod --output=json
```json
{
"snappish1": {
- "snapshot_id": "aws-beta#6654",
+ "snapshot_id": "aws-beta#6662",
"artifacts": [
{
"fingerprint": "4db0e95a793aa0539250f9998bc4fbe10b5d96a339730c20a25b9e763a8a5ff3",
@@ -77,6 +77,14 @@ kosli diff snapshots aws-beta aws-prod --output=json
"commit_url": "https://gitlab.com/cyber-dojo/creator/-/commit/b3152a10de1f36b7dbe2818c0918af06fd3aca61",
"instance_count": 1
},
+ {
+ "fingerprint": "5a59b16b0975773a0afeebc30426a86cc40fc12b80f9f42fc911c6d7f9285344",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:ad3700e@sha256:5a59b16b0975773a0afeebc30426a86cc40fc12b80f9f42fc911c6d7f9285344",
+ "most_recent_timestamp": 1778237609,
+ "flow": "runner-ci",
+ "commit_url": "https://github.com/cyber-dojo/runner/commit/ad3700ecacd79ea8ebef6689874804f1a2851d4c",
+ "instance_count": 3
+ },
{
"fingerprint": "e99c33d87e5e6d5098aecf627a89e1408e6ca8394eb2c8923823b74b5bb3567c",
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:6f7b1b0@sha256:e99c33d87e5e6d5098aecf627a89e1408e6ca8394eb2c8923823b74b5bb3567c",
@@ -88,8 +96,16 @@ kosli diff snapshots aws-beta aws-prod --output=json
]
},
"snappish2": {
- "snapshot_id": "aws-prod#4382",
+ "snapshot_id": "aws-prod#4386",
"artifacts": [
+ {
+ "fingerprint": "2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:8768460@sha256:2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "most_recent_timestamp": 1778178487,
+ "flow": "runner-ci",
+ "commit_url": "https://github.com/cyber-dojo/runner/commit/8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "instance_count": 3
+ },
{
"fingerprint": "541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:1999d13@sha256:541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
@@ -113,14 +129,6 @@ kosli diff snapshots aws-beta aws-prod --output=json
},
"not-changed": {
"artifacts": [
- {
- "fingerprint": "2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
- "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:8768460@sha256:2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
- "most_recent_timestamp": 1778178487,
- "flow": "runner-ci",
- "commit_url": "https://github.com/cyber-dojo/runner/commit/8768460dc1c91de5f6485a7d3e36870b683edfc3",
- "instance_count": 3
- },
{
"fingerprint": "3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:a6ece2b@sha256:3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
@@ -187,31 +195,31 @@ kosli diff snapshots aws-beta aws-prod --output=json
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli diff snapshots envName~3 envName
+kosli diff snapshots envName~3 envName
```
```shell
-kosli diff snapshots envName1 envName2
+kosli diff snapshots envName1 envName2
```
```shell
-kosli diff snapshots envName1 envName2
- --show-unchanged
+kosli diff snapshots envName1 envName2
+ --show-unchanged
```
```shell
-kosli diff snapshots envName@{2.weeks.ago} envName
+kosli diff snapshots envName@{2.weeks.ago} envName
```
diff --git a/client_reference/kosli_disable_beta.md b/client_reference/kosli_disable_beta.md
index 5425119..5af0028 100644
--- a/client_reference/kosli_disable_beta.md
+++ b/client_reference/kosli_disable_beta.md
@@ -26,7 +26,7 @@ Disable beta features for an organization.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_enable_beta.md b/client_reference/kosli_enable_beta.md
index 3cc9db5..dd73dda 100644
--- a/client_reference/kosli_enable_beta.md
+++ b/client_reference/kosli_enable_beta.md
@@ -26,7 +26,7 @@ Enable beta features for an organization.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_evaluate_input.md b/client_reference/kosli_evaluate_input.md
index 29b7823..85f2ebc 100644
--- a/client_reference/kosli_evaluate_input.md
+++ b/client_reference/kosli_evaluate_input.md
@@ -49,7 +49,7 @@ This accepts inline JSON or a file reference (`@file.json`).
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -60,71 +60,71 @@ This accepts inline JSON or a file reference (`@file.json`).
View an example of the `kosli evaluate input` command in GitHub.
- In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/2c586e9ede3ce361642ddc9414312833c3fbf5e2/tests/test_rego_rules.sh#L153)
+ In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/9508524934b5a7a42caedb42f6675d177f841568/tests/test_rego_rules.sh#L197)
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli evaluate trail TRAIL --flow FLOW
- --policy allow-all.rego
+kosli evaluate trail TRAIL --flow FLOW
+ --policy allow-all.rego
--show-input --output json | jq '.input' > trail-data.json
```
```shell
-kosli evaluate input
- --input-file trail-data.json
+kosli evaluate input
+ --input-file trail-data.json
--policy policy.rego
```
```shell
-kosli evaluate input
- --input-file trail-data.json
- --policy policy.rego
- --show-input
+kosli evaluate input
+ --input-file trail-data.json
+ --policy policy.rego
+ --show-input
--output json
```
```shell
-cat trail-data.json | kosli evaluate input
+cat trail-data.json | kosli evaluate input
--policy policy.rego
```
```shell
-kosli evaluate input
- --input-file trail-data.json
- --policy policy.rego
+kosli evaluate input
+ --input-file trail-data.json
+ --policy policy.rego
--params '{"threshold": 3}'
```
```shell
-kosli evaluate input
- --input-file trail-data.json
- --policy policy.rego
+kosli evaluate input
+ --input-file trail-data.json
+ --policy policy.rego
--params @params.json
```
```shell
-kosli evaluate input
- --input-file trail-data.json
- --policy policy.rego
+kosli evaluate input
+ --input-file trail-data.json
+ --policy policy.rego
--no-assert
```
diff --git a/client_reference/kosli_evaluate_trail.md b/client_reference/kosli_evaluate_trail.md
index 0db3207..58702f6 100644
--- a/client_reference/kosli_evaluate_trail.md
+++ b/client_reference/kosli_evaluate_trail.md
@@ -40,7 +40,7 @@ full data structure available to the policy. Use `--output json` for structured
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -51,60 +51,60 @@ full data structure available to the policy. Use `--output json` for structured
View an example of the `kosli evaluate trail` command in GitHub.
- In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/2c586e9ede3ce361642ddc9414312833c3fbf5e2/.github/workflows/artifact_snyk_test.yml#L344)
+ In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/9508524934b5a7a42caedb42f6675d177f841568/.github/workflows/artifact_snyk_test.yml#L350)
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli evaluate trail yourTrailName
- --policy yourPolicyFile.rego
+kosli evaluate trail yourTrailName
+ --policy yourPolicyFile.rego
```
```shell
-kosli evaluate trail yourTrailName
- --policy yourPolicyFile.rego
- --attestations pull-request
+kosli evaluate trail yourTrailName
+ --policy yourPolicyFile.rego
+ --attestations pull-request
```
```shell
-kosli evaluate trail yourTrailName
- --policy yourPolicyFile.rego
- --show-input
- --output json
+kosli evaluate trail yourTrailName
+ --policy yourPolicyFile.rego
+ --show-input
+ --output json
```
```shell
-kosli evaluate trail yourTrailName
- --policy yourPolicyFile.rego
- --params '{"min_approvers": 2}'
+kosli evaluate trail yourTrailName
+ --policy yourPolicyFile.rego
+ --params '{"min_approvers": 2}'
```
```shell
-kosli evaluate trail yourTrailName
- --policy yourPolicyFile.rego
- --params @params.json
+kosli evaluate trail yourTrailName
+ --policy yourPolicyFile.rego
+ --params @params.json
```
```shell
-kosli evaluate trail yourTrailName
- --policy yourPolicyFile.rego
- --no-assert
+kosli evaluate trail yourTrailName
+ --policy yourPolicyFile.rego
+ --no-assert
```
diff --git a/client_reference/kosli_evaluate_trails.md b/client_reference/kosli_evaluate_trails.md
index 1318b2a..2d6f7ac 100644
--- a/client_reference/kosli_evaluate_trails.md
+++ b/client_reference/kosli_evaluate_trails.md
@@ -41,53 +41,53 @@ full data structure available to the policy. Use `--output json` for structured
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli evaluate trails yourTrailName1 yourTrailName2
- --policy yourPolicyFile.rego
+kosli evaluate trails yourTrailName1 yourTrailName2
+ --policy yourPolicyFile.rego
```
```shell
-kosli evaluate trails yourTrailName1 yourTrailName2
- --policy yourPolicyFile.rego
- --attestations pull-request
+kosli evaluate trails yourTrailName1 yourTrailName2
+ --policy yourPolicyFile.rego
+ --attestations pull-request
```
```shell
-kosli evaluate trails yourTrailName1 yourTrailName2
- --policy yourPolicyFile.rego
- --show-input
- --output json
+kosli evaluate trails yourTrailName1 yourTrailName2
+ --policy yourPolicyFile.rego
+ --show-input
+ --output json
```
```shell
-kosli evaluate trails yourTrailName1 yourTrailName2
- --policy yourPolicyFile.rego
- --params '{"min_approvers": 2}'
+kosli evaluate trails yourTrailName1 yourTrailName2
+ --policy yourPolicyFile.rego
+ --params '{"min_approvers": 2}'
```
```shell
-kosli evaluate trails yourTrailName1 yourTrailName2
- --policy yourPolicyFile.rego
- --no-assert
+kosli evaluate trails yourTrailName1 yourTrailName2
+ --policy yourPolicyFile.rego
+ --no-assert
```
diff --git a/client_reference/kosli_fingerprint.md b/client_reference/kosli_fingerprint.md
index 69fd8dd..689ad2a 100644
--- a/client_reference/kosli_fingerprint.md
+++ b/client_reference/kosli_fingerprint.md
@@ -24,12 +24,12 @@ the image must have been pushed to or pulled from a registry. A freshly built im
`docker build`) does not have a repo digest. For images already in a registry, prefer
`--artifact-type=oci` to fetch the digest directly from the registry.
-When fingerprinting a 'dir' artifact, you can exclude certain paths from fingerprint calculation
+When fingerprinting a 'dir' artifact, you can exclude certain paths from fingerprint calculation
using the `--exclude` flag.
Excluded paths are relative to the DIR-PATH and can be literal paths or glob patterns.
With a directory structure like this `foo/bar/zam/file.txt` if you are calculating the fingerprint of `foo/bar` you need to
exclude `zam/file.txt` which is relative to the DIR-PATH.
-The supported glob pattern syntax is what is documented here: https://pkg.go.dev/path/filepath#Match ,
+The supported glob pattern syntax is what is documented here: https://pkg.go.dev/path/filepath#Match ,
plus the ability to use recursive globs "**"
If the directory structure contains a symbolic link to a *file* (for example, a link 'from/this/file' and a target of 'to/another/file') then:
@@ -67,7 +67,7 @@ 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. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -78,13 +78,13 @@ The `.kosli_ignore` will be treated as part of the artifact like any other file,
View an example of the `kosli fingerprint` command in GitHub.
- In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/2c586e9ede3ce361642ddc9414312833c3fbf5e2/.github/workflows/artifact_snyk_test.yml#L183)
+ In [this YAML file](https://github.com/cyber-dojo/snyk-scanning/blob/9508524934b5a7a42caedb42f6675d177f841568/.github/workflows/artifact_snyk_test.yml#L183)
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
diff --git a/client_reference/kosli_get_approval.md b/client_reference/kosli_get_approval.md
index 52f0b6c..99220af 100644
--- a/client_reference/kosli_get_approval.md
+++ b/client_reference/kosli_get_approval.md
@@ -38,31 +38,31 @@ EXPRESSION can be specified as follows:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli get approval flowName~1
+kosli get approval flowName~1
```
```shell
-kosli get approval flowName#10
+kosli get approval flowName#10
```
```shell
-kosli get approval flowName
+kosli get approval flowName
```
diff --git a/client_reference/kosli_get_artifact.md b/client_reference/kosli_get_artifact.md
index 0ea248d..ca5f71a 100644
--- a/client_reference/kosli_get_artifact.md
+++ b/client_reference/kosli_get_artifact.md
@@ -16,7 +16,7 @@ You can get an artifact by its fingerprint or by its git commit sha.
In case of using the git commit, it is possible to get multiple artifacts matching the git commit.
The expected argument is an expression to specify the artifact to get.
-It has the format `FLOW_NAME``SEPARATOR``COMMIT_SHA1|ARTIFACT_FINGERPRINT`
+It has the format `FLOW_NAME``SEPARATOR``COMMIT_SHA1|ARTIFACT_FINGERPRINT`
Expression can be specified as follows:
- flowName@`fingerprint` artifact with a given fingerprint. The fingerprint can be short or complete.
@@ -44,37 +44,37 @@ Examples of valid expressions are:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli get artifact flowName@fingerprint
+kosli get artifact flowName@fingerprint
```
```shell
-kosli get artifact flowName@fingerprint
+kosli get artifact flowName@fingerprint
```
```shell
-kosli get artifact flowName:commitSHA
+kosli get artifact flowName:commitSHA
```
```shell
-kosli get artifact flowName:commitSHA
+kosli get artifact flowName:commitSHA
```
diff --git a/client_reference/kosli_get_attestation-type.md b/client_reference/kosli_get_attestation-type.md
index 4ed52ff..8320507 100644
--- a/client_reference/kosli_get_attestation-type.md
+++ b/client_reference/kosli_get_attestation-type.md
@@ -11,7 +11,7 @@ description: "Get a custom Kosli attestation type. "
kosli get attestation-type TYPE-NAME [flags]
```
-Get a custom Kosli attestation type.
+Get a custom Kosli attestation type.
The TYPE-NAME can be specified as follows:
- customTypeName
- Returns the unversioned custom attestation type, containing details of all versions of the type.
@@ -36,14 +36,14 @@ The TYPE-NAME can be specified as follows:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
diff --git a/client_reference/kosli_get_attestation.md b/client_reference/kosli_get_attestation.md
index 9a5d779..900d078 100644
--- a/client_reference/kosli_get_attestation.md
+++ b/client_reference/kosli_get_attestation.md
@@ -11,13 +11,13 @@ description: "Get an attestation using its name or id. "
kosli get attestation [ATTESTATION-NAME] [flags]
```
-Get an attestation using its name or id.
+Get an attestation using its name or id.
You can get an attestation from a trail or artifact using its name. The attestation name should be given
-WITHOUT dot-notation.
-To get an attestation from a trail, specify the trail name using the `--trail` flag.
-To get an attestation from an artifact, specify the artifact fingerprint using the `--fingerprint` flag.
-These flags cannot be used together. In both cases the flow must also be specified using the `--flow` flag.
+WITHOUT dot-notation.
+To get an attestation from a trail, specify the trail name using the `--trail` flag.
+To get an attestation from an artifact, specify the artifact fingerprint using the `--fingerprint` flag.
+These flags cannot be used together. In both cases the flow must also be specified using the `--flow` flag.
If there are multiple attestations with the same name on the trail or artifact, a list of all will be returned.
You can also get an attestation by its id using the `--attestation-id` flag. This cannot be used with the attestation name,
@@ -42,7 +42,7 @@ or any of the `--flow`, `--trail` or `--fingerprint` flags.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -125,18 +125,18 @@ kosli get attestation snyk-container-scan --flow=differ-ci --fingerprint=0cbbe3a
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
```shell
-kosli get attestation attestationName
+kosli get attestation attestationName
```
```shell
-kosli get attestation attestationName
+kosli get attestation attestationName
--fingerprint fingerprint
```
diff --git a/client_reference/kosli_get_environment.md b/client_reference/kosli_get_environment.md
index 9f90183..1a04a5e 100644
--- a/client_reference/kosli_get_environment.md
+++ b/client_reference/kosli_get_environment.md
@@ -27,7 +27,7 @@ Get an environment's metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -51,8 +51,8 @@ kosli get environment aws-prod --output=json
"name": "aws-prod",
"type": "ECS",
"description": "The ECS cluster for production cyber-dojo",
- "last_modified_at": 1778219758.5460255,
- "last_reported_at": 1778219758.5460255,
+ "last_modified_at": 1778242858.628268,
+ "last_reported_at": 1778242858.628268,
"state": true,
"include_scaling": false,
"tags": {
diff --git a/client_reference/kosli_get_flow.md b/client_reference/kosli_get_flow.md
index 9e80fe5..d7515f4 100644
--- a/client_reference/kosli_get_flow.md
+++ b/client_reference/kosli_get_flow.md
@@ -27,7 +27,7 @@ Get the metadata of a specific flow.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_get_policy.md b/client_reference/kosli_get_policy.md
index befb57f..ec0771a 100644
--- a/client_reference/kosli_get_policy.md
+++ b/client_reference/kosli_get_policy.md
@@ -27,7 +27,7 @@ Get a policy's metadata.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_get_snapshot.md b/client_reference/kosli_get_snapshot.md
index ea02235..e601d2e 100644
--- a/client_reference/kosli_get_snapshot.md
+++ b/client_reference/kosli_get_snapshot.md
@@ -11,7 +11,7 @@ description: "Get a specified environment snapshot. "
kosli get snapshot ENVIRONMENT-NAME-OR-EXPRESSION [flags]
```
-Get a specified environment snapshot.
+Get a specified environment snapshot.
ENVIRONMENT-NAME-OR-EXPRESSION can be specified as follows:
- environmentName
- the latest snapshot for environmentName, at the time of the request
@@ -44,7 +44,7 @@ ENVIRONMENT-NAME-OR-EXPRESSION can be specified as follows:
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
@@ -65,7 +65,7 @@ kosli get snapshot aws-prod --output=json
```json
{
- "index": 4382,
+ "index": 4386,
"is_latest": true,
"next_snapshot_timestamp": null,
"artifact_compliance_count": {
@@ -73,13 +73,13 @@ kosli get snapshot aws-prod --output=json
"false": 0,
"null": 0
},
- "timestamp": 1778213818.5191746,
+ "timestamp": 1778225998.5296352,
"type": "ECS",
"compliant": true,
- "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/4382",
+ "html_url": "https://app.kosli.com/cyber-dojo/environments/aws-prod/snapshots/4386",
"artifacts": [
{
- "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:8768460@sha256:2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:cfb0d52@sha256:a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"compliant": true,
"deployments": [],
"policy_decisions": [
@@ -101,8 +101,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "runner-ci",
- "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "flow_name": "saver-ci",
+ "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
"artifact_status": null
}
},
@@ -110,23 +110,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-47",
+ "trail_name": "promotion-one-46",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": null
}
}
@@ -146,8 +146,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "runner-ci",
- "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "flow_name": "saver-ci",
+ "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
"artifact_status": "COMPLIANT"
}
},
@@ -155,23 +155,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-47",
+ "trail_name": "promotion-one-46",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": "COMPLIANT"
}
}
@@ -195,8 +195,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "runner-ci",
- "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "flow_name": "saver-ci",
+ "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
"artifact_status": null
}
},
@@ -204,23 +204,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-47",
+ "trail_name": "promotion-one-46",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": null
}
}
@@ -253,8 +253,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "runner-ci",
- "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "flow_name": "saver-ci",
+ "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
"artifact_status": null
}
},
@@ -262,23 +262,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-47",
+ "trail_name": "promotion-one-46",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": null
}
}
@@ -304,8 +304,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "runner-ci",
- "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "flow_name": "saver-ci",
+ "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
"artifact_status": "COMPLIANT"
}
},
@@ -313,23 +313,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-47",
+ "trail_name": "promotion-one-46",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": "COMPLIANT"
}
}
@@ -353,8 +353,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "runner-ci",
- "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "flow_name": "saver-ci",
+ "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
"artifact_status": null
}
},
@@ -362,23 +362,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-47",
+ "trail_name": "promotion-one-46",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"artifact_status": null
}
}
@@ -389,71 +389,69 @@ kosli get snapshot aws-prod --output=json
}
],
"reasons_for_incompliance": [],
- "fingerprint": "2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "fingerprint": "a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
"creationTimestamp": [
- 1778178483,
- 1778178485,
- 1778178487
+ 1778158856
],
"pods": null,
"annotation": {
"type": "updated-provenance",
- "was": 3,
- "now": 3
+ "was": 1,
+ "now": 1
},
- "flow_name": "runner-ci",
- "git_commit": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
- "commit_url": "https://github.com/cyber-dojo/runner/commit/8768460dc1c91de5f6485a7d3e36870b683edfc3",
- "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=4d69a029-0ed8-4ead-b1f5-f6e36c52",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci",
+ "flow_name": "saver-ci",
+ "git_commit": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "commit_url": "https://github.com/cyber-dojo/saver/commit/cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=680cd12d-e9b5-4a2a-8abf-1e75a370",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/runner/compare/a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e...8768460dc1c91de5f6485a7d3e36870b683edfc3",
- "previous_git_commit": "a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
- "previous_fingerprint": "b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:a2ffba5@sha256:b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
+ "diff_url": "https://github.com/cyber-dojo/saver/compare/92c0996cd9ae7642eb0769f928abe6cb6c391751...cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "previous_git_commit": "92c0996cd9ae7642eb0769f928abe6cb6c391751",
+ "previous_fingerprint": "1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:92c0996@sha256:1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
- "previous_trail_name": "a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
- "previous_template_reference_name": "runner"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/92c0996cd9ae7642eb0769f928abe6cb6c391751",
+ "previous_trail_name": "92c0996cd9ae7642eb0769f928abe6cb6c391751",
+ "previous_template_reference_name": "saver"
},
- "commit_lead_time": 12009.0,
+ "commit_lead_time": 900.0,
"flows": [
{
- "flow_name": "runner-ci",
- "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
- "template_reference_name": "runner",
- "git_commit": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
- "commit_url": "https://github.com/cyber-dojo/runner/commit/8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "flow_name": "saver-ci",
+ "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "template_reference_name": "saver",
+ "git_commit": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "commit_url": "https://github.com/cyber-dojo/saver/commit/cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
"git_commit_info": {
- "sha1": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
- "message": "Merge pull request #228 from cyber-dojo/add-doc-on-vulns\n\nAdd document detailing each known current snyk vulnerability",
+ "sha1": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "message": "Run CI workflow to check updated called snyk-scanning reusable workflow (#365)",
"author": "Jon Jagger ",
"branch": "main",
- "timestamp": 1778166474.0,
- "url": "https://github.com/cyber-dojo/runner/commit/8768460dc1c91de5f6485a7d3e36870b683edfc3"
+ "timestamp": 1778157956.0,
+ "url": "https://github.com/cyber-dojo/saver/commit/cfb0d52610ab73011f325c4bb5bf0b54fb51031c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=4d69a029-0ed8-4ead-b1f5-f6e36c52",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=680cd12d-e9b5-4a2a-8abf-1e75a370",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/runner/compare/a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e...8768460dc1c91de5f6485a7d3e36870b683edfc3",
- "previous_git_commit": "a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
- "previous_fingerprint": "b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:a2ffba5@sha256:b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
+ "diff_url": "https://github.com/cyber-dojo/saver/compare/92c0996cd9ae7642eb0769f928abe6cb6c391751...cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "previous_git_commit": "92c0996cd9ae7642eb0769f928abe6cb6c391751",
+ "previous_fingerprint": "1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:92c0996@sha256:1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
- "previous_trail_name": "a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
- "previous_template_reference_name": "runner"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/92c0996cd9ae7642eb0769f928abe6cb6c391751",
+ "previous_trail_name": "92c0996cd9ae7642eb0769f928abe6cb6c391751",
+ "previous_template_reference_name": "saver"
},
- "commit_lead_time": 12009.0,
+ "commit_lead_time": 900.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "production-promotion",
- "trail_name": "promotion-one-47",
- "template_reference_name": "runner",
+ "trail_name": "promotion-one-46",
+ "template_reference_name": "saver",
"git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
"commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
"git_commit_info": {
@@ -464,74 +462,74 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777361993.0,
"url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=198d0c91-0c81-43f4-8394-28bcbc26",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=1e37acfd-223d-4121-887e-10e9f294",
"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/1085da6ce837c6ebc77dda1e23b5de4e3c33380f...1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_fingerprint": "b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:a2ffba5@sha256:b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
+ "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa...1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "previous_fingerprint": "1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:92c0996@sha256:1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_trail_name": "promote-all-12",
- "previous_template_reference_name": "runner"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "previous_trail_name": "promote-all-11",
+ "previous_template_reference_name": "saver"
},
- "commit_lead_time": 816490.0,
+ "commit_lead_time": 796863.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
- "template_reference_name": "runner",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "template_reference_name": "saver",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=71d615d1-5deb-41fd-999b-7385377d",
- "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/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=0cd4005d-17c3-44ad-a28f-9e801bad",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": 21211.0,
+ "commit_lead_time": -66824.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
- "template_reference_name": "runner",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "template_reference_name": "saver",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=3643933b-99be-4337-aa5e-6a302d56",
- "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/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=4ebfdbd3-7e1d-4447-8f6b-5c28de0d",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact",
"deployment_diff": null,
- "commit_lead_time": 21211.0,
+ "commit_lead_time": -66824.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
],
"ecs_context": {
- "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/90432eba3a174098bb6f8c7a9c4a5193",
+ "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/25db3e22b29149ed970c25bc4d772823",
"cluster_name": null,
"service_name": null
}
},
{
- "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:cfb0d52@sha256:a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:db53382@sha256:f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"compliant": true,
"deployments": [],
"policy_decisions": [
@@ -553,8 +551,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "saver-ci",
- "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "flow_name": "languages-start-points-ci",
+ "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
"artifact_status": null
}
},
@@ -562,7 +560,31 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-46",
+ "trail_name": "promotion-one-45",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
},
@@ -570,7 +592,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
},
@@ -578,7 +600,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
}
@@ -598,8 +620,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "saver-ci",
- "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "flow_name": "languages-start-points-ci",
+ "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
"artifact_status": "COMPLIANT"
}
},
@@ -607,7 +629,31 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-46",
+ "trail_name": "promotion-one-45",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": "COMPLIANT"
}
},
@@ -615,7 +661,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": "COMPLIANT"
}
},
@@ -623,7 +669,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": "COMPLIANT"
}
}
@@ -641,14 +687,14 @@ kosli get snapshot aws-prod --output=json
"must_be_compliant": true
}
},
- "satisfied": null,
- "ignored": true,
+ "satisfied": true,
+ "ignored": false,
"resolutions": [
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "saver-ci",
- "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "flow_name": "languages-start-points-ci",
+ "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
"artifact_status": null
}
},
@@ -656,7 +702,31 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-46",
+ "trail_name": "promotion-one-45",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_satisfied",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
},
@@ -664,7 +734,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
},
@@ -672,7 +742,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
}
@@ -705,8 +775,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "saver-ci",
- "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "flow_name": "languages-start-points-ci",
+ "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
"artifact_status": null
}
},
@@ -714,7 +784,31 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-46",
+ "trail_name": "promotion-one-45",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
},
@@ -722,7 +816,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
},
@@ -730,7 +824,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
}
@@ -756,8 +850,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "saver-ci",
- "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "flow_name": "languages-start-points-ci",
+ "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
"artifact_status": "COMPLIANT"
}
},
@@ -765,7 +859,31 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-46",
+ "trail_name": "promotion-one-45",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": "COMPLIANT"
}
},
@@ -773,7 +891,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": "COMPLIANT"
}
},
@@ -781,7 +899,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": "COMPLIANT"
}
}
@@ -805,8 +923,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "saver-ci",
- "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "flow_name": "languages-start-points-ci",
+ "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
"artifact_status": null
}
},
@@ -814,7 +932,31 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-46",
+ "trail_name": "promotion-one-45",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
},
@@ -822,7 +964,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
},
@@ -830,7 +972,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"artifact_status": null
}
}
@@ -841,69 +983,69 @@ kosli get snapshot aws-prod --output=json
}
],
"reasons_for_incompliance": [],
- "fingerprint": "a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
+ "fingerprint": "f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
"creationTimestamp": [
- 1778158856
+ 1778081137
],
"pods": null,
"annotation": {
- "type": "unchanged",
+ "type": "updated-provenance",
"was": 1,
"now": 1
},
- "flow_name": "saver-ci",
- "git_commit": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
- "commit_url": "https://github.com/cyber-dojo/saver/commit/cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
- "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=680cd12d-e9b5-4a2a-8abf-1e75a370",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci",
+ "flow_name": "languages-start-points-ci",
+ "git_commit": "db53382650db8b7b3f216d0055009b0d77685677",
+ "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/db53382650db8b7b3f216d0055009b0d77685677",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=cc5da9c3-89bd-4ac1-a5ed-8885517d",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/saver/compare/92c0996cd9ae7642eb0769f928abe6cb6c391751...cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
- "previous_git_commit": "92c0996cd9ae7642eb0769f928abe6cb6c391751",
- "previous_fingerprint": "1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:92c0996@sha256:1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
+ "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/1a191ad636b6d1d2215e3726ad307f48f58843b6...db53382650db8b7b3f216d0055009b0d77685677",
+ "previous_git_commit": "1a191ad636b6d1d2215e3726ad307f48f58843b6",
+ "previous_fingerprint": "808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:1a191ad@sha256:808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/92c0996cd9ae7642eb0769f928abe6cb6c391751",
- "previous_trail_name": "92c0996cd9ae7642eb0769f928abe6cb6c391751",
- "previous_template_reference_name": "saver"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/1a191ad636b6d1d2215e3726ad307f48f58843b6",
+ "previous_trail_name": "1a191ad636b6d1d2215e3726ad307f48f58843b6",
+ "previous_template_reference_name": "languages-start-points"
},
- "commit_lead_time": 900.0,
+ "commit_lead_time": 846.0,
"flows": [
{
- "flow_name": "saver-ci",
- "trail_name": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
- "template_reference_name": "saver",
- "git_commit": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
- "commit_url": "https://github.com/cyber-dojo/saver/commit/cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
+ "flow_name": "languages-start-points-ci",
+ "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
+ "template_reference_name": "languages-start-points",
+ "git_commit": "db53382650db8b7b3f216d0055009b0d77685677",
+ "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/db53382650db8b7b3f216d0055009b0d77685677",
"git_commit_info": {
- "sha1": "cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
- "message": "Run CI workflow to check updated called snyk-scanning reusable workflow (#365)",
+ "sha1": "db53382650db8b7b3f216d0055009b0d77685677",
+ "message": "Merge pull request #206 from cyber-dojo/update-csharp-nunit2\n\nUpdate csharp-nunit",
"author": "Jon Jagger ",
"branch": "main",
- "timestamp": 1778157956.0,
- "url": "https://github.com/cyber-dojo/saver/commit/cfb0d52610ab73011f325c4bb5bf0b54fb51031c"
+ "timestamp": 1778080291.0,
+ "url": "https://github.com/cyber-dojo/languages-start-points/commit/db53382650db8b7b3f216d0055009b0d77685677"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci/artifacts/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=680cd12d-e9b5-4a2a-8abf-1e75a370",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/saver-ci",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=cc5da9c3-89bd-4ac1-a5ed-8885517d",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/saver/compare/92c0996cd9ae7642eb0769f928abe6cb6c391751...cfb0d52610ab73011f325c4bb5bf0b54fb51031c",
- "previous_git_commit": "92c0996cd9ae7642eb0769f928abe6cb6c391751",
- "previous_fingerprint": "1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:92c0996@sha256:1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
+ "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/1a191ad636b6d1d2215e3726ad307f48f58843b6...db53382650db8b7b3f216d0055009b0d77685677",
+ "previous_git_commit": "1a191ad636b6d1d2215e3726ad307f48f58843b6",
+ "previous_fingerprint": "808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:1a191ad@sha256:808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/saver/commit/92c0996cd9ae7642eb0769f928abe6cb6c391751",
- "previous_trail_name": "92c0996cd9ae7642eb0769f928abe6cb6c391751",
- "previous_template_reference_name": "saver"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/1a191ad636b6d1d2215e3726ad307f48f58843b6",
+ "previous_trail_name": "1a191ad636b6d1d2215e3726ad307f48f58843b6",
+ "previous_template_reference_name": "languages-start-points"
},
- "commit_lead_time": 900.0,
+ "commit_lead_time": 846.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "production-promotion",
- "trail_name": "promotion-one-46",
- "template_reference_name": "saver",
+ "trail_name": "promotion-one-45",
+ "template_reference_name": "languages-start-points",
"git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
"commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
"git_commit_info": {
@@ -914,74 +1056,137 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777361993.0,
"url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=1e37acfd-223d-4121-887e-10e9f294",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=88d4f5e5-448f-4b7c-b8a6-e21c5cfc",
"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/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa...1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_fingerprint": "1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/saver:92c0996@sha256:1aec038070877c202ebcf960c202fa5dd35b511d36a3d5a9dda5f2dda2300805",
+ "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/1085da6ce837c6ebc77dda1e23b5de4e3c33380f...1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_fingerprint": "808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:1a191ad@sha256:808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_trail_name": "promote-all-11",
- "previous_template_reference_name": "saver"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_trail_name": "promotion-one-44",
+ "previous_template_reference_name": "languages-start-points"
},
- "commit_lead_time": 796863.0,
+ "commit_lead_time": 719144.0,
+ "artifact_compliance_in_flow": true,
+ "flow_reasons_for_non_compliance": []
+ },
+ {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "template_reference_name": "languages-start-points",
+ "git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
+ "git_commit_info": {
+ "sha1": "117e18e0cb1eab30b9747ece58327eabfc595b90",
+ "message": "Add debug commands for kosli-fingerprint",
+ "author": "JonJagger ",
+ "branch": "main",
+ "timestamp": 1777614935.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
+ },
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=7037421b-6bc3-4370-86e5-34d83a36",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod",
+ "deployment_diff": null,
+ "commit_lead_time": 466202.0,
+ "artifact_compliance_in_flow": true,
+ "flow_reasons_for_non_compliance": []
+ },
+ {
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "template_reference_name": "languages-start-points",
+ "git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
+ "git_commit_info": {
+ "sha1": "117e18e0cb1eab30b9747ece58327eabfc595b90",
+ "message": "Add debug commands for kosli-fingerprint",
+ "author": "JonJagger ",
+ "branch": "main",
+ "timestamp": 1777614935.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
+ },
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=d58e2fcc-a224-47de-8c1b-4fc7bdbb",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta",
+ "deployment_diff": null,
+ "commit_lead_time": 466202.0,
+ "artifact_compliance_in_flow": true,
+ "flow_reasons_for_non_compliance": []
+ },
+ {
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "template_reference_name": "languages-start-points",
+ "git_commit": "e50b0406a64efc36fb236afd464e75b31877f623",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623",
+ "git_commit_info": {
+ "sha1": "e50b0406a64efc36fb236afd464e75b31877f623",
+ "message": "Split snyk Kosli flows to separate per-vuln and per-artifact trails\n\nsnyk-vulns-{env} mixed two trail naming patterns: {repo}-{severity}-{CVE}\nfor individual vulnerabilities, and {repo}-{fingerprint} for aggregate\nartifact scan results. snyk-{env}-per-vuln and snyk-{env}-per-artifact\nmake each flow's purpose explicit and the Kosli UI easier to navigate.\n\nAlso removes temporary debug logging from the fingerprint step.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "author": "JonJagger ",
+ "branch": "main",
+ "timestamp": 1778153406.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623"
+ },
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=ebdd640f-262f-44d5-ac49-0c708fe2",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "deployment_diff": null,
+ "commit_lead_time": -72269.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
- "template_reference_name": "saver",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "template_reference_name": "languages-start-points",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=52503371-4731-4037-a24b-570704a1",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=f7829fd9-2079-44ad-89d2-84688b3e",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact",
"deployment_diff": null,
- "commit_lead_time": 1584.0,
+ "commit_lead_time": -144543.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "saver-a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed",
- "template_reference_name": "saver",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "template_reference_name": "languages-start-points",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/a91ad5b7e510c364402342b6eea631e1f1b1b2166f1dac2c3dd28d007f95c3ed?artifact_id=041452ac-9c46-49f1-a43b-f828f8f4",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=5b227917-43d6-4346-8e6b-14d2559e",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": 1584.0,
+ "commit_lead_time": -144543.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
],
"ecs_context": {
- "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/25db3e22b29149ed970c25bc4d772823",
+ "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/4c27d625895a4234a4e8a819817e4289",
"cluster_name": null,
"service_name": null
}
},
{
- "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:db53382@sha256:f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:a6ece2b@sha256:3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"compliant": true,
"deployments": [],
"policy_decisions": [
@@ -1003,8 +1208,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "languages-start-points-ci",
- "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
+ "flow_name": "dashboard-ci",
+ "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
"artifact_status": null
}
},
@@ -1012,7 +1217,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-45",
+ "trail_name": "promote-all-11",
"artifact_status": null
}
},
@@ -1020,7 +1225,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
@@ -1028,7 +1233,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
@@ -1036,23 +1241,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
}
@@ -1072,8 +1277,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "languages-start-points-ci",
- "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
+ "flow_name": "dashboard-ci",
+ "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
"artifact_status": "COMPLIANT"
}
},
@@ -1081,7 +1286,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-45",
+ "trail_name": "promote-all-11",
"artifact_status": "COMPLIANT"
}
},
@@ -1089,7 +1294,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
},
@@ -1097,7 +1302,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
},
@@ -1105,23 +1310,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
}
@@ -1145,8 +1350,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "languages-start-points-ci",
- "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
+ "flow_name": "dashboard-ci",
+ "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
"artifact_status": null
}
},
@@ -1154,7 +1359,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-45",
+ "trail_name": "promote-all-11",
"artifact_status": null
}
},
@@ -1162,7 +1367,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_satisfied",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
@@ -1170,7 +1375,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
@@ -1178,23 +1383,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
}
@@ -1227,8 +1432,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "languages-start-points-ci",
- "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
+ "flow_name": "dashboard-ci",
+ "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
"artifact_status": null
}
},
@@ -1236,7 +1441,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-45",
+ "trail_name": "promote-all-11",
"artifact_status": null
}
},
@@ -1244,7 +1449,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
@@ -1252,7 +1457,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
@@ -1260,23 +1465,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
}
@@ -1302,8 +1507,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "languages-start-points-ci",
- "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
+ "flow_name": "dashboard-ci",
+ "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
"artifact_status": "COMPLIANT"
}
},
@@ -1311,7 +1516,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-45",
+ "trail_name": "promote-all-11",
"artifact_status": "COMPLIANT"
}
},
@@ -1319,7 +1524,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
},
@@ -1327,7 +1532,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
},
@@ -1335,23 +1540,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": "COMPLIANT"
}
}
@@ -1375,8 +1580,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "languages-start-points-ci",
- "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
+ "flow_name": "dashboard-ci",
+ "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
"artifact_status": null
}
},
@@ -1384,7 +1589,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promotion-one-45",
+ "trail_name": "promote-all-11",
"artifact_status": null
}
},
@@ -1392,7 +1597,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
@@ -1400,7 +1605,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
@@ -1408,23 +1613,23 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"artifact_status": null
}
}
@@ -1435,100 +1640,100 @@ kosli get snapshot aws-prod --output=json
}
],
"reasons_for_incompliance": [],
- "fingerprint": "f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
+ "fingerprint": "3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
"creationTimestamp": [
- 1778081137
+ 1776923862
],
"pods": null,
"annotation": {
- "type": "unchanged",
+ "type": "updated-provenance",
"was": 1,
"now": 1
},
- "flow_name": "languages-start-points-ci",
- "git_commit": "db53382650db8b7b3f216d0055009b0d77685677",
- "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/db53382650db8b7b3f216d0055009b0d77685677",
- "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=cc5da9c3-89bd-4ac1-a5ed-8885517d",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci",
+ "flow_name": "dashboard-ci",
+ "git_commit": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "commit_url": "https://github.com/cyber-dojo/dashboard/commit/a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=1281066d-38ba-432c-92c2-f3d7003e",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/1a191ad636b6d1d2215e3726ad307f48f58843b6...db53382650db8b7b3f216d0055009b0d77685677",
- "previous_git_commit": "1a191ad636b6d1d2215e3726ad307f48f58843b6",
- "previous_fingerprint": "808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:1a191ad@sha256:808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
+ "diff_url": "https://github.com/cyber-dojo/dashboard/compare/632127a7f162ad1ac02305a2940888264034364b...a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "previous_git_commit": "632127a7f162ad1ac02305a2940888264034364b",
+ "previous_fingerprint": "a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:632127a@sha256:a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/1a191ad636b6d1d2215e3726ad307f48f58843b6",
- "previous_trail_name": "1a191ad636b6d1d2215e3726ad307f48f58843b6",
- "previous_template_reference_name": "languages-start-points"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/632127a7f162ad1ac02305a2940888264034364b",
+ "previous_trail_name": "632127a7f162ad1ac02305a2940888264034364b",
+ "previous_template_reference_name": "dashboard"
},
- "commit_lead_time": 846.0,
+ "commit_lead_time": 2577.0,
"flows": [
{
- "flow_name": "languages-start-points-ci",
- "trail_name": "db53382650db8b7b3f216d0055009b0d77685677",
- "template_reference_name": "languages-start-points",
- "git_commit": "db53382650db8b7b3f216d0055009b0d77685677",
- "commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/db53382650db8b7b3f216d0055009b0d77685677",
+ "flow_name": "dashboard-ci",
+ "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "template_reference_name": "dashboard",
+ "git_commit": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "commit_url": "https://github.com/cyber-dojo/dashboard/commit/a6ece2b597888f7ab149759daadda08e3afab0c1",
"git_commit_info": {
- "sha1": "db53382650db8b7b3f216d0055009b0d77685677",
- "message": "Merge pull request #206 from cyber-dojo/update-csharp-nunit2\n\nUpdate csharp-nunit",
+ "sha1": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "message": "Remove defaulted aws-rolename from snyk-scanning job (#363)",
"author": "Jon Jagger ",
"branch": "main",
- "timestamp": 1778080291.0,
- "url": "https://github.com/cyber-dojo/languages-start-points/commit/db53382650db8b7b3f216d0055009b0d77685677"
+ "timestamp": 1776921285.0,
+ "url": "https://github.com/cyber-dojo/dashboard/commit/a6ece2b597888f7ab149759daadda08e3afab0c1"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=cc5da9c3-89bd-4ac1-a5ed-8885517d",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/languages-start-points-ci",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=1281066d-38ba-432c-92c2-f3d7003e",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/languages-start-points/compare/1a191ad636b6d1d2215e3726ad307f48f58843b6...db53382650db8b7b3f216d0055009b0d77685677",
- "previous_git_commit": "1a191ad636b6d1d2215e3726ad307f48f58843b6",
- "previous_fingerprint": "808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:1a191ad@sha256:808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
+ "diff_url": "https://github.com/cyber-dojo/dashboard/compare/632127a7f162ad1ac02305a2940888264034364b...a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "previous_git_commit": "632127a7f162ad1ac02305a2940888264034364b",
+ "previous_fingerprint": "a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:632127a@sha256:a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/languages-start-points/commit/1a191ad636b6d1d2215e3726ad307f48f58843b6",
- "previous_trail_name": "1a191ad636b6d1d2215e3726ad307f48f58843b6",
- "previous_template_reference_name": "languages-start-points"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/632127a7f162ad1ac02305a2940888264034364b",
+ "previous_trail_name": "632127a7f162ad1ac02305a2940888264034364b",
+ "previous_template_reference_name": "dashboard"
},
- "commit_lead_time": 846.0,
+ "commit_lead_time": 2577.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "production-promotion",
- "trail_name": "promotion-one-45",
- "template_reference_name": "languages-start-points",
- "git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "trail_name": "promote-all-11",
+ "template_reference_name": "dashboard",
+ "git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
"git_commit_info": {
- "sha1": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "message": "Add Snyk scan to promote-all, scoped to aws-prod compliance only\n\nMirrors the change made to promote-one: inserts a snyk-scan job\n(before sdlc-control-gate) that scans each artifact against the\naws-prod environment policy. Removes KOSLI_AWS_BETA env var and\nthe aws-beta assert and attest steps.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "message": "Revert WEB_SECRET_KEY_BASE changes - SECRET_KEY_BASE now fetched from AWS SSM in web's Terraform\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1777361993.0,
- "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f"
+ "timestamp": 1776099255.0,
+ "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=88d4f5e5-448f-4b7c-b8a6-e21c5cfc",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=2acc6089-d810-49af-a10f-ff262a82",
"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/1085da6ce837c6ebc77dda1e23b5de4e3c33380f...1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_fingerprint": "808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/languages-start-points:1a191ad@sha256:808640967968ed09d2719d88e77e77a617030e5335d408a077d98cfbbeb49cf4",
+ "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa...87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "previous_git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "previous_fingerprint": "a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:632127a@sha256:a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_trail_name": "promotion-one-44",
- "previous_template_reference_name": "languages-start-points"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "previous_trail_name": "promote-all-10",
+ "previous_template_reference_name": "dashboard"
},
- "commit_lead_time": 719144.0,
+ "commit_lead_time": 824607.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
- "template_reference_name": "languages-start-points",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "template_reference_name": "dashboard",
"git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
"git_commit_info": {
@@ -1539,17 +1744,17 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777614935.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=7037421b-6bc3-4370-86e5-34d83a36",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=5be0f361-8a6d-4e2d-a7d7-d07cf99d",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod",
"deployment_diff": null,
- "commit_lead_time": 466202.0,
+ "commit_lead_time": -691073.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
- "template_reference_name": "languages-start-points",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "template_reference_name": "dashboard",
"git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
"git_commit_info": {
@@ -1560,17 +1765,17 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777614935.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=d58e2fcc-a224-47de-8c1b-4fc7bdbb",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=7bf8e775-a41e-4128-bcab-cf0a3461",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta",
"deployment_diff": null,
- "commit_lead_time": 466202.0,
+ "commit_lead_time": -691073.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
- "template_reference_name": "languages-start-points",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "template_reference_name": "dashboard",
"git_commit": "e50b0406a64efc36fb236afd464e75b31877f623",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623",
"git_commit_info": {
@@ -1581,64 +1786,64 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1778153406.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=ebdd640f-262f-44d5-ac49-0c708fe2",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=87660fcc-9088-4b68-ad78-e3d873aa",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285",
"deployment_diff": null,
- "commit_lead_time": -72269.0,
+ "commit_lead_time": -1229544.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
- "template_reference_name": "languages-start-points",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "template_reference_name": "dashboard",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=349919c1-8fe5-483f-977a-262ab1e3",
- "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/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=ae4b690e-af60-4a12-a53a-e6c66495",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -76135.0,
+ "commit_lead_time": -1301818.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "languages-start-points-f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98",
- "template_reference_name": "languages-start-points",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "template_reference_name": "dashboard",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/f66cfbbc69bcb75bd3d2df7227d168335a8adbc27a0b59695db259ddde320a98?artifact_id=c0634b8e-3c3b-4e98-9801-5cb5f83e",
- "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/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=531e7cf8-1002-4523-9056-9e28ccb9",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -76135.0,
+ "commit_lead_time": -1301818.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
],
"ecs_context": {
- "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/4c27d625895a4234a4e8a819817e4289",
+ "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/0993e7a4118e4a7699ad6eb9c06a4b47",
"cluster_name": null,
"service_name": null
}
},
{
- "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:1999d13@sha256:541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:30dffd0@sha256:becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"compliant": true,
"deployments": [],
"policy_decisions": [
@@ -1660,8 +1865,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "web-ci",
- "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "flow_name": "differ-ci",
+ "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
"artifact_status": null
}
},
@@ -1669,7 +1874,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-13",
+ "trail_name": "promote-all-11",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
@@ -1677,15 +1890,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
@@ -1693,7 +1906,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
}
@@ -1713,8 +1934,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "web-ci",
- "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "flow_name": "differ-ci",
+ "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
"artifact_status": "COMPLIANT"
}
},
@@ -1722,7 +1943,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-13",
+ "trail_name": "promote-all-11",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": "COMPLIANT"
}
},
@@ -1730,15 +1959,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": "COMPLIANT"
}
},
@@ -1746,7 +1975,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": "COMPLIANT"
}
}
@@ -1770,8 +2007,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "web-ci",
- "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "flow_name": "differ-ci",
+ "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
"artifact_status": null
}
},
@@ -1779,7 +2016,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-13",
+ "trail_name": "promote-all-11",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_satisfied",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
@@ -1787,15 +2032,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
{
- "type": "rule_satisfied",
+ "type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
@@ -1803,7 +2048,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
}
@@ -1836,8 +2089,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "web-ci",
- "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "flow_name": "differ-ci",
+ "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
"artifact_status": null
}
},
@@ -1845,7 +2098,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-13",
+ "trail_name": "promote-all-11",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
@@ -1853,15 +2114,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
@@ -1869,7 +2130,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
}
@@ -1895,8 +2164,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "web-ci",
- "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "flow_name": "differ-ci",
+ "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
"artifact_status": "COMPLIANT"
}
},
@@ -1904,31 +2173,47 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-13",
+ "trail_name": "promote-all-11",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "artifact_status": "COMPLIANT"
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": "COMPLIANT"
}
}
@@ -1952,8 +2237,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "web-ci",
- "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "flow_name": "differ-ci",
+ "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
"artifact_status": null
}
},
@@ -1961,7 +2246,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-13",
+ "trail_name": "promote-all-11",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
@@ -1969,15 +2262,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
},
@@ -1985,7 +2278,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "artifact_status": null
+ }
+ },
+ {
+ "type": "rule_not_applicable",
+ "context": {
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"artifact_status": null
}
}
@@ -1996,102 +2297,100 @@ kosli get snapshot aws-prod --output=json
}
],
"reasons_for_incompliance": [],
- "fingerprint": "541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "fingerprint": "becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
"creationTimestamp": [
- 1777842904,
- 1777842905,
- 1777842905
+ 1776923213
],
"pods": null,
"annotation": {
- "type": "unchanged",
- "was": 3,
- "now": 3
+ "type": "updated-provenance",
+ "was": 1,
+ "now": 1
},
- "flow_name": "web-ci",
- "git_commit": "1999d1303424879336b04fa3310256554aa6cfa6",
- "commit_url": "https://github.com/cyber-dojo/web/commit/1999d1303424879336b04fa3310256554aa6cfa6",
- "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=359b4539-989d-48f5-88eb-8a553baf",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci",
+ "flow_name": "differ-ci",
+ "git_commit": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "commit_url": "https://github.com/cyber-dojo/differ/commit/30dffd09c3f896a322c65029247abcea3019c43a",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=046919b1-42dd-47f8-8569-912d0259",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/web/compare/23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98...1999d1303424879336b04fa3310256554aa6cfa6",
- "previous_git_commit": "23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
- "previous_fingerprint": "3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:23d6f24@sha256:3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
+ "diff_url": "https://github.com/cyber-dojo/differ/compare/c9bbaa1eceb4b8bdffa065ea7034de23d3364919...30dffd09c3f896a322c65029247abcea3019c43a",
+ "previous_git_commit": "c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
+ "previous_fingerprint": "480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:c9bbaa1@sha256:480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
- "previous_trail_name": "23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
- "previous_template_reference_name": "web"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
+ "previous_trail_name": "c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
+ "previous_template_reference_name": "differ"
},
- "commit_lead_time": 1241.0,
+ "commit_lead_time": 1092.0,
"flows": [
{
- "flow_name": "web-ci",
- "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
- "template_reference_name": "web",
- "git_commit": "1999d1303424879336b04fa3310256554aa6cfa6",
- "commit_url": "https://github.com/cyber-dojo/web/commit/1999d1303424879336b04fa3310256554aa6cfa6",
+ "flow_name": "differ-ci",
+ "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "template_reference_name": "differ",
+ "git_commit": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "commit_url": "https://github.com/cyber-dojo/differ/commit/30dffd09c3f896a322c65029247abcea3019c43a",
"git_commit_info": {
- "sha1": "1999d1303424879336b04fa3310256554aa6cfa6",
- "message": "Enable CSRF token enforcement on POST requests (Phase 2) (#306)\n\nPhase 1 (deployed April 14) set the csrf_token cookie on all responses.\nPhase 2 enables the enforcement check that was left commented out pending\nall users reloading. Adds a global jQuery ajaxSend hook so all POST\nrequests automatically include the token, and updates the controller test\nbase to seed the cookie and merge the token into POST params.\n\nUsers with a kata page open before this deploy will get one 403 on their\nnext test run; reloading the page picks up the new JS and self-heals.\n\nCo-authored-by: Claude Sonnet 4.6 ",
+ "sha1": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "message": "Remove defaulted aws-rolename from snyk-scanning job (#373)",
"author": "Jon Jagger ",
"branch": "main",
- "timestamp": 1777841663.0,
- "url": "https://github.com/cyber-dojo/web/commit/1999d1303424879336b04fa3310256554aa6cfa6"
+ "timestamp": 1776922121.0,
+ "url": "https://github.com/cyber-dojo/differ/commit/30dffd09c3f896a322c65029247abcea3019c43a"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=359b4539-989d-48f5-88eb-8a553baf",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=046919b1-42dd-47f8-8569-912d0259",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/web/compare/23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98...1999d1303424879336b04fa3310256554aa6cfa6",
- "previous_git_commit": "23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
- "previous_fingerprint": "3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:23d6f24@sha256:3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
+ "diff_url": "https://github.com/cyber-dojo/differ/compare/c9bbaa1eceb4b8bdffa065ea7034de23d3364919...30dffd09c3f896a322c65029247abcea3019c43a",
+ "previous_git_commit": "c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
+ "previous_fingerprint": "480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:c9bbaa1@sha256:480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
- "previous_trail_name": "23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
- "previous_template_reference_name": "web"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
+ "previous_trail_name": "c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
+ "previous_template_reference_name": "differ"
},
- "commit_lead_time": 1241.0,
+ "commit_lead_time": 1092.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "production-promotion",
- "trail_name": "promote-all-13",
- "template_reference_name": "web",
- "git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "trail_name": "promote-all-11",
+ "template_reference_name": "differ",
+ "git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
"git_commit_info": {
- "sha1": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "message": "Add Snyk scan to promote-all, scoped to aws-prod compliance only\n\nMirrors the change made to promote-one: inserts a snyk-scan job\n(before sdlc-control-gate) that scans each artifact against the\naws-prod environment policy. Removes KOSLI_AWS_BETA env var and\nthe aws-beta assert and attest steps.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "message": "Revert WEB_SECRET_KEY_BASE changes - SECRET_KEY_BASE now fetched from AWS SSM in web's Terraform\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1777361993.0,
- "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f"
+ "timestamp": 1776099255.0,
+ "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=a34a55d8-2118-49ac-8899-aa2b6306",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=a5169b25-0d5c-491c-991e-2c1d389b",
"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/1085da6ce837c6ebc77dda1e23b5de4e3c33380f...1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_fingerprint": "3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:23d6f24@sha256:3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
+ "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa...87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "previous_git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "previous_fingerprint": "480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:c9bbaa1@sha256:480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
- "previous_trail_name": "promote-all-12",
- "previous_template_reference_name": "web"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "previous_trail_name": "promote-all-10",
+ "previous_template_reference_name": "differ"
},
- "commit_lead_time": 480911.0,
+ "commit_lead_time": 823958.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
- "template_reference_name": "web",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "template_reference_name": "differ",
"git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
"git_commit_info": {
@@ -2102,17 +2401,17 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777614935.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=70de9485-fbcc-4d37-a744-546c44ba",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=4eefbc15-7ea4-4d60-87d8-3a6098cb",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod",
"deployment_diff": null,
- "commit_lead_time": 227969.0,
+ "commit_lead_time": -691722.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
- "template_reference_name": "web",
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "template_reference_name": "differ",
"git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
"git_commit_info": {
@@ -2123,43 +2422,85 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777614935.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=d6d28b90-e930-4451-bb36-13e65471",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=f295a00f-04cf-4c92-96d2-44181c6a",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta",
"deployment_diff": null,
- "commit_lead_time": 227969.0,
+ "commit_lead_time": -691722.0,
+ "artifact_compliance_in_flow": true,
+ "flow_reasons_for_non_compliance": []
+ },
+ {
+ "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "template_reference_name": "differ",
+ "git_commit": "e50b0406a64efc36fb236afd464e75b31877f623",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623",
+ "git_commit_info": {
+ "sha1": "e50b0406a64efc36fb236afd464e75b31877f623",
+ "message": "Split snyk Kosli flows to separate per-vuln and per-artifact trails\n\nsnyk-vulns-{env} mixed two trail naming patterns: {repo}-{severity}-{CVE}\nfor individual vulnerabilities, and {repo}-{fingerprint} for aggregate\nartifact scan results. snyk-{env}-per-vuln and snyk-{env}-per-artifact\nmake each flow's purpose explicit and the Kosli UI easier to navigate.\n\nAlso removes temporary debug logging from the fingerprint step.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "author": "JonJagger ",
+ "branch": "main",
+ "timestamp": 1778153406.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623"
+ },
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=274a4692-c2f3-48eb-b9d9-6cbbedad",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285",
+ "deployment_diff": null,
+ "commit_lead_time": -1230193.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
- "template_reference_name": "web",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "template_reference_name": "differ",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=35faecec-2fd2-4bf2-a035-0bf6ec0b",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=fc9028e8-b169-4ff7-9f55-839b7f81",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -314368.0,
+ "commit_lead_time": -1302467.0,
+ "artifact_compliance_in_flow": true,
+ "flow_reasons_for_non_compliance": []
+ },
+ {
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "template_reference_name": "differ",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
+ "git_commit_info": {
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "author": "JonJagger ",
+ "branch": "main",
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
+ },
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=f9f2ad7e-4938-470d-be03-ab8e290e",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact",
+ "deployment_diff": null,
+ "commit_lead_time": -1302467.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
],
"ecs_context": {
- "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/9560296ee7a54a18afe27e41c76be7c5",
+ "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ee14a7db1433415dbcbf9b2a5a983c4d",
"cluster_name": null,
"service_name": null
}
},
{
- "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:a6ece2b@sha256:3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:8768460@sha256:2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"compliant": true,
"deployments": [],
"policy_decisions": [
@@ -2181,8 +2522,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "dashboard-ci",
- "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "flow_name": "runner-ci",
+ "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
"artifact_status": null
}
},
@@ -2190,31 +2531,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "promotion-one-47",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": null
}
},
@@ -2222,15 +2547,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": null
}
}
@@ -2250,8 +2567,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "dashboard-ci",
- "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "flow_name": "runner-ci",
+ "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
"artifact_status": "COMPLIANT"
}
},
@@ -2259,31 +2576,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "promotion-one-47",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": "COMPLIANT"
}
},
@@ -2291,15 +2592,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": "COMPLIANT"
}
}
@@ -2317,14 +2610,14 @@ kosli get snapshot aws-prod --output=json
"must_be_compliant": true
}
},
- "satisfied": true,
- "ignored": false,
+ "satisfied": null,
+ "ignored": true,
"resolutions": [
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "dashboard-ci",
- "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "flow_name": "runner-ci",
+ "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
"artifact_status": null
}
},
@@ -2332,31 +2625,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": null
- }
- },
- {
- "type": "rule_satisfied",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "promotion-one-47",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": null
}
},
@@ -2364,15 +2641,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": null
}
}
@@ -2405,8 +2674,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "dashboard-ci",
- "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "flow_name": "runner-ci",
+ "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
"artifact_status": null
}
},
@@ -2414,31 +2683,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "promotion-one-47",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": null
}
},
@@ -2446,15 +2699,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": null
}
}
@@ -2480,8 +2725,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "dashboard-ci",
- "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "flow_name": "runner-ci",
+ "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
"artifact_status": "COMPLIANT"
}
},
@@ -2489,31 +2734,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "promotion-one-47",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": "COMPLIANT"
}
},
@@ -2521,15 +2750,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": "COMPLIANT"
}
}
@@ -2553,8 +2774,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "dashboard-ci",
- "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "flow_name": "runner-ci",
+ "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
"artifact_status": null
}
},
@@ -2562,31 +2783,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "promotion-one-47",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": null
}
},
@@ -2594,15 +2799,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"artifact_status": null
}
}
@@ -2613,163 +2810,102 @@ kosli get snapshot aws-prod --output=json
}
],
"reasons_for_incompliance": [],
- "fingerprint": "3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
+ "fingerprint": "2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
"creationTimestamp": [
- 1776923862
+ 1778178483,
+ 1778178485,
+ 1778178487
],
"pods": null,
"annotation": {
"type": "unchanged",
- "was": 1,
- "now": 1
+ "was": 3,
+ "now": 3
},
- "flow_name": "dashboard-ci",
- "git_commit": "a6ece2b597888f7ab149759daadda08e3afab0c1",
- "commit_url": "https://github.com/cyber-dojo/dashboard/commit/a6ece2b597888f7ab149759daadda08e3afab0c1",
- "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=1281066d-38ba-432c-92c2-f3d7003e",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
+ "flow_name": "runner-ci",
+ "git_commit": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "commit_url": "https://github.com/cyber-dojo/runner/commit/8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=4d69a029-0ed8-4ead-b1f5-f6e36c52",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/dashboard/compare/632127a7f162ad1ac02305a2940888264034364b...a6ece2b597888f7ab149759daadda08e3afab0c1",
- "previous_git_commit": "632127a7f162ad1ac02305a2940888264034364b",
- "previous_fingerprint": "a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:632127a@sha256:a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
+ "diff_url": "https://github.com/cyber-dojo/runner/compare/a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e...8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "previous_git_commit": "a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
+ "previous_fingerprint": "b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:a2ffba5@sha256:b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/632127a7f162ad1ac02305a2940888264034364b",
- "previous_trail_name": "632127a7f162ad1ac02305a2940888264034364b",
- "previous_template_reference_name": "dashboard"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
+ "previous_trail_name": "a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
+ "previous_template_reference_name": "runner"
},
- "commit_lead_time": 2577.0,
+ "commit_lead_time": 12009.0,
"flows": [
{
- "flow_name": "dashboard-ci",
- "trail_name": "a6ece2b597888f7ab149759daadda08e3afab0c1",
- "template_reference_name": "dashboard",
- "git_commit": "a6ece2b597888f7ab149759daadda08e3afab0c1",
- "commit_url": "https://github.com/cyber-dojo/dashboard/commit/a6ece2b597888f7ab149759daadda08e3afab0c1",
+ "flow_name": "runner-ci",
+ "trail_name": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "template_reference_name": "runner",
+ "git_commit": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "commit_url": "https://github.com/cyber-dojo/runner/commit/8768460dc1c91de5f6485a7d3e36870b683edfc3",
"git_commit_info": {
- "sha1": "a6ece2b597888f7ab149759daadda08e3afab0c1",
- "message": "Remove defaulted aws-rolename from snyk-scanning job (#363)",
+ "sha1": "8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "message": "Merge pull request #228 from cyber-dojo/add-doc-on-vulns\n\nAdd document detailing each known current snyk vulnerability",
"author": "Jon Jagger ",
"branch": "main",
- "timestamp": 1776921285.0,
- "url": "https://github.com/cyber-dojo/dashboard/commit/a6ece2b597888f7ab149759daadda08e3afab0c1"
- },
- "html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=1281066d-38ba-432c-92c2-f3d7003e",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/dashboard-ci",
+ "timestamp": 1778166474.0,
+ "url": "https://github.com/cyber-dojo/runner/commit/8768460dc1c91de5f6485a7d3e36870b683edfc3"
+ },
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci/artifacts/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=4d69a029-0ed8-4ead-b1f5-f6e36c52",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/runner-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/dashboard/compare/632127a7f162ad1ac02305a2940888264034364b...a6ece2b597888f7ab149759daadda08e3afab0c1",
- "previous_git_commit": "632127a7f162ad1ac02305a2940888264034364b",
- "previous_fingerprint": "a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:632127a@sha256:a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
+ "diff_url": "https://github.com/cyber-dojo/runner/compare/a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e...8768460dc1c91de5f6485a7d3e36870b683edfc3",
+ "previous_git_commit": "a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
+ "previous_fingerprint": "b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:a2ffba5@sha256:b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/dashboard/commit/632127a7f162ad1ac02305a2940888264034364b",
- "previous_trail_name": "632127a7f162ad1ac02305a2940888264034364b",
- "previous_template_reference_name": "dashboard"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/runner/commit/a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
+ "previous_trail_name": "a2ffba5a5debbc8f4f199cf5a88e5899c7d6547e",
+ "previous_template_reference_name": "runner"
},
- "commit_lead_time": 2577.0,
+ "commit_lead_time": 12009.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "template_reference_name": "dashboard",
- "git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "trail_name": "promotion-one-47",
+ "template_reference_name": "runner",
+ "git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
"git_commit_info": {
- "sha1": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "message": "Revert WEB_SECRET_KEY_BASE changes - SECRET_KEY_BASE now fetched from AWS SSM in web's Terraform\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "message": "Add Snyk scan to promote-all, scoped to aws-prod compliance only\n\nMirrors the change made to promote-one: inserts a snyk-scan job\n(before sdlc-control-gate) that scans each artifact against the\naws-prod environment policy. Removes KOSLI_AWS_BETA env var and\nthe aws-beta assert and attest steps.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1776099255.0,
- "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa"
+ "timestamp": 1777361993.0,
+ "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=2acc6089-d810-49af-a10f-ff262a82",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=198d0c91-0c81-43f4-8394-28bcbc26",
"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/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa...87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_fingerprint": "a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/dashboard:632127a@sha256:a03cce86f5958febc442665846863ab9701456d766e76ad3816f3f00a971d850",
+ "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/1085da6ce837c6ebc77dda1e23b5de4e3c33380f...1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_fingerprint": "b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/runner:a2ffba5@sha256:b6df6b1da5f73049085d9e04549f9674f0e54e9f0273467db9d7b46e3e9ad039",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_trail_name": "promote-all-10",
- "previous_template_reference_name": "dashboard"
- },
- "commit_lead_time": 824607.0,
- "artifact_compliance_in_flow": true,
- "flow_reasons_for_non_compliance": []
- },
- {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "template_reference_name": "dashboard",
- "git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
- "git_commit_info": {
- "sha1": "117e18e0cb1eab30b9747ece58327eabfc595b90",
- "message": "Add debug commands for kosli-fingerprint",
- "author": "JonJagger ",
- "branch": "main",
- "timestamp": 1777614935.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
- },
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=5be0f361-8a6d-4e2d-a7d7-d07cf99d",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod",
- "deployment_diff": null,
- "commit_lead_time": -691073.0,
- "artifact_compliance_in_flow": true,
- "flow_reasons_for_non_compliance": []
- },
- {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "template_reference_name": "dashboard",
- "git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
- "git_commit_info": {
- "sha1": "117e18e0cb1eab30b9747ece58327eabfc595b90",
- "message": "Add debug commands for kosli-fingerprint",
- "author": "JonJagger ",
- "branch": "main",
- "timestamp": 1777614935.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
- },
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=7bf8e775-a41e-4128-bcab-cf0a3461",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta",
- "deployment_diff": null,
- "commit_lead_time": -691073.0,
- "artifact_compliance_in_flow": true,
- "flow_reasons_for_non_compliance": []
- },
- {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "template_reference_name": "dashboard",
- "git_commit": "e50b0406a64efc36fb236afd464e75b31877f623",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623",
- "git_commit_info": {
- "sha1": "e50b0406a64efc36fb236afd464e75b31877f623",
- "message": "Split snyk Kosli flows to separate per-vuln and per-artifact trails\n\nsnyk-vulns-{env} mixed two trail naming patterns: {repo}-{severity}-{CVE}\nfor individual vulnerabilities, and {repo}-{fingerprint} for aggregate\nartifact scan results. snyk-{env}-per-vuln and snyk-{env}-per-artifact\nmake each flow's purpose explicit and the Kosli UI easier to navigate.\n\nAlso removes temporary debug logging from the fingerprint step.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
- "author": "JonJagger ",
- "branch": "main",
- "timestamp": 1778153406.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_trail_name": "promote-all-12",
+ "previous_template_reference_name": "runner"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=87660fcc-9088-4b68-ad78-e3d873aa",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285",
- "deployment_diff": null,
- "commit_lead_time": -1229544.0,
+ "commit_lead_time": 816490.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "template_reference_name": "dashboard",
+ "flow_name": "snyk-aws-beta-per-artifact",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "template_reference_name": "runner",
"git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
"git_commit_info": {
@@ -2780,43 +2916,43 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1778157272.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=6aee29f9-6c2b-42e1-adf9-7d653c5c",
- "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/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=71d615d1-5deb-41fd-999b-7385377d",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1233410.0,
+ "commit_lead_time": 21211.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "dashboard-3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e",
- "template_reference_name": "dashboard",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "runner-2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3",
+ "template_reference_name": "runner",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/3f419f93e3cdd7a3a2b358fdee8ee925dc233b5b2fe0eff20d8bce17f7473c8e?artifact_id=a2573f86-5213-4b58-8089-66c26d49",
- "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/2509ca654e1f09c19c59813aea76d45e787f487c9c18b3216e0a6d407e6b05e3?artifact_id=cd2b0cb3-81d3-4752-9e6a-caf2ee47",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1233410.0,
+ "commit_lead_time": -47197.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
],
"ecs_context": {
- "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/0993e7a4118e4a7699ad6eb9c06a4b47",
+ "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/90432eba3a174098bb6f8c7a9c4a5193",
"cluster_name": null,
"service_name": null
}
},
{
- "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:9dd6c65@sha256:cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:1999d13@sha256:541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"compliant": true,
"deployments": [],
"policy_decisions": [
@@ -2838,8 +2974,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "custom-start-points-ci",
- "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "flow_name": "web-ci",
+ "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
"artifact_status": null
}
},
@@ -2847,15 +2983,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "promote-all-13",
"artifact_status": null
}
},
@@ -2863,15 +2991,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
},
@@ -2879,15 +3007,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
}
@@ -2907,8 +3027,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "custom-start-points-ci",
- "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "flow_name": "web-ci",
+ "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
"artifact_status": "COMPLIANT"
}
},
@@ -2916,15 +3036,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "promote-all-13",
"artifact_status": "COMPLIANT"
}
},
@@ -2932,15 +3044,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": "COMPLIANT"
}
},
@@ -2948,15 +3060,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": "COMPLIANT"
}
}
@@ -2980,8 +3084,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "custom-start-points-ci",
- "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "flow_name": "web-ci",
+ "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
"artifact_status": null
}
},
@@ -2989,15 +3093,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": null
- }
- },
- {
- "type": "rule_satisfied",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "promote-all-13",
"artifact_status": null
}
},
@@ -3005,15 +3101,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
},
{
- "type": "rule_not_applicable",
+ "type": "rule_satisfied",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
},
@@ -3021,15 +3117,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
}
@@ -3062,56 +3150,40 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "custom-start-points-ci",
- "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "web-ci",
+ "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "production-promotion",
+ "trail_name": "promote-all-13",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
}
@@ -3137,8 +3209,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "custom-start-points-ci",
- "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "flow_name": "web-ci",
+ "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
"artifact_status": "COMPLIANT"
}
},
@@ -3146,15 +3218,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "promote-all-13",
"artifact_status": "COMPLIANT"
}
},
@@ -3162,15 +3226,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": "COMPLIANT"
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": "COMPLIANT"
}
},
@@ -3178,15 +3242,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "artifact_status": "COMPLIANT"
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": "COMPLIANT"
}
}
@@ -3210,8 +3266,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "custom-start-points-ci",
- "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "flow_name": "web-ci",
+ "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
"artifact_status": null
}
},
@@ -3219,15 +3275,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "promote-all-13",
"artifact_status": null
}
},
@@ -3235,15 +3283,15 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
},
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
},
@@ -3251,15 +3299,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "artifact_status": null
- }
- },
- {
- "type": "rule_not_applicable",
- "context": {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"artifact_status": null
}
}
@@ -3270,100 +3310,102 @@ kosli get snapshot aws-prod --output=json
}
],
"reasons_for_incompliance": [],
- "fingerprint": "cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "fingerprint": "541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
"creationTimestamp": [
- 1776923539
+ 1777842904,
+ 1777842905,
+ 1777842905
],
"pods": null,
"annotation": {
"type": "unchanged",
- "was": 1,
- "now": 1
+ "was": 3,
+ "now": 3
},
- "flow_name": "custom-start-points-ci",
- "git_commit": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
- "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/9dd6c657bc443c45c19e81165ff99286e237cfe3",
- "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=f1d404d2-81f9-4f7a-9a01-9742e3e2",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci",
+ "flow_name": "web-ci",
+ "git_commit": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "commit_url": "https://github.com/cyber-dojo/web/commit/1999d1303424879336b04fa3310256554aa6cfa6",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=359b4539-989d-48f5-88eb-8a553baf",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/8adb92a471e3f5caf65481155d45121a865b67a7...9dd6c657bc443c45c19e81165ff99286e237cfe3",
- "previous_git_commit": "8adb92a471e3f5caf65481155d45121a865b67a7",
- "previous_fingerprint": "db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:8adb92a@sha256:db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
+ "diff_url": "https://github.com/cyber-dojo/web/compare/23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98...1999d1303424879336b04fa3310256554aa6cfa6",
+ "previous_git_commit": "23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
+ "previous_fingerprint": "3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:23d6f24@sha256:3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/8adb92a471e3f5caf65481155d45121a865b67a7",
- "previous_trail_name": "8adb92a471e3f5caf65481155d45121a865b67a7",
- "previous_template_reference_name": "custom-start-points"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
+ "previous_trail_name": "23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
+ "previous_template_reference_name": "web"
},
- "commit_lead_time": 2530.0,
+ "commit_lead_time": 1241.0,
"flows": [
{
- "flow_name": "custom-start-points-ci",
- "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
- "template_reference_name": "custom-start-points",
- "git_commit": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
- "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "flow_name": "web-ci",
+ "trail_name": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "template_reference_name": "web",
+ "git_commit": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "commit_url": "https://github.com/cyber-dojo/web/commit/1999d1303424879336b04fa3310256554aa6cfa6",
"git_commit_info": {
- "sha1": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
- "message": "Merge pull request #110 from cyber-dojo/remove-defaulted-aws-rolename\n\nRemove defaulted aws-rolename from snyk-scanning job",
+ "sha1": "1999d1303424879336b04fa3310256554aa6cfa6",
+ "message": "Enable CSRF token enforcement on POST requests (Phase 2) (#306)\n\nPhase 1 (deployed April 14) set the csrf_token cookie on all responses.\nPhase 2 enables the enforcement check that was left commented out pending\nall users reloading. Adds a global jQuery ajaxSend hook so all POST\nrequests automatically include the token, and updates the controller test\nbase to seed the cookie and merge the token into POST params.\n\nUsers with a kata page open before this deploy will get one 403 on their\nnext test run; reloading the page picks up the new JS and self-heals.\n\nCo-authored-by: Claude Sonnet 4.6 ",
"author": "Jon Jagger ",
"branch": "main",
- "timestamp": 1776921009.0,
- "url": "https://github.com/cyber-dojo/custom-start-points/commit/9dd6c657bc443c45c19e81165ff99286e237cfe3"
+ "timestamp": 1777841663.0,
+ "url": "https://github.com/cyber-dojo/web/commit/1999d1303424879336b04fa3310256554aa6cfa6"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=f1d404d2-81f9-4f7a-9a01-9742e3e2",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=359b4539-989d-48f5-88eb-8a553baf",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/web-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/8adb92a471e3f5caf65481155d45121a865b67a7...9dd6c657bc443c45c19e81165ff99286e237cfe3",
- "previous_git_commit": "8adb92a471e3f5caf65481155d45121a865b67a7",
- "previous_fingerprint": "db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:8adb92a@sha256:db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
+ "diff_url": "https://github.com/cyber-dojo/web/compare/23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98...1999d1303424879336b04fa3310256554aa6cfa6",
+ "previous_git_commit": "23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
+ "previous_fingerprint": "3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:23d6f24@sha256:3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/8adb92a471e3f5caf65481155d45121a865b67a7",
- "previous_trail_name": "8adb92a471e3f5caf65481155d45121a865b67a7",
- "previous_template_reference_name": "custom-start-points"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/web/commit/23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
+ "previous_trail_name": "23d6f24c36ffdf1210e3556a1f4d1d6b35cfdf98",
+ "previous_template_reference_name": "web"
},
- "commit_lead_time": 2530.0,
+ "commit_lead_time": 1241.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "production-promotion",
- "trail_name": "promote-all-11",
- "template_reference_name": "custom-start-points",
- "git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
+ "trail_name": "promote-all-13",
+ "template_reference_name": "web",
+ "git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
"git_commit_info": {
- "sha1": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "message": "Revert WEB_SECRET_KEY_BASE changes - SECRET_KEY_BASE now fetched from AWS SSM in web's Terraform\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "message": "Add Snyk scan to promote-all, scoped to aws-prod compliance only\n\nMirrors the change made to promote-one: inserts a snyk-scan job\n(before sdlc-control-gate) that scans each artifact against the\naws-prod environment policy. Removes KOSLI_AWS_BETA env var and\nthe aws-beta assert and attest steps.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1776099255.0,
- "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa"
+ "timestamp": 1777361993.0,
+ "url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=604eb5a4-324d-4140-a976-19265352",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=a34a55d8-2118-49ac-8899-aa2b6306",
"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/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa...87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_fingerprint": "db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:8adb92a@sha256:db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
+ "diff_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/compare/1085da6ce837c6ebc77dda1e23b5de4e3c33380f...1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_git_commit": "1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_fingerprint": "3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/web:23d6f24@sha256:3302e9aee07946df391e246572cda3ea64de480c92d7f598c3e6ead9cb5e3020",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_trail_name": "promote-all-10",
- "previous_template_reference_name": "custom-start-points"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/1085da6ce837c6ebc77dda1e23b5de4e3c33380f",
+ "previous_trail_name": "promote-all-12",
+ "previous_template_reference_name": "web"
},
- "commit_lead_time": 824284.0,
+ "commit_lead_time": 480911.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-vulns-aws-prod",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "template_reference_name": "custom-start-points",
+ "flow_name": "snyk-vulns-aws-beta",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "template_reference_name": "web",
"git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
"git_commit_info": {
@@ -3374,17 +3416,17 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777614935.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=c6ec6ca6-9900-445e-8986-76bc3e3d",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=70de9485-fbcc-4d37-a744-546c44ba",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta",
"deployment_diff": null,
- "commit_lead_time": -691396.0,
+ "commit_lead_time": 227969.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
- "flow_name": "snyk-vulns-aws-beta",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "template_reference_name": "custom-start-points",
+ "flow_name": "snyk-vulns-aws-prod",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "template_reference_name": "web",
"git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
"git_commit_info": {
@@ -3395,85 +3437,43 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777614935.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=fe2b6149-935b-4098-aafe-1afabea3",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta",
- "deployment_diff": null,
- "commit_lead_time": -691396.0,
- "artifact_compliance_in_flow": true,
- "flow_reasons_for_non_compliance": []
- },
- {
- "flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "template_reference_name": "custom-start-points",
- "git_commit": "e50b0406a64efc36fb236afd464e75b31877f623",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623",
- "git_commit_info": {
- "sha1": "e50b0406a64efc36fb236afd464e75b31877f623",
- "message": "Split snyk Kosli flows to separate per-vuln and per-artifact trails\n\nsnyk-vulns-{env} mixed two trail naming patterns: {repo}-{severity}-{CVE}\nfor individual vulnerabilities, and {repo}-{fingerprint} for aggregate\nartifact scan results. snyk-{env}-per-vuln and snyk-{env}-per-artifact\nmake each flow's purpose explicit and the Kosli UI easier to navigate.\n\nAlso removes temporary debug logging from the fingerprint step.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
- "author": "JonJagger ",
- "branch": "main",
- "timestamp": 1778153406.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623"
- },
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=95af50be-66db-486f-8278-24a0ead0",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285",
- "deployment_diff": null,
- "commit_lead_time": -1229867.0,
- "artifact_compliance_in_flow": true,
- "flow_reasons_for_non_compliance": []
- },
- {
- "flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "template_reference_name": "custom-start-points",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
- "author": "JonJagger ",
- "branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
- },
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=abac846b-b57f-437a-9b4c-b8043f6a",
- "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-vulns-aws-prod/artifacts/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=d6d28b90-e930-4451-bb36-13e65471",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod",
"deployment_diff": null,
- "commit_lead_time": -1233733.0,
+ "commit_lead_time": 227969.0,
"artifact_compliance_in_flow": true,
- "flow_reasons_for_non_compliance": []
- },
- {
- "flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
- "template_reference_name": "custom-start-points",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "flow_reasons_for_non_compliance": []
+ },
+ {
+ "flow_name": "snyk-aws-prod-per-artifact",
+ "trail_name": "web-541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180",
+ "template_reference_name": "web",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=555f5b77-e649-40e0-b7ea-314632f8",
- "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/541b7d4c1b129eb894ce1dd1713f72ae268e07cf49d178aeda684bbef2bfc180?artifact_id=8994f101-d21e-4457-b722-8748323b",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1233733.0,
+ "commit_lead_time": -382776.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
],
"ecs_context": {
- "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f009873b96764616a63037619de83dd3",
+ "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/9560296ee7a54a18afe27e41c76be7c5",
"cluster_name": null,
"service_name": null
}
},
{
- "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:30dffd0@sha256:becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:9dd6c65@sha256:cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"compliant": true,
"deployments": [],
"policy_decisions": [
@@ -3495,8 +3495,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "differ-ci",
- "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "flow_name": "custom-start-points-ci",
+ "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
"artifact_status": null
}
},
@@ -3512,7 +3512,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3520,7 +3520,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3528,7 +3528,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3536,7 +3536,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3544,7 +3544,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
}
@@ -3564,8 +3564,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "differ-ci",
- "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "flow_name": "custom-start-points-ci",
+ "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
"artifact_status": "COMPLIANT"
}
},
@@ -3581,7 +3581,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
},
@@ -3589,7 +3589,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
},
@@ -3597,7 +3597,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
},
@@ -3605,7 +3605,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
},
@@ -3613,7 +3613,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
}
@@ -3637,8 +3637,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_not_applicable",
"context": {
- "flow_name": "differ-ci",
- "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "flow_name": "custom-start-points-ci",
+ "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
"artifact_status": null
}
},
@@ -3654,7 +3654,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_satisfied",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3662,7 +3662,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3670,7 +3670,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3678,7 +3678,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3686,7 +3686,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
}
@@ -3719,8 +3719,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "differ-ci",
- "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "flow_name": "custom-start-points-ci",
+ "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
"artifact_status": null
}
},
@@ -3736,7 +3736,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3744,7 +3744,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3752,7 +3752,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3760,7 +3760,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3768,7 +3768,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
}
@@ -3794,8 +3794,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "differ-ci",
- "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "flow_name": "custom-start-points-ci",
+ "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
"artifact_status": "COMPLIANT"
}
},
@@ -3811,7 +3811,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
},
@@ -3819,7 +3819,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
},
@@ -3827,7 +3827,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
},
@@ -3835,7 +3835,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
},
@@ -3843,7 +3843,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": "COMPLIANT"
}
}
@@ -3867,8 +3867,8 @@ kosli get snapshot aws-prod --output=json
{
"type": "rule_satisfied",
"context": {
- "flow_name": "differ-ci",
- "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
+ "flow_name": "custom-start-points-ci",
+ "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
"artifact_status": null
}
},
@@ -3884,7 +3884,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3892,7 +3892,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3900,7 +3900,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3908,7 +3908,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
},
@@ -3916,7 +3916,7 @@ kosli get snapshot aws-prod --output=json
"type": "rule_not_applicable",
"context": {
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"artifact_status": null
}
}
@@ -3927,9 +3927,9 @@ kosli get snapshot aws-prod --output=json
}
],
"reasons_for_incompliance": [],
- "fingerprint": "becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
+ "fingerprint": "cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
"creationTimestamp": [
- 1776923213
+ 1776923539
],
"pods": null,
"annotation": {
@@ -3937,59 +3937,59 @@ kosli get snapshot aws-prod --output=json
"was": 1,
"now": 1
},
- "flow_name": "differ-ci",
- "git_commit": "30dffd09c3f896a322c65029247abcea3019c43a",
- "commit_url": "https://github.com/cyber-dojo/differ/commit/30dffd09c3f896a322c65029247abcea3019c43a",
- "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=046919b1-42dd-47f8-8569-912d0259",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci",
+ "flow_name": "custom-start-points-ci",
+ "git_commit": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=f1d404d2-81f9-4f7a-9a01-9742e3e2",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/differ/compare/c9bbaa1eceb4b8bdffa065ea7034de23d3364919...30dffd09c3f896a322c65029247abcea3019c43a",
- "previous_git_commit": "c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
- "previous_fingerprint": "480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:c9bbaa1@sha256:480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
+ "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/8adb92a471e3f5caf65481155d45121a865b67a7...9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "previous_git_commit": "8adb92a471e3f5caf65481155d45121a865b67a7",
+ "previous_fingerprint": "db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:8adb92a@sha256:db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
- "previous_trail_name": "c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
- "previous_template_reference_name": "differ"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/8adb92a471e3f5caf65481155d45121a865b67a7",
+ "previous_trail_name": "8adb92a471e3f5caf65481155d45121a865b67a7",
+ "previous_template_reference_name": "custom-start-points"
},
- "commit_lead_time": 1092.0,
+ "commit_lead_time": 2530.0,
"flows": [
{
- "flow_name": "differ-ci",
- "trail_name": "30dffd09c3f896a322c65029247abcea3019c43a",
- "template_reference_name": "differ",
- "git_commit": "30dffd09c3f896a322c65029247abcea3019c43a",
- "commit_url": "https://github.com/cyber-dojo/differ/commit/30dffd09c3f896a322c65029247abcea3019c43a",
+ "flow_name": "custom-start-points-ci",
+ "trail_name": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "template_reference_name": "custom-start-points",
+ "git_commit": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/9dd6c657bc443c45c19e81165ff99286e237cfe3",
"git_commit_info": {
- "sha1": "30dffd09c3f896a322c65029247abcea3019c43a",
- "message": "Remove defaulted aws-rolename from snyk-scanning job (#373)",
+ "sha1": "9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "message": "Merge pull request #110 from cyber-dojo/remove-defaulted-aws-rolename\n\nRemove defaulted aws-rolename from snyk-scanning job",
"author": "Jon Jagger ",
"branch": "main",
- "timestamp": 1776922121.0,
- "url": "https://github.com/cyber-dojo/differ/commit/30dffd09c3f896a322c65029247abcea3019c43a"
+ "timestamp": 1776921009.0,
+ "url": "https://github.com/cyber-dojo/custom-start-points/commit/9dd6c657bc443c45c19e81165ff99286e237cfe3"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=046919b1-42dd-47f8-8569-912d0259",
- "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/differ-ci",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=f1d404d2-81f9-4f7a-9a01-9742e3e2",
+ "flow_html_url": "https://app.kosli.com/cyber-dojo/flows/custom-start-points-ci",
"deployment_diff": {
- "diff_url": "https://github.com/cyber-dojo/differ/compare/c9bbaa1eceb4b8bdffa065ea7034de23d3364919...30dffd09c3f896a322c65029247abcea3019c43a",
- "previous_git_commit": "c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
- "previous_fingerprint": "480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:c9bbaa1@sha256:480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
+ "diff_url": "https://github.com/cyber-dojo/custom-start-points/compare/8adb92a471e3f5caf65481155d45121a865b67a7...9dd6c657bc443c45c19e81165ff99286e237cfe3",
+ "previous_git_commit": "8adb92a471e3f5caf65481155d45121a865b67a7",
+ "previous_fingerprint": "db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:8adb92a@sha256:db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
- "previous_git_commit_url": "https://github.com/cyber-dojo/differ/commit/c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
- "previous_trail_name": "c9bbaa1eceb4b8bdffa065ea7034de23d3364919",
- "previous_template_reference_name": "differ"
+ "previous_git_commit_url": "https://github.com/cyber-dojo/custom-start-points/commit/8adb92a471e3f5caf65481155d45121a865b67a7",
+ "previous_trail_name": "8adb92a471e3f5caf65481155d45121a865b67a7",
+ "previous_template_reference_name": "custom-start-points"
},
- "commit_lead_time": 1092.0,
+ "commit_lead_time": 2530.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "production-promotion",
"trail_name": "promote-all-11",
- "template_reference_name": "differ",
+ "template_reference_name": "custom-start-points",
"git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
"commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
"git_commit_info": {
@@ -4000,27 +4000,27 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1776099255.0,
"url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=a5169b25-0d5c-491c-991e-2c1d389b",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/production-promotion/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=604eb5a4-324d-4140-a976-19265352",
"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/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa...87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
"previous_git_commit": "87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
- "previous_fingerprint": "480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
- "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/differ:c9bbaa1@sha256:480f4443a28b5057b956b1bcce13475b41bd2c1343563f18337ac0e7bf6e65ea",
+ "previous_fingerprint": "db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
+ "previous_artifact_name": "244531986313.dkr.ecr.eu-central-1.amazonaws.com/custom-start-points:8adb92a@sha256:db4ebea9fe973c7f195668be3706cd6049c07ed693de1b6e7a2a090f00498497",
"previous_artifact_compliance_state": "COMPLIANT",
"previous_running": false,
"previous_git_commit_url": "https://github.com/cyber-dojo/aws-prod-co-promotion/commit/87f1f819ee6eaaf1f811259b0778f5e0cff7a0fa",
"previous_trail_name": "promote-all-10",
- "previous_template_reference_name": "differ"
+ "previous_template_reference_name": "custom-start-points"
},
- "commit_lead_time": 823958.0,
+ "commit_lead_time": 824284.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-vulns-aws-prod",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
- "template_reference_name": "differ",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "template_reference_name": "custom-start-points",
"git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
"git_commit_info": {
@@ -4031,17 +4031,17 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777614935.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=4eefbc15-7ea4-4d60-87d8-3a6098cb",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=c6ec6ca6-9900-445e-8986-76bc3e3d",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-prod",
"deployment_diff": null,
- "commit_lead_time": -691722.0,
+ "commit_lead_time": -691396.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-vulns-aws-beta",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
- "template_reference_name": "differ",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "template_reference_name": "custom-start-points",
"git_commit": "117e18e0cb1eab30b9747ece58327eabfc595b90",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90",
"git_commit_info": {
@@ -4052,17 +4052,17 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1777614935.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/117e18e0cb1eab30b9747ece58327eabfc595b90"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=f295a00f-04cf-4c92-96d2-44181c6a",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=fe2b6149-935b-4098-aafe-1afabea3",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-vulns-aws-beta",
"deployment_diff": null,
- "commit_lead_time": -691722.0,
+ "commit_lead_time": -691396.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-aws-beta-per-artifact-archived-at-1778154285",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
- "template_reference_name": "differ",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "template_reference_name": "custom-start-points",
"git_commit": "e50b0406a64efc36fb236afd464e75b31877f623",
"commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623",
"git_commit_info": {
@@ -4073,58 +4073,58 @@ kosli get snapshot aws-prod --output=json
"timestamp": 1778153406.0,
"url": "https://github.com/cyber-dojo/snyk-scanning/commit/e50b0406a64efc36fb236afd464e75b31877f623"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=274a4692-c2f3-48eb-b9d9-6cbbedad",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=95af50be-66db-486f-8278-24a0ead0",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact-archived-at-1778154285",
"deployment_diff": null,
- "commit_lead_time": -1230193.0,
+ "commit_lead_time": -1229867.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-aws-beta-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
- "template_reference_name": "differ",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "template_reference_name": "custom-start-points",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=833275ac-5fdb-4889-8661-f123e80d",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=3a15aa9c-85ae-419b-8937-7c58baf0",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1234059.0,
+ "commit_lead_time": -1302141.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
{
"flow_name": "snyk-aws-prod-per-artifact",
- "trail_name": "differ-becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355",
- "template_reference_name": "differ",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "trail_name": "custom-start-points-cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1",
+ "template_reference_name": "custom-start-points",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/becf55d8a2ed6e43bdd4d26c82dc0e3a69204b92738858ad9cd25329fa513355?artifact_id=4d14c904-5640-40e7-adda-e90901f9",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/cdf80bb23fc22020b7a7eb8278540fc85345f1130eea182c5bf4ad5d8a20a7d1?artifact_id=cdb26a5a-4ba0-446b-9418-dff81ca7",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1234059.0,
+ "commit_lead_time": -1302141.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
],
"ecs_context": {
- "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/ee14a7db1433415dbcbf9b2a5a983c4d",
+ "task_arn": "arn:aws:ecs:eu-central-1:274425519734:task/app/f009873b96764616a63037619de83dd3",
"cluster_name": null,
"service_name": null
}
@@ -4741,20 +4741,20 @@ kosli get snapshot aws-prod --output=json
"flow_name": "snyk-aws-prod-per-artifact",
"trail_name": "exercises-start-points-691a6f0bcd1ce71af0a2175f1c4295e627f3e5ea93cb78264a2042d8ed2aa9ac",
"template_reference_name": "exercises-start-points",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/691a6f0bcd1ce71af0a2175f1c4295e627f3e5ea93cb78264a2042d8ed2aa9ac?artifact_id=930594d6-ca49-4cb3-8b50-f9253193",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/691a6f0bcd1ce71af0a2175f1c4295e627f3e5ea93cb78264a2042d8ed2aa9ac?artifact_id=c75b0f41-dcd4-40b2-ab4d-feb6b0bb",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1234064.0,
+ "commit_lead_time": -1302472.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
@@ -4762,20 +4762,20 @@ kosli get snapshot aws-prod --output=json
"flow_name": "snyk-aws-beta-per-artifact",
"trail_name": "exercises-start-points-691a6f0bcd1ce71af0a2175f1c4295e627f3e5ea93cb78264a2042d8ed2aa9ac",
"template_reference_name": "exercises-start-points",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/691a6f0bcd1ce71af0a2175f1c4295e627f3e5ea93cb78264a2042d8ed2aa9ac?artifact_id=ad9c861a-04d0-488d-9870-aab003cd",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/691a6f0bcd1ce71af0a2175f1c4295e627f3e5ea93cb78264a2042d8ed2aa9ac?artifact_id=df025007-9cb7-42cf-8248-911f93ed",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1234064.0,
+ "commit_lead_time": -1302472.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
@@ -5398,20 +5398,20 @@ kosli get snapshot aws-prod --output=json
"flow_name": "snyk-aws-prod-per-artifact",
"trail_name": "nginx-69ac936feb8487b10fe54005660e407fbc2d7cb058c98485b9764db0f12b041d",
"template_reference_name": "nginx",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/69ac936feb8487b10fe54005660e407fbc2d7cb058c98485b9764db0f12b041d?artifact_id=5e29b90a-faf4-4358-a246-5a708b9e",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/69ac936feb8487b10fe54005660e407fbc2d7cb058c98485b9764db0f12b041d?artifact_id=2905df9e-f7ed-4ed8-8535-a416d2f8",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1234072.0,
+ "commit_lead_time": -1302480.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
},
@@ -5419,20 +5419,20 @@ kosli get snapshot aws-prod --output=json
"flow_name": "snyk-aws-beta-per-artifact",
"trail_name": "nginx-69ac936feb8487b10fe54005660e407fbc2d7cb058c98485b9764db0f12b041d",
"template_reference_name": "nginx",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/69ac936feb8487b10fe54005660e407fbc2d7cb058c98485b9764db0f12b041d?artifact_id=9a4d2421-7e41-4e2f-b329-c936ccb1",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact/artifacts/69ac936feb8487b10fe54005660e407fbc2d7cb058c98485b9764db0f12b041d?artifact_id=17f068f0-bcd5-402f-bf8e-219bb989",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-beta-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1234072.0,
+ "commit_lead_time": -1302480.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
@@ -6007,20 +6007,20 @@ kosli get snapshot aws-prod --output=json
"flow_name": "snyk-aws-prod-per-artifact",
"trail_name": "creator-ce59db031695ca55deaaacefda233875fe5c32783c69816fcea2bb3642636e4f",
"template_reference_name": "creator",
- "git_commit": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2",
+ "git_commit": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "commit_url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c",
"git_commit_info": {
- "sha1": "2c586e9ede3ce361642ddc9414312833c3fbf5e2",
- "message": "Add description to the per-vuln flow\n\nThe per-artifact flows already had descriptions; the per-vuln flow\nwas created without one.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
+ "sha1": "35479d51cd93407e3b25338a64f5539514c8663c",
+ "message": "Restructure rego policy so violations mirror compliance cases\n\nThe three violation rules did not map cleanly onto the two compliance\ncases. Replaced ignore_expiry_within_limit with ignore_too_far_ahead\n(names the failure rather than the success), added inactive_ignore_msg\nto compute the right diagnostic for each ignore sub-case, and reduced\nviolations from three rules to two -- one per compliance case, each\nusing not of the corresponding positive helper.\n\nCo-Authored-By: Claude Sonnet 4.6 ",
"author": "JonJagger ",
"branch": "main",
- "timestamp": 1778157272.0,
- "url": "https://github.com/cyber-dojo/snyk-scanning/commit/2c586e9ede3ce361642ddc9414312833c3fbf5e2"
+ "timestamp": 1778225680.0,
+ "url": "https://github.com/cyber-dojo/snyk-scanning/commit/35479d51cd93407e3b25338a64f5539514c8663c"
},
- "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/ce59db031695ca55deaaacefda233875fe5c32783c69816fcea2bb3642636e4f?artifact_id=e438c3a0-fe42-4cb7-90cd-8a632a2b",
+ "html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact/artifacts/ce59db031695ca55deaaacefda233875fe5c32783c69816fcea2bb3642636e4f?artifact_id=4f4827a2-f88d-4dc4-8e12-d192b312",
"flow_html_url": "https://app.kosli.com/cyber-dojo/flows/snyk-aws-prod-per-artifact",
"deployment_diff": null,
- "commit_lead_time": -1900511.0,
+ "commit_lead_time": -1968919.0,
"artifact_compliance_in_flow": true,
"flow_reasons_for_non_compliance": []
}
@@ -6112,7 +6112,7 @@ kosli get snapshot aws-prod --output=json
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
diff --git a/client_reference/kosli_get_trail.md b/client_reference/kosli_get_trail.md
index 29cea33..2ce238d 100644
--- a/client_reference/kosli_get_trail.md
+++ b/client_reference/kosli_get_trail.md
@@ -28,7 +28,7 @@ Get the metadata of a specific trail.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
diff --git a/client_reference/kosli_join_environment.md b/client_reference/kosli_join_environment.md
index a04cb7c..4034478 100644
--- a/client_reference/kosli_join_environment.md
+++ b/client_reference/kosli_join_environment.md
@@ -29,21 +29,21 @@ Join a physical environment to a logical environment.
| -c, --config-file string | [optional] The Kosli config file path. (default "kosli") |
| --debug | [optional] Print debug logs to stdout. A boolean flag [docs](/faq/#boolean-flags) (default false) |
| -H, --host string | [defaulted] The Kosli endpoint. (default "https://app.kosli.com") |
-| --http-proxy http://proxy-server-ip:proxy-port | [optional] The HTTP proxy URL including protocol and port number. e.g. http://proxy-server-ip:proxy-port |
+| --http-proxy string | [optional] The HTTP proxy URL including protocol and port number. e.g. `http://proxy-server-ip:proxy-port` |
| -r, --max-api-retries int | [defaulted] How many times should API calls be retried when the API host is not reachable. (default 3) |
| --org string | The Kosli organization. |
## Examples Use Cases
-These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).
+These examples all assume that the flags `--api-token`, `--org`, `--host`, (and `--flow`, `--trail` when required), are [set/provided](/getting_started/install/#assigning-flags-via-environment-variables).