From a4ec27e18d6985a7c0d083f12ca20ec9b527924f Mon Sep 17 00:00:00 2001 From: evdo Date: Thu, 10 Oct 2024 08:35:49 +0200 Subject: [PATCH 01/20] Added article about kyverno integration for idpbuilder --- .../installation/{_index.md => __index.md} | 2 +- .../idpbuilder/kyverno integration/__index.md | 45 ++++++++++++++++++ .../kyverno integration/kyverno.png | Bin 0 -> 169007 bytes 3 files changed, 46 insertions(+), 1 deletion(-) rename content/en/docs/solution/tools/idpbuilder/installation/{_index.md => __index.md} (99%) create mode 100644 content/en/docs/solution/tools/idpbuilder/kyverno integration/__index.md create mode 100644 content/en/docs/solution/tools/idpbuilder/kyverno integration/kyverno.png diff --git a/content/en/docs/solution/tools/idpbuilder/installation/_index.md b/content/en/docs/solution/tools/idpbuilder/installation/__index.md similarity index 99% rename from content/en/docs/solution/tools/idpbuilder/installation/_index.md rename to content/en/docs/solution/tools/idpbuilder/installation/__index.md index f30b4b5..d919ab5 100644 --- a/content/en/docs/solution/tools/idpbuilder/installation/_index.md +++ b/content/en/docs/solution/tools/idpbuilder/installation/__index.md @@ -348,4 +348,4 @@ Optimizations: - Remove or configure gitea.cnoe.localtest.me, it seems not to work even in the idpbuilder local installation with KIND. -- Improvements to the idpbuilder to support Kubernetes instances other then KIND. This can either be done by parametrization or by utilizing Terraform / OpenTOFU or Crossplane. +- Improvements to the idpbuilder to support Kubernetes instances other then KIND. This can either be done by parametrization or by utilizing Terraform / OpenTOFU or Crossplane. \ No newline at end of file diff --git a/content/en/docs/solution/tools/idpbuilder/kyverno integration/__index.md b/content/en/docs/solution/tools/idpbuilder/kyverno integration/__index.md new file mode 100644 index 0000000..ecc9aa2 --- /dev/null +++ b/content/en/docs/solution/tools/idpbuilder/kyverno integration/__index.md @@ -0,0 +1,45 @@ ++++ +title = "Kyverno integration" +weight = 4 ++++ + +## Kyverno Overview + +Kyverno is a policy engine for Kubernetes designed to enforce, validate, and mutate configurations of Kubernetes resources. It allows administrators to define policies as Kubernetes custom resources (CRDs) without requiring users to learn a new language or system. + +### Key Uses + +1. **Policy Enforcement**: Kyverno ensures resources comply with security, operational, or organizational policies, such as requiring specific labels, annotations, or resource limits. +2. **Validation**: It checks resources against predefined rules, ensuring configurations are correct before they are applied to the cluster. +3. **Mutation**: Kyverno can automatically modify resources on-the-fly, adding missing fields or values to Kubernetes objects. +4. **Generation**: It can generate resources like ConfigMaps or Secrets automatically when needed, helping to maintain consistency. + +Kyverno simplifies governance and compliance in Kubernetes environments by automating policy management and ensuring best practices are followed. + +## Prerequisites +Same as for idpbuilder installation +- Docker Engine +- Go +- kubectl +- kind + +## Installation +### Build process +For building idpbuilder the source code needs to be downloaded and compiled: + +``` +git clone https://github.com/cnoe-io/idpbuilder.git +cd idpbuilder +go build +``` + +### Start idpbuilder + +To start the idpbuilder with kyverno integration execute the following command: + +``` +idpbuilder create --use-path-routing -p https://github.com/cnoe-io/stacks//ref-implementation -p https://github.com/cnoe-io/stacks//kyverno-integration +``` + +After this step, you can see in ArgoCD that kyverno was installed + diff --git a/content/en/docs/solution/tools/idpbuilder/kyverno integration/kyverno.png b/content/en/docs/solution/tools/idpbuilder/kyverno integration/kyverno.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f42fc8bc717ce93186d7054056c470e7b94024 GIT binary patch literal 169007 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 C0bPa zXScI#z`>@JoBM+Aqb9pGanim8@h_9UGR|L7NoZ@3yMEK(8ohq*@=!kRhw-y4ma(#3 zE&iq~DS2M~qCwDA7Z(MZnQiT*ZK3QUTz_kQ|AD0mksu`ek?VbGh*2v3X_8b_r~LQ5 zjuniD*kPJdZ`^y}dROUxrd1!koR8f$9&o3lXSSQ(1jkXJfAieAgu->XJU=Q`b^+g^leOtlR(*$lgAaQ9-NB{_}~KsyIkP~>U79F z5_VMe1M(SeEN0g4qyVD)fnuB{OdY)%#9Zw}@)qla=UXDV%HR1Sk?~7~7WgCt@&7Zu zQ{ebz>IX!&2F8jjMw)WzHqq4z8>hjif;6ey(V5Fugat2Ws|VY93@g=YKLNG!Hj8M4 zR0azQ5janjgjKBYbh;T=!L!Q|O;66`A0Fta!wF8dHzz?d<(dZDKfIr-hv%V2q?UH2 z-+OjF({F@bkFqcbP>qL|0`9MRV{rX%Y14^5v%-sxe%~9~A){gXG-tE6GcZ`)wYvEm zDI~leIbd}==6^%YYogDespigBg-WU5Ptw_Yeys8`dVbLbbn=9hq=qF&vWGzHWB~xZ z1EsZWR{w}BYP?CZ52JpOwNz5_-CrRvu}mu=q;+)?^&JZq>*%l4N-q3Wq9L8$FLw|R z1WtQx+qT${>5*dH@<+=ZsOjHGqwK#$qO3n6Yz>w#H4jv@l*0oJo?2~=h?;l!Up3Mt zG(K@Szk(8!<%ehD9nMsQH6gYjXQ#4uxvlkKc)x-Grxm%LRTZikc&^U)K){Bh>UW)g zs{%A&Us-K_$H({U^5^&e=F@ErPWJU;<{LP^H+n`@a@T~4Y14|Vk-s+28VPj&Z+Lq5 z-Qzzz{Zip-?^k>O__{E>+(&L4*Xfd^on1ojtbZXWpuV@$8iE;ANgo?Okl<|$rCVb%TzEA zUay$Sr+k0z&2#`#EjSV%v_MM#iYNFK-8^RLObr7Z5dg8%%f6{6#zc1sodu~Jxov7P zxe86#ooq?qK(@F`8(U`(g^6g^X7A{bN{^=6njUh%lRY^8UDoU6jg zF(JX~w|n!~h`$dNijo(GogIj+oj9R?lM86bI9m%i-T*VFqqc5(KkXGPS}lw$U?H%v z@jQ^DyrGFaIs(A^21e>tKSQ7r>a^8gW1+~{SYISWM8;B|#D3mLRm+eDK6Jqv9-=@J(S9V3m{vV`bCboTdB-*d6; z@(uE~^;ZoxH#c^kz+=F&w%p7(fG=n4_xQp3B4YiI-fW>UNkN?7agXJudZ6)tTeeRw zOKIe8CwB7{o&YbWGc1!AM_jW`%n@ta7T)i$hW@fyt{>{?CVCWZsmzt4vUVGb*2_1y2@+IA!A>jV zt;Q&>)1^d7sM&MXG3FjX1CK4`M+8FmK~!_P06mNFM8hH?MXG{$pcCiEbFQP=E8yk@ zRbqCT!IRk2-LAJSM@XziHPCJlHm$f<(1;r!Qm_C#M+JsNo?$9d9>8!f`{y+V)Izmy ztxrsJv4JUd5~_~+d|xduU|+yY^cf-tA0KIQGCv;99M(IiPEysp0#KKuc-zNK=l(l1 zW$%O#_XvzH)d&2*&}NQhbFdgC(mgocimMoyc9=`ZcAI^X6r82-o+?+1(NM0ZbC>nZ_|%w#}by5 zq&j2ERU=O7jp6tnSXoJCtJp zB5?XtHh`ttrAu54ai=@AnTlus&m6w?1p7d!)^-fTdp~Do#ap)h~Tk&Oxu`=#K1jha{Je+p{R_Q+Pn`iDvKb91InJ9pDJ6Q1AX6Yo(D`+(M zVH%tcpOK>pR2%1i@nJVA2ek-L<>qe2f#TGjuAz(=k8PmDk@4niib+cgT?L;`Y6Tmt z^}!f6u$YBcSZCxK{tPzLSi+LoW$F&AjQhbT+@;epu|oVwr$b!$aiH{DohYH=vwm$qG6P$^1`yrEz|geyGSNo5Z?@CnoOhP zs*#>!G6W3%GZ|g0nh))4ePztXR^R%|tM&MwXc8;hvUQCj5cgYxV9qU%9OIeN^Yh}c zUe@xQ*eu1kDzAZCbCaHy7&P?X40gvJseDy ztP{m`cyRf9s48K$F~g{*ws1Y7BwTr!8LW}I-#;6VGgtZ-;;pt{L%)o-hG!}1uyFpJ zD54riY~vd0;*RRdiHjjUUah(BmaL%v-mEzZF;bfyQCVN4f5+&Fg83-8DMtRuJgoJU ziGp|s1x=(>39z~vD;bx$xn5RZ^p9FF{;!YgI*OZcBloiGD0 zPJXsC#N3KG2w6_sGYh4r5C}%(7)ac{f482Yq9TKJlu#3O?h4|iuCH@WW`)uzIo><6 zDd57P^E-*(ZJXoivEe_>l?l9e*Kpq*62P%~tp*06(?#hZ6#-WOh{RmAKXqp11%R1cZc76JlFm)*JR zwP!~=ihTkJ*SXFGdiuR3?2EecH!E%UX8qJ*B>Zxm4tc!LguQHHb&HU^D$7U#ywd$- zw=g)BsMYpF0cm;GfscI%1bwTPISeIh@F*Wy1DzP1iW9uD(UhI_U<>d0 z5Cz4I^DI_GfWxl+HWCsB^+=L#kF#ff>UvN-SBS#9NhDGJH&W}xz^Z6Gb%fcY@qL9`2un^5EbS=0z8aAOxrKxYbm0PR7Q5R=Cvo z1$?aIWnMWF#i2acN<+1}7qYAZ3*;>?Z0gsh@OBIw%7B6ZV(V0?K zaBgm3C(v_|@+3rK8-8*x#@GS-*%1Nlugxe?{?`Ir4&Tt%7v!e_@^Nr*v4TbvEv>lQ zKA2*4{{9}{cX*ZQGZ&joIu)@ssm#j@dF#?n)cvq3G_m#hXPO5mwAL5tKVegnV?o9( za^v7z6)rreHr5w1caX(~ws6L!{LxkmK|Ym%;X{QTch9V@mOpbGsa2 zpqL&<(2;!3u<82db0xD)iqlUt1Wb$&O)arDdjfpMBcL=Q_DtCgUpG%UaMDhqFcfaR zG_;=73T+`g94}rzLJ$!TjiS`^+|s>1dKnjbHG{r!-?L1$QZ@rmiFPzWr=DJ9VSTrngkb6A3So2n(&*#fpyb*n^pz07U6xh;NgG5F#7rpkMQ zMmW^Nmt>Auf1wO9n3bh{N>bI1Ufi8QdyyHJ+X2yDS;N3ia;Xfj>WH%ETr<;VqgGB6*Lo~cV zy9b5(u1+*Owipq2{9CUGo{UpuL$g{Z+27IrW z=Il0NG265Sb2y=zFBl5^-{H#@SxahNcfMJW2FA|y_A~HnE4GE>7A6-ev~g*4-+OFy z&NQ8e4Pf`;aMgb~gWTP``NH$7&%>c_HIPfCu2Z62fVPCF>37t_g7*-c*a zi&&Jc;kg@dd+jcA%Y`ueRZ5@ehk+}Ef#;dznEZ*D4c&^c?$}#803IC;e86X?ZR8o zcv<8c9fOKuq{8%Ha{@-%>5Y%z!{=Ic=I*z95*8w&NfI~a{Ryzy40aOlQ;hNHa`L2P zxWBvwDmAR5c_~M6Twy$*?uISs3e`E4Z_r3o%69A@CX~@dbVC{a{UQMK$TTMkN}xE4 zHvMit%A0m&qDqJN+u;JL4GgQGkYlNIEIZKv;>VZ=LiMzg1QKgZI$iH@(kFCR7dxC< zb2Y^B#kd{%g*)?$6GMVIX)e4Hz_{FTika~L(#r4WFIYhjpr3({r2Y^-tOiYF_FksBjo178H zU>=401unezpox;={)o~;v06wts#78yCln55Z}RdfNVO+Ub0)s4fdl*Y6!%>?gFzV5e_K=ywnX1<(Tg-3!gh|OX{~i%}$am2w8dRqb2sXS?9+b}e4Ci>B zHxsVIX)M@ReCdHPkZgX6gCxfb-=I`;9YSxF#_a93Y;fIagfi>2864~ozq!nGJ}rY- zHS3(iLXf>~aN@eACYE4D`WADCRGGZ-epP4x+UDKDQ2ZM#{xq{QUE4)o$}6v}RyM+k zz>?Tr|4HV!0S6ZL?iQ0-A9vU15~S7Jha$M%(NCw}+G^43sbF*}BDcGaoEAy+cCGtL z^>&?(aC8sO88A(}R!7&V_J02WNxt050a=EgXzN&BAG(nw`W|=SlkH1g?MMNf7vs>5 z_5g4Cgjz;MvBfHoINP?UVwY8c%PihWlFGs|c`$TXj7|~HX#H$H1@nX0Mm6P)zD6|< za-A2xB^J`(s>g|r0t>vm%I(3ED_e|VEgqaQb zE_~-*$Z@hBqT>g}WgqOQM1w!;;;O%vNCMPvR4@VD`7m|w{3$&)c%8fGd@b%H6m7IV zvG77YaNxV_`j;Z2NOG5>K#e8;+*##&^l-?NX#jdaiH6w&4)N|ppMRgP z{U>nS>nXO@yG1G9=h1qx-F2D*v*jlFe~|UoVO4!m*Qg58B_Jsrx~02I8c9j%Zs`W; z?gpj1yHmQPTR3#rp_^}`zxUqnz4s4z9yn*8v)9@y<{WFxF_dG09Yc^J4x*_5=X-_E zK^b&ANe958)Wb9eXN(l|ggOk`)T1%$r$_xtx@OiCqY2NRU-6bmr&z?1QBhgT_FlQu z8Vo3{zk7G};rf`r$8UU7c!qgU_Fv37uqP~JbIVLMSC)`CK;yWf0#|n+Vb29{q}PET zAa^11$4sPP#e9J{T>DW9kN?C-osXH06X75eAo%_MnHT#bLF_C#6%ctC!o*@^D?OkX zjmg%(XLd)^NWZo?L?cU%?sxp`(q>0)g|)u{IqBN^pqG7DsHz>wU}r=~?R-1<{_fxnC5kMCT;Nd*Y30}Y z!-SCT$rn#-iIgb-moW>){9=7y-Fmz+R1KuNia5fTc;iU;0B%Sw;D!^5(GRR!evxs# z1=T-9XcvK$Z78S~pCkIT9|U)@^7Gm#xz@GjLgI<4SS4Vg)%9DWE5^2tH*(wEWuEvD z%->1*AxeX7=%`}V2!1KZQfE7t7x=0dWJXbKpXuZ^jHS$c(%$0*pJCKvZqr#7FX2nd z?(i>Vr%tO?P>@*Y09BoD6PJEM6h-+Ee3RkjySSvOLE?R(*$}w3-dovW_ckBo@v5n< z?LuOK1Qvu{oa|ms4s1gE;2eXPd$Yok`F4YQMusgjkZRvwv3GF&4+Z@%KwOi_WHv@~Y8 zP{HR)wOTlo^mIn-xgv0O0MKCZzmIaJ+?BL-q9}q@{4DHkpBa-fx+Iyncv??_h{6bV8~-tHL=pO_exzTe(N9N6_8`K zfLF}$EC=8>`q!U#JvnqzX+cA0kT$w(d#aZ(;SV4`E)GORttxsw-(SNOsiMBDW{nl? z!jp*~-LT%McIerGqx#}MY>?ys(u$Hl-9TzFD)@R!8E>H? zY0og#x&SJ^1w+gL(hdxFPSxk!OJ65w4NO$ z8Ts}JE>>qCu2f`#r=}hk6Yr2fF@N*M1;c=SziP2xT%*{q5;{vLijdKC3G41?5y%e6 z_!OI^KDrK26uy87sN|^j+n2lW^j}-F_84%~UM>FrQQBt&x2(+TOKkZM+(ZDXw^WO( z3>x*xx8?(YVPfu}Z4mGfv|EX0Mr+Je`pOk% z%%8rdq!SV)iBO~;^k5J&7yxzjpCD<`$pgbuh;mp?`#l!e`>rk$c@?TfWT@&jM(i(1 z`5?&M!osu%N+Z{$lg13ddNpOf^0sv@tY&1;j_3 zT=QA^VHmvTbKmotQffs9sYCwt4x2qd#ygoyFu?h zZ>O2AlybE{?@<;4(T{R}PY*O-v!nPjx1+AE?)TsUi60%`UOS&Ge}aV|_7DzB>g$tW z(P{S-q_LWZ3qirIk2KYAk|Q5I7VkVYm|;-J{Rk!%k6NEh7@j2Uqy&wLNl3swE#H7P z?YOud4}<$6@Vfqte1M0CZ#;4p_xNc)UOmD`&2Ihs_qWQbwJD$VCzFO)(SIIEo4J+P z2$u0i>}pcllYvp9_wDrK!A!=+FZmAKU{vmCT1>4TlyZZOH2Ica^=E=z4jYs<805^0 z)79&W5^6i4cwi$GhyJ8#1evcla8J~9kg2_Z8?Uv+@Uqdxgq3()UqmmeB6j%Jb(5=JNH_gY?hQy>!F-Jk$b;}U+rIzv?n+(>AiR!}f)NyM zpFr~<1{_(TDQXwC-{9>Ncjq?!*t1#iX9GV68L#*#zMQk3nGf(>pbY_6_e>Gw2| zUp{0hmV8@XeeJSxiFty$-ZzThdPPZ1xPTF~N9FUv`~oCA_?!u+4f>?)xhxLvku2K5 z-_4fBI*DZGPF{{tW8*fLTi!vo(}Gjj5NQ|~ifS$8XA56q$^S{=><$4lj1z{%Gb zBdckst!^J_x}2^O+uYHr?s5;((TL=PU-w$yxxq}5GPF2@5!refmht)AyM!JTt2BJ^ z*&l<3RVyT|t+Ck(`0%Z7|))1;y>m-#B($CdW=ZpQTr)!Sff`dUvqUmq?s zsA~9PezFefc8C}Jd;0I1lMW$P20y|PEB*Ny2k%a=Ka6cLan#(P{BoGNn|lb30vM0) zSUkBwNL!B4dj}#4bu=$Q2ZRR@91mmAt#f0ujQSw-9t4{I$pc%$X5oS?a@8mlgd*SA zC^1HHOAeg5l2kSa_44UTxn%@34VH{`<8#>PgMA)7QrWP}k2MIwyzUdgQLfiomMhKg zQS;gn?Dx+ZYt+}1IEjhhSv+e~CcL`j<8^ttxM)md*1FYkSjBXq`fVv)85-fcNTq_Y zQ@ofI?+zUlHTGX33>4114Pi+leW!m&_VkXE>&wQ0q2wrH61_r3(5H*y9zA3730Qy{`FB|Sz*Kz}s}^sUr`LYf zTUVkec^obt>AyFUA|DKS2Mn7b+O2sevNEl(>GPeuSXHIQ=3kYX9J_2*2mx^z7RE!d z{h}qbLFiV9>9o6klSCV2`1!-1fQjG8j@ma(rd!pBVy}5Eju&1 z9emW5j*ieT1!up#NM+l|!98Fz?}4S7DA57A9Ups~qB~8+!O%}w{7I%H+)7Mr{i=|M zK#n3E^W(7s0Gh_qVb=zy3UE2Rz4u~}Vqz3pGk#rYD#u$_#`huP?;iIuO#G4K@BOo2 zpIJ~4q+#7`_*LQd-o#C3Jz{2aSn_=kO)|GD0v_8m`Mp}K?U=S!+$#5a($$y6TI=o; z*eg(HgTZNxJsN1yyLiXOhrk zyI}^0hewR(R?#;lHaV@v025u^zzo`$;{N<#rihkLkyj1FX!hbJBAss{-;s9Zu*n9@ z|4=nv*_u|Anw*>|cDc_>oa)L$c<0hRJBvkMVS3dC2B%Pn2pONhJ5nm$p)x)S-mUqBpxB0TOM)WnO&F>6pCs$CinUK1uXC+k>sfvZ;n< z-9I01dqddNwV%N-D`WaC^+%^ynO)z?x5MKK8YWtjLdgCFu0)&JdQRzAN`R4BKtp6Is?XP6=yR&*q)q9?AS-wD&S1UYr!QM&=jWA7|o$G1t8upGJiunbqyR9M!&ttq*m%> zX-4raye#WHxGd{!g7iRIMzo5y17Ax&xRh+I6EX&%DLUi<>mYW=PXPvWP_yAos0x^-%Cm)C-mKMpZt>_r6$)lO&`9{OnyF;|%3^!4xK09#*(e0> zfUbyUrl;bK&1ksoklBG`4}GLKwRP;IWC8p3{tAfJRF}--3VXgaSt)9#;8de|2^ zx#@0>_9nm;6+xMb#9k2nl?uI~7*a*EV?$$O#^*EX`JV!)akd-t@FH&httff#FbpYP z_N7bLn|+iRc;dVg);nH9wP!JnvP3W|UY!d@0UO@RP7Kkd??B?;*}Ug&D@62U;E6lf znsS>HPVO{3u~vJ4>{ATc#^n>~NkCAHfqf&_H2inE&w_xr(CuN0 zax5(51BSpIAK4WMt}G=*SwcH$G8Df0`mfREQ01f)A@d;#aa){2S>p11fM5BB1H^k$ z@rByt`mqP`wG&gPIrc6+%6zYHxsn6B&W|&Ej9u52z&)F=tP5|NgiX3UaR#zB9vD0m z>>}W*frCu6sJT9Tj?U8?g(5N=$s93K*Ku7_E6Y4|MT&S~nNxtIsxC#?2hjJUnG0Cs zf)0I&9{U*ZauH#l7^VW=yfj)0)IzlSJkQr5KR!bz(eb{(w+FhqkrU^!3KJ#>MS{FZ zI-U1@abj6!k*3_=C$53S@d%r<yW)HADfpF9Yg~jKJs6&;TPVsQjCLJ-@!0GSmGx?V(}9c&_SaBBvYBN&udN>M&`Pax z#a})hlZS$q!}|OB5IN9+`)j0Gcs%KmZCetOebCc8#KcdmUsXYTL8oR5 z2Zw>1d{zC*o2tPwQ2&4eU|T5H2m~1SP?<$WBfX^8A6~R?fv+5*y{$2kf4JwsL(0jq?i88)sOr13F4n+cVrHH7Aq922#eF3+L>ZWa(}}F zk+X3jDZ}uopoB_%WXiwmn$vs)Ojj$CWO(_h*=_voX6%T# z)L+)n>{2ghq}rd&z!JL&XfOE3lfIn50v-K{)cp+StU#{ko-$hCY-{k7y6*Q2(>?Uk zQlcpYG*)vjV){zMESKQ~pVzfcPOqeSLpih$CgyR3M^n-Mn4gQ11B(jT!ugK;4^Eig z-&P*n0&1g{m-CSEizCVewAco~(u&! zO=p^d#qyt?du}vKt2}YQB={7wKT62!3hj}Ab20E;P$z3FI=yAq2a zz|QytN4(lEbXycBf4JNm74|kO{egd)RD3V;qdz9v3#KdnkG+dVqF6%I;SFM*{c~Fd zGHmCU|I?Co;?+Kc%wn%)H!+EzA&uxYF$NRhqr}Ev=|i+qV@O7v`z9>HXMGc%D)NKx zL!V<2<1;HM*vIXL3gRNfMX2cVe-9;zV;5$HRtP^Ph|l-I2ix%V(`3&3xJ+f?LM3cr zSq`|FAH8Yu%7#;P5D7Tyr1|fP0C<`;-=;)EjU(IfS{@YypOxOCEG)71vhLXV{~Jlf zZ%M;KeCU{k=X#=K`$eU%nFI|RZ`8;P*YpHUsSGLdTNCA+=!7Vzru;fn--TT>2cQc} zF&o0ePof*e|KzK!GZ!k<_M^n8+Z+6(qNzX;hehHa{}u??qup109%f~!=(R>5YVn{{ zAseBo17uUp`a~%>>So|kzcH;f5*{LafoNZL8@fa^!$D!H_uqdkZ%&eONl5z8aU%qW z`O(p1*?D_+%BgNt$)KKP%L~%ZsQ5Q=L9?(xj8T%4Pt8`ore1ao+=)q_gfab8K~z^n z_unKNK*zXcZSiIr%a22U4JFb!Akm5o)z>#ZTULPY$zAa%DPfeQxMwbTf42)0&};`^ zok_IU)A9^M6fc39gvfUl>r#i86+4p{=b%E$-rOl^%K_ z@am~jNknwQR?><7(^p5Zvi+aO>&++=&=tEXp?MCxzwpAGf^gRLeN23!VWD@?1J@zn zXPD_wQlFqQj~4x&W#1{r0z*iG>je}Cx+2;xe1<(V(s$%OtDMWx@-Qra+9Q=5x5u3y zL@*kM_C7(rj%L~hHNg0W3Me(AA3}D)w&0#X5utshlU0BdC{YdS%G3Lvg?(6u!kGp_-RVHjr)cN{BPU3XW-({s% z;fYRO)o*YNRrirC(ZuOWUiJslsHRBn8)1Z~Ydt(1qLrSGm`ZuAhBpfO>Y~uknlSlQn8X1d|0cB6#z|XGLUpo&wLI$X?>^yZAK9$JR7=E(CJatTA|AB(2qNuyr#MY z_9bf13O3jIa!HKzhnB~2{K3-VZ^Ssbc-fL|&AdJ?kSnXA+SUEWnVz`}FC=ky_o7WB zp{%SM>#mAZh&x>Znqu>R3x)6*Z5s?$MbW_B*B0lBk?WQLvEZ3j7QECef?RY(v#NHe z$Bg~8+7hKF!da3mruZCd9Ku7PbLqT>p|KYRq0Q-uqp7P)WBfkt zD^Pon3($MgNcfpTPM-18uX_b@C(W4U{*6pDMa)nw9-i5vn(naygobZt7pn%sg?^?~O=vbkdy}g$OMF1|o^{3})#ZXo`K&^>2 z0uG*36uM&lW-KoznuU%m4GotOv8!6|3JNXO6B3J4^>9JsjZ3S*4vW8kfHb))Ktk?a z)m}pOY<60&GlcRJUftD&WntpvcE02;Uv8)U_@(-PoIO_8Zw#<8i`~^$Rat+-Q15E_5lc=X?Da$ka4Ljs4-1u31yWH6vaFV|Dl5MOJB^x# z@t+z)a@WUs=MZF)*!TfhjI}AtZ|@-KQIn(j3q<65@WPNjF{1KlHn`pc??gcpuz>wMC!7>b{j?^1)n9#`<(wbs<5dk-hq0^iR5xSIB06o$C? ze&DVY5JPp>bW`5>vsIG(d@gK8Zxhd3inD^xjl-^zcw@3eFDll5deY|~VFt9yGV zo2Pgm{og8|+ZqRMhTrN#j?UnxPQdhuc?Ye@!@pmuYnCTXr4e#nszTPHo-A@|8XeO^ z{HgCA$FNTIk#J88<@%CZM^X?G!lO^=Y0~4aZJ$^ttW5PPPw~Mw^xCc2U4x3YG_tl-X-#f(XS_ud-=T2gc_Ra`Ui^%(MES$hpyk?fXY3LNB3)Az-fw* z@2WqbM78Q^jQpEjDG6YH_TzijMgdVO^2rmzTS-Dd1Q|~j-)*($R=RL+KivFFF%jEG zWL4|sE&^(WWI!K&WoMx4F|$Bkf2S*Fd~UA$yY{l}eR|SO$dLS48HFJNt_LAsR|sNK zRzk7YK?tni)t#fojK5Die|EOPx4msE-m5ueUKYKcB}Nvu-fG8Zp)!T;l|GmkuM$+k z+qLn*8jlpf5;MyQS=DmB3U=E#|JH5!Y(Sp(wa4iS734g!x4DcbPf^#jW5wg!&&#E2 zA`%)YnvY!nq9uT^9`Nu7mx`k_=)w4jMgcRS-VB((fR}LtVePtXq4rBQ6#7t3xrzN7 zqLEX2(p4Qwe(Udc41`KT2kXDY&$mMiX=&5HVwILT4)P02_!!C&4&~iTW!ZX0(S?Wv zlEXEWYWbiR$cR33xa}1mhan+d+USyr}6UM^BLnVIFT1$cu73G}Tz16?`ZssNRno4and zY7bPl>5t>{$rl(qw#x|0!^wGY&o7+1s_qm&q?fU1y?58l4L)JvrO}`nymuU?HP}-f z%C&^LCnG=Dj##LW1474_UCm?4=`g%D!6NJK3f6SlTr!V5XwK!~8no+q%Y_t(5-4Qbkr=VI!Qbqd=b1WfzF{qo1sJWdJ9#697@^d6{7eLz>Fqxo_+PMj2zU{zM;>K$lM zF!rl1t%1p4ol`qe%X*9fWunTK)8&jV@@LCUwwYa>3>yeHasFT~hn8-1^xOHd=O52g zyP*E1D^TBFnCiE)U*!BJiZe0b78Uz-j>L;4B0|G!0-g}Q{?DiV+)|^BP=1af65{SW zUOL_CbEx@08yRH6BV1~% zqf1#&n=Ekb&7p{SK9`pR=9AP(4+xKDN_z8cHT078XL17-!E;RJ3AKh>T^Oa_^Z{K< zP+0MbHgXe=A8th_)&U`%Yv#>mLnIjPg$pUH7Ak+%@93vx#FU_lv&l-8)fa~DW)G@S^i z+)|5M2Yf9g^KjL&Y55ish|0ROPhmvGN-WStmj_n}AaN%mfl88o+QH#`)7@W%Mp^j7+PJ<@2m8|aEp`Gk*zAm!}Z zs_mvBwvtSNM^79FOT@OZZNVlhM8hbLJaQTob@}M>y&JH_trOnW(c8ztjjXQ?_0#4! z)j}@*8g-8FzZ!ys`5f^oLQ=2h+;V?#`c3n}#?;?97aEWF8jov^S57n>5#*X+2y0_g zyQ-Z|)C}cBk29L>8%2I8K7B&7m>XyVg^!;;MAZKPEm+i&lkLY^rwmqm(wEwZh*5Z1 zigB@~U3#7=rw)mhYX-$AYw-{h$AAmM;<%fQqH3-??{4fJDuZg2-fK@mns@ksa^y_6 zx?+Y{07?Z6<+m?^0U(vLcD<0+G@N^+STggF{&$w3DYBMgrMPX2ODtEx7U8p>Z^i)B zlh%;pd=rKhXW|MYm0wVq13fr8w(Fen9S_icF(P`Wv#)kPKHvhy8blq=*b=e;8R_1z zO9)VeEs@6jeUAzA=+>>PtF!CPi#Q~Zcy=V}ay-|6t8a{ARcGEhCS(U&zlkeSXHGABC2ZrO8B18{O>6N(qk ze%@;{kRMHIH9J8)insNj*#AoJhlLr0RjFb4D66{l6S*};-7TUOsEGE;pzpZ+bL@UE zoE4p;d0($63B!)?%{n%({a$9F&>$sQ`g|`67Uu1F{vh)H?Al;Y<$we)vPYiO;BSvstpt7=;x4{s(a%k-xwWyB;-y_K%R#BVl1`tS=~ zuFiZHh7ukDdF%SE?NL1?U=JA%_`>iHz~f(XcD%`5^aT`zx7iSI+082x^4?ac<6vNq z4bNv%BjMlP?$wxh+(`-&Riq3gjumxuhX#{7FPILMay9ssm4mPnB^(?oH{hoWarVFd zEfe#Po}>VBEH8+QRl}@R*3m7@v`C;3pBITT$op4XXTJ4P@BN^(<^}$AT>e>VL@(R7 zz{BI8rSJfAOn1H+7ip=^U$5bFD>Y+D)c`Eu0!wd$RVuLIsl5?3^J+Tn`Mq~Jzz6|k zQJ(!)RL@hy^(zp8I-11Z?ku9(?b(rTE?n@%pH0_02m1dUY__tx`R5WdvN%pGDtW} zS7kE|FwkASg8*yZz=(knF`eJ2&n9DQ&%D8?UT5Vl%mz>uNQW~&1)S)WgfG><^)V>Q zy>S@q7NpJ^fHrn(&2F)~r|j4HID&7y6(^U(JZ(g53UQ2E!F+kd3)R6^& z5~|kOY=GTDb#>&kek!C*FW?!=(4F|@YfG{Fik92}A^+-uK5*W|k0_m5Z?DQPFS*|? zBL7&Al-dv|pWz3bpe6Alp&)jnc6{`q$sjeW+G>Bkbmqsi7kY7FJ5PslIRwEOkdkT} zd<0HdcFMo@cg30H<{<>JeQduU52|ReXqg4h6x6CMP9`uK9p}P0^2+x#kSA{*dC2DH|H5Q~QUlS!k%6ZJEUKcn(L9V#IBJ-bOp7ZV9!}As=@g(KH_3{81 z@B-SI!k}!A{!rqu-WttNm;I!olA6PxMDD8yFWYb|@5u%#3W_APTC4ELM9&Jf?vxdV z(=()3`QnmKH4CT-#pk|=s@#V)*qq=0qKUkmF8YF@<9){T;mE$iZWKKN{8Wv@@74S+ z2%g%i;WI(vKZhSUV)78STO+n7LymGG+qG6@4cki5tnplGx$NrHB#j1*X1wGDm=NGD zg~q)$wl^7dQp;KgMa1NQdpXj`G1-YM+*W>HKRer+(PA>@_w8_m>qml%p8(^dvfm%#vgFGUw(e9tRIQUA3xL z)rUgqTELc-ebhDTPSZZ$o@1{^Q^N)D)kzCk!e%a>ZXbg29&fr^Rh+#s06YiXHoKX1WB1LzybmMzQX`4hnv}V}vj3+A zz&wzeviJ-DK?vCZ`Z^`P{-Q@9u@{{%;e+(TW&~bWHS2@^3x>IB4R&83zG-HB`S(!b z1!B--^Y@n`8=#;tO^TT!6Zq6E2{TI6g@7)I>GiStlhW zDPs8bjpCH@gD~-<3i`kA7%GpAgs-MVHT&Tt4432;!#McN`CA$r9{3)BxEhXpxn^mD z48=z-U{e4N#Rr&2z&$RgXfO$JzhGFLPMLajh`VomUf#WANjH)?VJdYf>;tg20C?Af zYA>0H;02RlKw&LaNB;{Av#Tr#mdpfmSXJrJ0e-V$w7sF8OCEM;tWu5$6^gG1v z6+@&&g~{A@E-`#fRF(@Wr>iu7m~uxNeTMyJB$wWNGe~;RM*0^@lV^R&i0PxX@!SF9E zt(S}b{UQ@rK9Bx?{sIUYq)iTT|GoD2UFz~RM*s8Xm#zWk!vDUW8M}n0b*lS?2`pc2 z2#g09SbTi5_HX|KEM-68N%lG&OzW8yZ=UKc_x|q!@1knzy(jvIZFTG#F_%t%8bv@w zqzF)q1c?+C_$wB{1_-}Sk?FJfq_AS}x5t@jQj!JlBhuo!Jo{&>6(`s^F`h)K?9QE+@DYrKac9iz_0x6moWfBSU9I?}_ z(PSP^n844^Z)q8Ve184?f}42rGe$mJm-{RZ`jvLALVR~?w>MQ((5k3#pmKjkLw5f@ zEuv}bVp{BzTV7g|sIcL8!rGLt2eY0|qvj;eQ}ReC*xzb=`H+onf2Tn5zANg@yRro1 zms5Vlu0qJe2%bm#1?RCC87b2*SocKwU%yzg{_#daC5x_IsW6_&3vwmw-}a{u&njRF z|HMM0ctGmvdskhkJK*$$urTBIz~scRRE1MLp!?Lw2=Vr~^-TpNbUb)n|AZ|8ge3j- z!mQoNayF#P%e*`qdV3ZO83I1^M>mHAsi6WG#{=EN$_7S@b)0Yz7xYIw4l27#9YuK! zUjEh(ECO0SIb91F!FP--GeI(XNG#o!8DVG<(k1Qvu;8PV^w0c*k_O90fMJTN&|3nR zFg-uF_g9w;qA6cjU8Q}xxdj_EZf3kfhK2^|1oajOXU=7ErQ$06N&*^0JtexaKCy9g z9}mjj<0wVX6dSKQZ!}mSP`Yad{IfiL(1U>yGZcz|hN0ZNnN@!c-Ps9O-D2X3EMjVJ zjzEn*>>AP2vU79x#$B8E2dDSD7NGF%w}?38I`L<4c%;wIIyO0(FNT&pst+x=K)M+# zHI$(uiwC&}jE41|AxiU&76O1$6@c1F)S*hJ__zzm?3u&XoxC1-zF-MYYd}93;}gnG zp@AWZ)gc(UykIw(;7D|Q(*+Hmoefp|mUd(W@Hol2=^cQ73H!OM%^ ztQiMu(2)0v%qhFB*m!TWfSif5=43o(I@o_$%!+KJsxU?;WUu6^`mK13^myK(#>ij-QQVbwr>R=mKn}@b9b7z_KUzsX`exdTG}5P$8-#BXeBdmZz?= zzP2-0p?h`z>w9O=U8ag7_R7PY#2-qwuRkUVEGTQuXW< z)>G&cOjV688(0iVA@_Z~MKqSBbZhrLAj$O|g~|L#Pt{Z!*F%<@|F?E}+JcPb`%g#o z@}KQdf^|^MZ9KR-V>ppQ1Zmk{HttMUYMB=6PW*k^G`pASP@I43_&K*SEq=a%!`R1v zUzOumO}StJYwZ05ThCi9c)(82n6pU*Y&IVO$-KtR06|ZD&Y_KWXePmKY^A#L;r$2W z1EvG-?FM?2W$BZ!hX+FUh8$#w$Wc0?Q)w(VpuPb)H}_{xkkVbfc+~OFi9WJdJAB=p zq~C~fUpE}DHd&F@7Fi>_)e&DH=~?+T=_;V#wf2p(!3t^TP^;=?ckCFlk|Fw`UhT4G zW=7Grtw+u!G-FC+UDZhXc>D@7p}0odBQA7x!|qLJ&Ki$^7=@fR3YS_+%6YLno(QHS zqky2g3RYN~t`xpjR8)ijCibNtKQiq`5Ed%caO*^R62n~Y4Pw{=(iv;#o75U?R`CYj zp>#2G#byR%YN;v90N*LX?1ZOCYVBB~60VA1qK*Sd=(mbqv^MLV5FY$l|$l&MqQoM?GY!n2nFO z(F2yo-5}Zl_5@Y~Qmu`oT+2uMYR>^2{Pr8!wD>nx7mjr54zHf-tr+j`$4=Mq9re<> zb$6LX+*!TtNxbf#_#7%_yAnpzzHw*&2v5vL?yYAi$UF%yN_OVOYML{~jz)hMzUr?m z3LQuk3F8M$M`p^c1yYwjn%?mmF1JQa5&SEhhF|t(N5Tk17VC^Zx#{1hVyo)G6t0{j zJ5-K1cq;W-5Ftpe!NJLiq4RW5D&RW<`=|tsl#F~)>PJMCtL6|i?`2P~0LfuZ>~b&w zGxmKrI?|rbM}!;FusCaPU{HB%cuVS(m>u&Df*gQM=+^X<=!9k;w*Lve0w zKT0557LB{d&LIc9?zeb0^~2@_i)tFDXQ}kRAJW^7aUqZ+*vK>gjG_=GhOuFG$mRU` zXYIzG9j#*SvwL4_B}v76O4mHRm_6t+>vVEi$-N1hA51qJ43+EmklpQMky%E3r~;Ja z`wizC&(EMnYTDV}R24)u$5j6<0q=kWFpAhRvvPp%V;kl(dDN@Du}EMg=atn!$R_c# zz13z^94X1kD;p^slv%ciGnNiK4`Zm{E>!CjD*!4y&Q=W zZ7Y%wa+FXWeaFw>HABhdHO5^yHW-L2isZFrEN9~$@d^Wn|!KGqsuJ3EGLr(&DA1AS$ z6^0d~Ts68aVRU8bwbHTE69TT-U6X&1P(2>yO9E+iwzoYiuw_HoN(I^}B3zDsr8&2` z{Hk`W>3gWkG5LM&p6@wq%*esAH7HUiH3}|hziEFFyGjjwJ?6K%zByn)x2UcuM62Bt z^hs=ewhguwi_Czy9kssoX9OFxP}t@s=ATCQ3`!wfQW25%BlvapD&t{GtQvfzrOY)l*}vbGjg0?R9joi=~qvUPQo;= zFD2z*45&+ZJ92TZBduYrOTyoejuqIOp*6+37)d>aZ7>5NGF2+q?>#xFv|Ez=iozx& zEA4HmQT-NP;!<@3v}s^GxGK&I&G?=$12x78cP&sk+JxnE+;`B=iOxkjQI|_ zRbHy)$PyW}{CX`K);s*LZ68x$A|3y%MypO0#P4uIz&dJ`4?3kQc4+tXF2wQ%l!O+R zof-KN-OGOXRW7#zH|OBxd9QsG!h*$YZ2}&g;ka+>Nw~@F4j}7Z_{JuP936iQLcy+V z^3}5Uyhr~lt>#(Z6gqelEN_2QFK|HjMBS;eJx^hVR_|Sc1>_)AR;}S2`m_6|uJOA1 z#*_GQc>qj!M6L^~)8azxq3e$Um2A zjiS$cv@Ait*6Ix{@rU%N^sa*m45r_ZUSzPzsV7!o=Kv;7NLBnNVz0Q;ucL|fav$tc z;dni=edAnKYGhsB2uzDwxol+1mEMfVNM*v;4B7Mbc{E}k(2EK&tdXeDJ!*!-e_pc- zX5vk4?2K&-ChCiWed$g3YBs)I-8VGvk4vbFan-F_OYQH;0eX#Gr7du+Y zx!UkP|61^AQkL$=C7ajH38zP?W{$lhGCkcr(#dl(fqTYcwuPq2xSA~xGdI&{%S0R0 zY)O$wNwIV9rao<_wb6E9WQ*K-3RUu-KRiIWfLxth3H8TfFj}#6uJEi%1=<|wAbn(H zWM}sdbTPe^{m94;vaT2yI>*jq1A^BN4h#3&EKHMpPsRuR*Y+g1lM#88!)>IRmg#t2Z8NulTqu;YVNhY?w(5qxmaVd)x@R0uhN_yw(Ifo|c_@u9AH!?pl7S>AhmX zcnr5Ufu9kahSBMXETQ3?!7_Mbh2$}2*;70%s^u-D9$d9YGJNh^4!%={F}cHl`n~ z=~q%zXZJ;BjCI7N;9|27@Lb5t-%EF2Tl{$V9;~ySRxl^>gyS9|Qt(^9_fFQMcGrYB zt2L^JUNJU?T!2BlBOn34UU%yF@xk@W;Su9$1mOeZPvJ}xtkkE4{PjdS@~^VtHSFE& ziRcxUr+A8X{ymh>;1#V`DqkLLUp=?0aTr)av5PtPOPIyTlaYxE3g^Z!j|=#c&`==+ z$C3m)z)cdrnOsJ~v9zo_UeSIyX*xlHLBa8h=)Lxvb3bW<*q!{mcki%Axw2V^Fc2bf z!SP{fan_%!Inze6jokLnK$rC5H#E<6EFeAn$zn zS2Hen{lL)#?UY2Rd(?dOu?Vyp2Qgr3ET_J)QYpYT_F~11qil~X#@jpYy;~DYer+~) zrT3UXhQpS=%k9LvTOMhv{r;kCGS!45_xJ>dx1oLPo zN6T@SE?n;nKFO-NPcZ?wYk;_$$yHSKVt*3vi)CI%uRr2^Q|F(sWo9%Xv!*1Os4UfWgp3}tYke#lF%bwjn|zleO)FWY}7u&poLX8G_SCK``8 z5~eDWbZ1?ukVnEl3iF;eLFmhvKGm@7rGH;drv#Vk`MPNfA~D zzS>;2W(J*D}| zlsJA-{Sp0z6!nu^dUzh5C&CpSVSFv+L@R|t3-kt%#~=|VBPj+Kfi~>K{tP7zJBtN^ zpVDT!aQE0O#z!LGwIk52nl~Jc_c7kJVZLqqEZ@kCx&(f;O$3x;1BbuYX)LN#2bbgg%o}mwZ?A>&kz}w< z#Bc6kSM$LHH?S*yDYG)x>6R8&5m}z@Sv&Xy(fLzrS3h4J@{#d*g_v^F1k-h2gZHRm zr+Rir-JkhrI25ovsYCM@79hM)d!I0TMotGLno=5ZLNw5PM4eT!xhnB+2}qL^K2NUQ zwST#}ZD?yurlJQ;c1zKi9(|P`%3(E+xAoO{AUaKU(LMVKb#r%~lFYj0PS=KWzfO;K z%;HC_H;bgAl3((Q#ez1NBq1-)4Em!1O{@|!T+-9;?B2&|a96WghTbXcbN94X*O{kO zWVo-yq&qLNlnPx`HdgAh@fz;NsxzeqcN8Asmm#4G)CxPxU^%b!u)46moSHNQ+pY%N ztvgwxW*>Y#Nk-Gq9K9UHN)_^rn+LgZ=j@9QKRG&Uyznn9cTo%~LDqvzXP7^9ZrN7u zb*zRDC@J{5Zk~S71DW;&%+;i{V8{fi~VFd?MCA~l7 z_VEDQanYYE7BzhQPQ!%Km-n0k7^!HmBDZl*RoY<~^xSVKCjs2KW2DL$z?y zE7XW(4!4R~OQIu>xv0$?AEQX%8*E+1C`N9;*vXD`Fm8KKLr@8(QaR_rK_@4<3V@ds zCT)UQEpCQ7a_jz_PtaoU0BwKO(J!stPjOo??{)Q9J6XqD5uDh-o&C6D)Utl~@3%g& zzS|Np$E2pzqH}2x!MDRrLxCmYuQB&!!lJy+=qxgoR<>A#E5qd+(JQ`4w>=&nTul4Z z5nugKd7+umu9~52HQ2K;W)_P{;CE5a*cY!RO1`y8N=A}hK-=i}=Ju%wVd`4OfvWOK zQ!oj^V5*!kJQ>m8C;N8;roB|vX1v60eJ%Q=`mo1Jr@+0&uOx4jvf&{MVXB+_FvIaQ zA%*j5O?x#smY)~_fR73N?C87T{KEW@pUVe+BRps^8<#V=LK1uHnf$UwrzutLS(rRN z=>fmQhbD`PAD^f!m+zzgRAk|3HCacPGjebwrBQ?UJhfNo-YxYjh!dk`Hqch&O5H^kdaYjl_mvwJfjc@1jOyg3Vj+f+dd`aMV4*{g(v3wtLEL6 z1&So7xHLHPOjpZ!>)^a|bQMssnzuGzDUDBU;^?_y;O{;(%bCb&y~Lnh<&uubPAA`b zl|@YRX0X>H)2!RgRHKD6R@m{hSPcnl@~!V4Nk7%KPwG~bQ36iufKc;WsN=6~@Do;< zOl!PePlo6)5s&aoqV*ya;qa=WF%jf~>KO&_mk7+F&k1HGw0+7w6uY`A+32b6 zjNg*UQ<+_IOgu4%e^+=15?MZb;{O)k*PZTNAF8jL-%rZoFR~SzYFHZ73g4tE!{=Sj zRb9gIt0}M+Mv5|(2^Ez1bFTFr7lU4J>rOg2=xr!gOuK-RweD!@RK5y|sOSay`w?!T ztkQF+yiv`p+hHhL9$-qF3o~zdt@0AaB#%5_ntwAwg}9je(;J^@87_e@rS?dxI;DoQd3V;ogs#r7pXAPQnh_h`%_*ySs$cJ_WkoiQQ_@w?bu(6+FHY?PFZ>v$mZke_!vT)kicTX_vk1HvN zLY7gd%e6@P@_Hy?MNG(LsZ}ne!-G3XY7zn}tVOIK1V~386A#fZ2u;22teyg+=JnTN zu~4gT%~}c?PV_M2{9$FISmTL6(s46f_@#+cu+2a}Zj_@YYO4WhsyCLek|wjq9(GG9 zUPNEo6_KfCn=RcLQ;_8sOiHXE(Uqfe-Zz4&>Abd z97y39hR&Eq_Kj6CdbxmL5KIVS7}BEx(Yv}I`=|_itBzRQZ#?<<(r3xpDW~!?En4Y8 za!ETiN$j9UD{6K}W#PRp1mf7g803OaIKG1uLo)?*)!f!7DPWL2D+L+t#QTblj@6KU z|6-es-0f0H}3+G;gi2lpWx#8eXBtQdnpl}V1|v+}Nc*%meyy4q)a-fi0K(%B8x_#DwM> z*>PcIjkrIpW~WS-cHih*5Kgd)t`+!KN!Uj=f!``QDW&m`w~wMET?Y%T@o=m&bD7MC z;+-AO#rk7&%e2Sf+Dn|LKHaC)viccSEttJ|lWMmM=K6Zi&%|DM?(G78WP`5dfisOI z?=Mk=a~t5&+`Lixe(*>W52{-%R`66Ie z9N$U;cVUA!*u7P~3V>)>JwgRL@rpo=uRI`{%3)Qv;)U$qXMvQtiFKUUzYf>8w?TEJ zXnyY7fH>f3MJ5bb7!aZp6Z@;C%|{mhPLi7UKt(ZZ_#Ls$N+Uv~d&a=h2F1P_7RcBh z!o-Il_pi=Rwy9jP$R33cB&8dQ1%&IC$DwG^ym{VgkBGv;{MWen)u6z>a0XquXOvwo zOkEwM!9Cx@y!Lo_$DHZvVr>Mqa&g~3KgYil4}Eld-*xgnSbirsiGL-x-5deY;sm~d z6q@&CF_ssXmTG5lI<)`CBiZSJ%p!B(Bbq267%7orki(u|~U2Sc>ScNp^ zPSrB`-ULlSNW2UxHG8QBK4oN^Xr3}T1s{Q=LY8PZ|7-x=KkGZWef$EamC7yt`6iQijsi)fLNk>w7t1nc$Mdp~U|)<7Qj*=<^h!Lz%`gK}eqrE=kKPYV>s zc?gE=N~W7t*yg;A&6^b5d-kyE&9p5VjJs*0OZ@pPy@)*9+nWK-&KIim)qkIE*e ztFGCK)X-3sh}4-6p+iedWt!!c)SWp!H0S%EDkmnK-m!Rh)qO@0;{HTI2H6RLlD33~ zDTYXthLbCAG@oF~W%}zK`QVL2ov{MZG%xpt!4tbVVN8K~&-vuKXxR|^8YOUIl+f&n z2EK0_eRO1qZeS}_D~p0PjqDywdH;GOz~#gJF^491**0_ph~vyi&&==*Ve$a+Q3Y7+ zL{IK^g$+7k<9@FnO<}u~JjNh|DDu_{6g^m`d>La!%<{wuXVfoNlx>Z<=!njy=x)@u ze_}4dOz}_C=5Ky+nGS@YQb#i2xo2GAvN~11hGARZ%OBz%eEl3_*8O zmQOUXyY4sIHC)E`7@_$j1kcW-gL3+zT~J8H4`wL!h8uBUuu~u)d|N`GXn)y({p{I= zM=xi@gYMyHH1kw>WiTZR-1GrUh*}k}Oe@t3HKu14g(VYS0k|OVH|6f*M0Z+U)TJawBd93#qZpS-*ZNoVbU*8bs+X zW>hnZ_rRok;R=24H;9Ugib;}cN^VyfSO(EEB0 zX{&k%S`}=)b=+X4&U?hZ!!*%?3a|iibpPTygVOIlSUm7IBsjy~GD@Rn7g%$29Dd+6 zX*Dxh;o06MNsK88GiDgnv9@BVu!7)&$>q4K|LK`PScz}EcF*f+9ilobPR?1Pusf zxE~DYO6$385uSbPqG9@9(}kGDJX+vqE4diM3V65a`kP&P zwzH{JpWn_;#eyY4{=;Qj5Y&zznS`1F?DL5ec03KG=yo&+BDg2@SjfO zgT0fHjrKgrtvZw;kXe#zoYwiq;`G~o@y2XQN8nqjxdj$%QepWqW4<;wa&(wy_ib|L zv7D%zx)h%V?2p1#Q&*C;VhF~5j%`n>pyRE+G9VjC79q>co-fWxI;^t-3YsRWwj~u} z2f9Mee{h0++aKIy=7-ROP|jw)cd@nK+s2b-p~Chm|85MoI4`C3*K84N=}z_y^x*QR zxe6bpjc*<(qutKmPL(!X>Xt`3)#x2diZR6#UARvgFC2iHy%K|?pBxKB9i%OzUQXf0 z_BAnbys# z5i}2;JNj|)>(aZJ!-{AA^_D}Rj5zSOnSIaA79q3qsbamGOK;hB*MPeopV6)&5}geWmMC->BTk+QeT?Oh*{r}>$_ z$aqVqRUfQ;X;YfO6xQ_nI9Lhl!T3+xSvCO9DK;h))ixOJ&lSQ9BH_McLQ!cnb3-~= zkr9Yh&r_4W47I|f+gKygV=;3OL_A(2ys=XEHtIT@ji)evy(6Fgn~}4>>dp=;|2qbp z_RLZenXFthn=3tQ2C^;+S;h&1dh}IlHPL9_GDB`iML+ELh3eY(GSK-0MT1O*iMY2j zp>=<$6T{}0Hb%uP9s@zu=6(akDwh{tjq7rb4vdb4>OAO9n<>iT*wcIGfnOguG|;_k17>Hcv@v-yGPS|i+pU+CA(j^`gC%Q{1e)cRvN8;j>VX{3Mi z#MVux`ciA<*kz$y46OW86w3<=8Af&tmsA9`@llh}E^1PPJ^~VpY-GWSY+h zLQiH)zj0{%xDh|Lid%W>_&#=GF)SMOgVMAVB5%OYvuKe!h#B^M9h>(vs4?t?xOwaRrpJ3mOt);u7Si_h{GXRUzyh9CrMb zxag?(SwBO9MhMh-{GT}dVI}0#gHVYl2fYLjM5aJa)31?w@*hz#G0M>~-j}0)1k_as zV^^mVrM+f~X|e5>z>t;@m({wPiy0tt$FtLD#jgC>ns?rQExhaYIC(T}zH0Qi!6#d| z0`Jo2#DKTj^~|q)wH}kF1Np{UeeWnax%hbVI4)@FJQxmha84?CaJgrRWm_^GUfr#+ z+QBlA32S`dp`g%m`!eg?)S8-$XPJzV2kTCU<1;pipT^V2w9@j~I+c~4pYpLODgAI& za!#z@cQ7$+3Kse%yqS~es(@c#Ra-8Z?8WtYS%J8eL=mBiWl^cV${uT{*svs3@AbPQOWu~RAb=Y)m zxvMncof=(&=xbA};aK(y&P)-t_NU9xmehkL#c5rxXM&97`h*{nU9a*A?8Ub5J_YD^ zC8_TGfA5u`9&;CfbGh1(Qj2-XJ>Y4jUJ}fBvN9r9G0Qcc%AkzJETm+cq}Ts5e5IX)`Q$&WNpls<*diFIQ1n`tA6$7o%#`*gw2t~1NGZD*lqsBi|I=tg7*EQRSH4Bf73C0_Mk$C$4Vutd;KmX zqvH9%^HtRl+|!_<@o{*bMWN710?Hm`b+HL$0d3$4D@;b?tar{q_G^S3e(&E^EP7td z7>t7}R+e+7*5XlG#S{g7nlr1Qg_}|T>f3_2n@L4!;*M#K=+UmzpstfN>l5T@Z-b_i%h4io zj2p_`<6^5NIglW@u`FkxsiQS=LEb{6L7oMi7nWJZT-0K<>YqQ`lm)5xR}H!gXGLOBLEB%Q~{iIya8-m*_vY{_)B`cg;L7Nf#RQ& z^a6`BS4CIDkcm;lx(i zU}ojPORjp{>fN!H`pnkg`B9kTTcZ2VJsvk=F8btfA(OL-j16K3Y<#z4iMCxir3Pb9 zoAm~i&KLJT5aO+_?532JOSO6ve8C`2EhAqW zfTU}aU%R%Junb^;js*5ALWp+8q5pm^% z^S=6Y^*^KEnO>$dZf-uFfa^F)$41J_ugZqY?nw}P6 zYRyST%JLc6Frr5)m|Mm#`3G#5%|Lp_g?tm|M;r`#P96D$98+giS_4@B(^We2@4NMN zkM6WG+>+1@1NjR_)2r@z$`3+{qo^awF9~iw0$vpiq4s7j;(y0zvjLak?-Wdy&QzLZ z&aX7#yy;;V_OWJ2hd?L@=caN#xOQPSL|o!0(7mgMgH|J;q9Kuh9bgu>UJn;=?Zc1@v0{B#z zztV~HjFUh|zCSCdDvDCYx>RYOBZWKHRS-)m>s$=!T67aQ@lQ3!AS3 zdGoC;0WA!GKY*ej@y!MQ^v_c8$BHC+;$Yy? zKfi7oYA8LDG0&!bcHWa+AZDf=63j@J{NQqSowgdxnel%2gxdw$k|%?2F?64E%3_QQ zF(o{8cN1Al%;9vnq)xNi7)kxP1rxhc_p1&Ib_>%$6cLis((>Z4^R$1C1sVNn3wAI= z+Z{jq39papdeW(5&KF0bo{`JV&JV;LYZyC?$XR@kSu1FF{FDRrYqYU9j`zj+6e{ZZ z7JixE_TiMJ6dP6a3q$VCmloUqAVk@3(F+^{K5en$+eruSdrJMz2%)}WW}*DhBzg+6 zrYeZ=G&cOY4m|%YM)P;=WJw>LBfY_8A8=+kL3~D+I=gnDZNy zIQt>N^Gt#`q-by)(bt*arHYhQ^V~S1xKSCP@+~S6?gt>vxdr93Ff^KYRzmJ)k1sA! zx&V#x&rprSEFBZwTx^I3WRU5!Y2xDRegpc*@@zQC(objXonsM}Veqhsk4&0Zhou#* z&t_?CdLRxKE)85RpA1&Aq$(EB)4u%boP^`gxm&PPow^@K~oOxK=hFTC`mGGpzjOBY&M$9%I9;6(*|$>(7B=M% zC1DdL>x&9UNi$?FG_|>WhsxYy5m?s!@gKaRn1og}HB7`tnc!BB>s<$__1BBY=i5xd z^RZ{j7w=2<#?!Ufxa#*9&Ww=m3&!B^=z%~J>KX&w5H1c5x#c}#pc7TD@zMp$jRzN-)n9^;{KvOe1o|2IO)3-27b}0DnR&*R`^JXWGo|*UaSPDh z+(MembM?Eci4#WT+E!py zH`S_0zsNx2-DR%CR;Ro#pg6m@1ksqk)9-TCK^9Z)adLZ=H>KGFZ`7t-d-13Je<9}f zt)NK;i}89VPIkO#i5ExCI!4n>m^XJ@?61Pa+y_LJ(IkhA+;Xh-m!LkA-kRGfs^d0? zkM6yYJ3=|btQc?P*}!c(!5c{U?-=>qLd3@|{VHYZ5 z)QlZyOMW9jM(UR9{|9IllZ^Z_8#U$U+c-R?hkI3BA}FSOUW^03zlVhe6^Oy01Hcn1 zs*>5_KNwgrDwSh#e5$+#h)_u>TMJ0H3*Ryg}TUR3N5gX3G-E13?`Tb5uZA?JHLa4 z$s&aTz&}ym>_jrJ8XP`~+;(wy%&XAoo;!0FX$at^n9~2MwGW6y|6Ms$rNXx>efq)8 zN8ZdPGhzGO4j5js86gAI=C8?Qzqp=Drs`yES%3;e zF1XAPCVt$|T^Oc1u!HwM7P%e~t_isy^?pBM#3yBm#5F_o@dF92Sm;f#H8itz9>-Ue zeFq`i%nr8_^iR7oh`1ccXFm1sd7)gHq0f5nA$}WK2VZXC234EQfMj2IVF&Y7?*00? z+MoSGE%)~{oz&W;W*)bf<$X9Vpj-}KAwnlsLn9qg(#mn;p=!J@nsB%*pj(mt5*R$Y zqF+dm=b}uA$Hq2pG+s)uN)Yy&Lv{AHdixZFgD)B1&<3zmB#pW%UNl`k&&mCPR5o9eyM|=eQ6Y` zV)E+_&63R1>W3X$^x5kX50yp967(Nf&NsU^dr{D2dzRzM(hUs>+cs3i7M<1iot|6? z>1zG5G@I!T)%&!i=sZk8pU#FvoNzNR6TSECSQ}+r=6BCD+w`S)D(N4{m@svrE3aEc zt@-}PS;3)pdp3FWskV05!Tv~1R(H59yx3lQ88c&TZ@S=6+GN*34*~-oY`X0qhKKE0 z)lODAhC{~mZ3*yUJV=Ucmjp2*JtE}BlUaSPv0fI36B=n?(Bwaw3AB*Xd6rqjWCXyD zB06~df~nwda=M0}graCz?z8hnyD^s|=4i;G` z(jB+3cv!zgYNpu$1_TVyBgpS7d-rW6(0A`iO_S~BwFP4U4uU7f| znA$Vn10f%SO9jWPDZ> z(FaFR;SsWrTD}K7Ilozs%#1hd51}OL`>G-bWp2((F)$!%9wp%+OUwB3g1e5#48K-T za`uEEB@-q2z!4e_i`g38-@JUW$m&k}5S<=+*7RE>$mK$4>3nWa4+dYy5!EagO$Ija zItzZ{20#1zZ>{u*nEs!$q{U0kJYvTm!zEc7&J11l6O9h}k)0X$h6&VEbT;w zW7~11yfgN49UknXf$NpYMfNuAQuB6L=0Xxa3YY=|{D3NRzt|lE7vX6(8D?im=12CC zm~w%$RK=wQk;n)LuBS;Q0+iCIU5*Ml{Br!wtKZlFNRBvLs)eH`ihuy;tvNVg)_m`M z?x(o4*eib&-c&UHX$^&i;St7Kaz3!7ey!9BYA%*L?Abr7N39ChLN(YRMoi4}A1Gd| zMRJ^KR4l;&2Ym~b$zAG;n6@$3gdHzfh6n2UAOqvT&hYn3n^Y3kY_GiG3Qe|M2P?Bm zTaH$pa`VLk&l6z^^j8+l9`l#pAi@`qX8-Fi=~{mY1#}#-NJ}IvDvk}U8H1#@zAA^s z(V082$Wotu){5KN<432(pR-pcT9~&RJUK*C9F?Z=hpdBlo$mI)(?Jd+m(x~g@rDoc zm9s}qG?A+>!HqsCdl|gpDxqh9#crw?OdI`BSS1`8VWCfrcciW-v?Rf?*}q5%gtiUx z0AgC{)ToS}Y~(9ijr}gO%i;6-bIE8qx>VU5k*H2dwevFcH4ZnzQ9QrW3X&99#pzvr z!Dedp2V%LD;J|oyl7?{-#8QS_d8-7U6JJ@YoW9)y;@rnJ^z(~di-d|@WQ5soRJ3sQ zMC|Y7OkRMel27^0O>*hA^Gb9c!Zwg%z-cfH)tVTMaShkf1BOKV4kE#opieU^2R{9OB=`v@V|e2 z5>2FX-Lz8sAa}ILLX!mu8^eFhVAD5`7k5BSIZEb30k9b({^PS19CIMm^RMouUjG)cNP_NBq!H!p~O6%!G^#6C!;2YBQNt>4btKb1O7~uPVHJxgv z_-Yhc0FDYhXBtD9;(Q*3ZbnAp&GCnDaDcr~c76XaHKxr!tdm%(QJpDpA2g?;rCM+o z|8MR(dVU9xBwgKS0=fy(3Gx4Fac*i2HWYloU59%G$aP@=v{rrq^7$B)%9O={a5u?` z3>E3DZ!K79%LUmbsss{WU1EJivw0m6rVbz~V3%P{vuTgu6SZNU8@#8oZs3$%M|#9s z!cyPJx&&Oax3~WWWKf2+$U;BY;&WlV(FaQfZjB)WLsflGYZ}>>n#jw8J4W+OH1q`-(*VWN+Il7rza?$AwWFei_hO>kG4FV1G;oXrJ*S1FlUqw#;CSDWP) zN%?0?Ve$VgZ*Fh*oJ~vI7vfUBO#1}$8)u?d3d&X8>8ogD9FA(H(CY&lPQiH#qIz1+ zS*x8|(zEOS6yfLTs>dJ2nw3$tH%8)-7~j~C_3~Soi{0IUDjKQn>6L&1?lgNi{q-T& z`mwRPrt$k|o4c2sfVz!>MwdELOSxKnsPyNaJ>CA#eiLUQp+F9|I%69?K@fn8cr>>O z=S|#Tz5eIl6Kkn-;L!QBI}UfGJ_fVK+evj7xR33CO;b`*Y*5DoV5jQ0?|`y=RLKKF z)El*vu8T{{*(PPXpo5p+HpBh-6a>6ihRmsS3-()uSzWcTKtqpgxw=7cOt`4DG+sNO zbgpOL!)2p2r`^vhrvkp67RC8l_S%NnGh0u69E&+TPdj#;Kb}02aNgXHQ|qTo58eN@ zd`Dv8)gBUhI90Vqh&t@SwF$0gxBIl_C#LB$Y>=}Ywu%}PtgD@8?_QR#IMrYNVgr4> z6+4{7HMO<7XL=zsDI-ULdyqvuwBJ=S0Gp7|SE-`Wh1dsH| zb@5(0wKmLnemY)^=Fn;Ud6Y>hn`is``s(X?c386c=f48s(-muak)&^_U?Q1ke@7L_ z^73}3VFyf_Y8sP9`>nsp=S|bf{C7TKl4(3Nr5^a$??ZYVxD~a$KW%Y2KGj7;!~|Bo zW`q?+i3Lok;0BQMktq|c_Ak%ClNzBqh5i_pkd^=3GuibVXs}=t&|?^&UC}9M+#ntr zFkkmRGV1#t5CJ}QgaicHia1Hr+Wr0z9MZxq-P)E{54@tEZr2Vq+$?-#fBu*I`}OZx zaMS6!U;J)Q=Czh+C7$J#0qImLZ!a~t_QyjE4_;+i5HPd(BLM1lL;+rJ$hM@5C}3Jp zS8Ein#{cj;)W~w(QoA?tr!y}P>B;vP^bGWgl!k_9r%tcI#-)mbGK_V~jo8j^5_@hH zEae9FKFrO6JPnpK$z@SYB$s8ZBM`kV3wCK~)X7(uVz>$@o=cK6bh5VuJV7!73p-%#oC+A2oqo9|=Q+p1;D^3KNH2O+#>D;71P!>Dqsy z+PLrN!|}M(NZ_u9zKLNJ{RMTU^!x|e$C2rMPrDfjS#EF88?y-p8L&n->Vk35RlZ$r zGve4m(@`pzH51XF*~?0+N$Z!-&B5(q$|W@&uis6%aDp`Lcvd@9cs-IpG27-7CIEf% z$J1?KkP;-5+U83w)M{V}GFV2?r<5V#VMOjRn#^=f{T==-$(@)hDl7S!)Z93uQx6nyvnoFsfN zSbi5v!Jqczx9+c2her(&`v!lKGh5or<{a_>o?k6M#lOwKD{X@4AYQ!6H&%C)>tx7; z?_&o{uw*+${Fg7>lyXI)4#hOg)DQFMzUUD&>|~IZULC6o*=3P+>CaR_UgnH?!iI|H zqNzc#CW^`%4cfCC#9EZ6@n;#l)s3~mEiJfq_YX8W@Jy)eHY?>d?LG&~uAcJT1K|FZ zFlPJZ*QvHw#dhv<(WulL>X=Xv2aPBw#(wQSP3H## zJnZ$o z^y5C+xQKV6(it6G-(SxmY;ClU^aD_A(NPUUyFzi7dexub8od+g!(kh&vp;w6T^(c%vbdJaok8EdF=D&D7j{`t@}{s0}&%m`Czkx()^(l@|7CBRz*-b zu`83xmwQYbnehiUd#RfN;?18-Ck@igjyTrH52Q+3{`#m!k{5Dc=7|)(^s~sK$ar}e zm|)z#T%vy(TJV&BbOe?7;ZzRhZSb zFgf14kwEbh79b?KR~tters*KIZ8XRid&z@Xx3< zv&|p0r?RN<1S}``$U-@h*v`J`$2{>x+~Th1iW30A(#98Y{(P(IG|+msSy zZZLnhYqByA$vldrIq4mmG}7KtnAlI*^39P~kz#bZyA&_xZMrw@GnP%^`r!Nf6(_5_GYDtr6wkQQ z_@dv%#h}P@ZccSKYeFM$qx{#=-ra+_;3;RUIO3w9L8 z(A78&5w$FF?eMu?EL-S5FwQfr2K(EIk!d}ss4l6CW-0Mc*SblLrSoD`5N4bo-rHa3 zVJldCXEdBf@iwv$MD1ew3*p?lvbE70&6TN*`nBsv;Iu1)V(XQp=7W(lhWA!1rPuw_ zU%GiJjy}#S|K79%``*8QSn2r);PP5=(rynU{nivhBD*E$2(N)o5*B|;^wqq&$kbDk4#&%3!+%ZLc-xhV`*w%<0L>R|w+vr`U)O5Z?&h1xA z9>E=d=nQi|T_^n?cLN!?Qi~KXeZjQ&}RddB}J2#*!wi5S*al+u>Pa_Jo~K8wqXRf-q}{Xb2}#e@I= literal 0 HcmV?d00001 From 275a236fa9f0851e40412d9e9bfd0284d5b0e435 Mon Sep 17 00:00:00 2001 From: evdo Date: Thu, 10 Oct 2024 08:37:06 +0200 Subject: [PATCH 02/20] Added article about kyverno integration for idpbuilder --- .../tools/idpbuilder/installation/{__index.md => _index.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/en/docs/solution/tools/idpbuilder/installation/{__index.md => _index.md} (100%) diff --git a/content/en/docs/solution/tools/idpbuilder/installation/__index.md b/content/en/docs/solution/tools/idpbuilder/installation/_index.md similarity index 100% rename from content/en/docs/solution/tools/idpbuilder/installation/__index.md rename to content/en/docs/solution/tools/idpbuilder/installation/_index.md From 2280f8b7408916c25815d562c18fb9d04c8e5d1b Mon Sep 17 00:00:00 2001 From: evdo Date: Thu, 10 Oct 2024 08:39:28 +0200 Subject: [PATCH 03/20] Added article about kyverno integration for idpbuilder --- .../idpbuilder/kyverno integration/{__index.md => _index.md} | 1 - 1 file changed, 1 deletion(-) rename content/en/docs/solution/tools/idpbuilder/kyverno integration/{__index.md => _index.md} (99%) diff --git a/content/en/docs/solution/tools/idpbuilder/kyverno integration/__index.md b/content/en/docs/solution/tools/idpbuilder/kyverno integration/_index.md similarity index 99% rename from content/en/docs/solution/tools/idpbuilder/kyverno integration/__index.md rename to content/en/docs/solution/tools/idpbuilder/kyverno integration/_index.md index ecc9aa2..7dea80a 100644 --- a/content/en/docs/solution/tools/idpbuilder/kyverno integration/__index.md +++ b/content/en/docs/solution/tools/idpbuilder/kyverno integration/_index.md @@ -42,4 +42,3 @@ idpbuilder create --use-path-routing -p https://github.com/cnoe-io/stacks//ref-i ``` After this step, you can see in ArgoCD that kyverno was installed - From 6419ffd6ec30c22e959aea0c7582a3d1c0f56897 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 10 Oct 2024 07:50:55 +0000 Subject: [PATCH 04/20] refactor(documentation-structure): section concepts/platforms refactored to the general documentation layout with descriptions --- .../concepts/4_digital-platforms/_index.md | 3 -- .../platform-components/_index.md | 42 +++---------------- .../developer-portals/_index.md | 16 +++---- .../orchestrator/_index.md | 13 +++--- .../platform-components/references/_index.md | 36 ++++++++++++++++ .../platform-engineering/_index.md | 13 +++--- 6 files changed, 61 insertions(+), 62 deletions(-) create mode 100644 content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/_index.md b/content/en/docs/concepts/4_digital-platforms/_index.md index d0145e7..b5d5678 100644 --- a/content/en/docs/concepts/4_digital-platforms/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/_index.md @@ -8,6 +8,3 @@ description: Platforming is the discipline to provide full sophisticated golden ## Surveys * [10-best-internal-developer-platforms-to-consider-in-2023/](https://www.qovery.com/blog/10-best-internal-developer-platforms-to-consider-in-2023/) - - - diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md index ed13961..c1f2f70 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/_index.md @@ -1,38 +1,8 @@ -+++ -title = "Platform Components" -weight = 3 -[params] - author = 'stephan.lo@telekom.de' - date = '2024-07-30' -+++ +--- +title: "Platform Components" +weight: 3 +description: What in terms of components or building blocks is needed in a platform? +--- +> This page is in work. Right now we have in the index a collection of links describing and listing typical components and building blocks of platforms. Also we have a growing number of subsections regarding special types of components. -## CNCF - -> [Here are capability domains to consider when building platforms for cloud-native computing](https://tag-app-delivery.cncf.io/whitepapers/platforms/#capabilities-of-platforms): - -* Web portals for observing and provisioning products and capabilities -* APIs (and CLIs) for automatically provisioning products and capabilities -* “Golden path” templates and docs enabling optimal use of capabilities in products -* Automation for building and testing services and products -* Automation for delivering and verifying services and products -* Development environments such as hosted IDEs and remote connection tools -* Observability for services and products using instrumentation and dashboards, including observation of functionality, performance and costs -* Infrastructure services including compute runtimes, programmable networks, and block and volume storage -* Data services including databases, caches, and object stores -* Messaging and event services including brokers, queues, and event fabrics -* Identity and secret management services such as service and user identity and authorization, certificate and key issuance, and static secret storage -* Security services including static analysis of code and artifacts, runtime analysis, and policy enforcement -* Artifact storage including storage of container image and language-specific packages, custom binaries and libraries, and source code - -## IDP - -> [An Internal Developer Platform (IDP) should be built to cover 5 Core Components:](https://internaldeveloperplatform.org/core-components/) - -| Core Component | Short Description | -| ---- | --- | -| Application Configuration Management | Manage application configuration in a dynamic, scalable and reliable way. | -| Infrastructure Orchestration | Orchestrate your infrastructure in a dynamic and intelligent way depending on the context. | -| Environment Management | Enable developers to create new and fully provisioned environments whenever needed. | -| Deployment Management | Implement a delivery pipeline for Continuous Delivery or even Continuous Deployment (CD). | -| Role-Based Access Control | Manage who can do what in a scalable way. | \ No newline at end of file diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md index 5ac588f..60c5453 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/developer-portals/_index.md @@ -1,11 +1,11 @@ -+++ -archetype = "sub-chapter" -title = "Developer Portals" -weight = 1 -[params] - author = 'stephan.lo@telekom.de' - date = '2024-07-30' -+++ +--- +title: "Developer Portals" +weight: 2 +description: Developer portals are one part of the UI for developers to access platforms. The general idea is that the UI parts should be enough for a developer to th their work. +--- + +> This page is in work. Right now we have in the index a collection of links describing developer portals. + * Backstage (siehe auch https://nl.devoteam.com/expert-view/project-unox/) * [Port](https://www.getport.io/) diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md index 83fbdef..ed92bfb 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/orchestrator/_index.md @@ -1,11 +1,8 @@ -+++ -archetype = "sub-chapter" -title = "Platform Orchestrator" -weight = 1 -[params] - author = 'stephan.lo@telekom.de' - date = '2024-07-30' -+++ +--- +title: Platform Orchestrator +weight: 3 +description: "The new kid on the block since 2023 ist 'Platform Orchestrating': Do the the magic declaratively cloud natively automated." +--- 'Platform Orchestration' is first mentionned by [Thoughtworks in Sept 2023](https://www.thoughtworks.com/en-de/radar/techniques/platform-orchestration) diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md new file mode 100644 index 0000000..1cd858c --- /dev/null +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/references/_index.md @@ -0,0 +1,36 @@ +--- +title: List of references +weight: 10 +linktitle: References +description: An currently uncurated list of references with respect to typical platform building components +--- + +## CNCF + +> [Here are capability domains to consider when building platforms for cloud-native computing](https://tag-app-delivery.cncf.io/whitepapers/platforms/#capabilities-of-platforms): + +* Web portals for observing and provisioning products and capabilities +* APIs (and CLIs) for automatically provisioning products and capabilities +* “Golden path” templates and docs enabling optimal use of capabilities in products +* Automation for building and testing services and products +* Automation for delivering and verifying services and products +* Development environments such as hosted IDEs and remote connection tools +* Observability for services and products using instrumentation and dashboards, including observation of functionality, performance and costs +* Infrastructure services including compute runtimes, programmable networks, and block and volume storage +* Data services including databases, caches, and object stores +* Messaging and event services including brokers, queues, and event fabrics +* Identity and secret management services such as service and user identity and authorization, certificate and key issuance, and static secret storage +* Security services including static analysis of code and artifacts, runtime analysis, and policy enforcement +* Artifact storage including storage of container image and language-specific packages, custom binaries and libraries, and source code + +## IDP + +> [An Internal Developer Platform (IDP) should be built to cover 5 Core Components:](https://internaldeveloperplatform.org/core-components/) + +| Core Component | Short Description | +| ---- | --- | +| Application Configuration Management | Manage application configuration in a dynamic, scalable and reliable way. | +| Infrastructure Orchestration | Orchestrate your infrastructure in a dynamic and intelligent way depending on the context. | +| Environment Management | Enable developers to create new and fully provisioned environments whenever needed. | +| Deployment Management | Implement a delivery pipeline for Continuous Delivery or even Continuous Deployment (CD). | +| Role-Based Access Control | Manage who can do what in a scalable way. | \ No newline at end of file diff --git a/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md b/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md index ec8ba79..b093bda 100644 --- a/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md +++ b/content/en/docs/concepts/4_digital-platforms/platform-engineering/_index.md @@ -1,10 +1,9 @@ -+++ -title = "Platform Engineering" -weight = 1 -[params] - author = 'stephan.lo@telekom.de' - date = '2024-07-30' -+++ +--- +title: Platform Engineering +weight: 1 +description: Theory and general blue prints of the platform engineering discipline +--- + ## Rationale From 984c16d3a7d6611e7b511aa87fffd18bfb90c6cd Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 10 Oct 2024 13:18:15 +0200 Subject: [PATCH 05/20] fix(doc): removed platfrom typo --- content/en/docs/concepts/_index.md | 2 +- content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md | 2 +- .../project/conceptual-onboarding/6_cnoe-showtime/_index.md | 2 +- content/en/docs/solution/_index.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/docs/concepts/_index.md b/content/en/docs/concepts/_index.md index 9d9620d..87766df 100644 --- a/content/en/docs/concepts/_index.md +++ b/content/en/docs/concepts/_index.md @@ -1,7 +1,7 @@ --- title: Concepts weight: 1 -description: The underlying platfroming concepts of the EDF solution, i.e. the problem domain +description: The underlying platforming concepts of the Edge Developer Framework (EDF) solution, the problem domain --- diff --git a/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md b/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md index 35c4ca0..3788735 100644 --- a/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md +++ b/content/en/docs/project/conceptual-onboarding/5_cnoe/_index.md @@ -9,7 +9,7 @@ description: Our top candidate for a platform orchestrator In late 2023 platform orchestration raised - the discipline of declarativley dinfing, building, orchestarting and reconciling building blocks of (digital) platforms. -The famost one ist the platfrom orchestrator from Humanitec. They provide lots of concepts and access, also open sourced tools and schemas. But they do not have open sourced the ocheastartor itself. +The famost one ist the platform orchestrator from Humanitec. They provide lots of concepts and access, also open sourced tools and schemas. But they do not have open sourced the ocheastartor itself. Thus we were looking for open source means for platform orchestrating and found [CNOE](https://cnoe.io). {{% /pageinfo %}} diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md b/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md index be22825..28357df 100644 --- a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md +++ b/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md @@ -472,7 +472,7 @@ and see the basic setup of the Backstage portal: ### Use a Golden Path: 'Basic Deployment' -Now we want to use the Backstage portal as a developer. We create in Backstage our own platfrom based activity by using the golden path template 'Basic Deployment: +Now we want to use the Backstage portal as a developer. We create in Backstage our own platform based activity by using the golden path template 'Basic Deployment: ![alt text](image-10.png) diff --git a/content/en/docs/solution/_index.md b/content/en/docs/solution/_index.md index 7afabb6..4538533 100644 --- a/content/en/docs/solution/_index.md +++ b/content/en/docs/solution/_index.md @@ -1,7 +1,7 @@ --- title: Solution weight: 2 -description: The underlying platfroming concepts of the EDF solution, the solution domain +description: The underlying platforming concepts of the EDF solution, the solution domain --- All output the project created: Design, Building blocks, results, show cases, artifacts From 8dcf1005256291dcce072f28692942fe16fc3e39 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 10 Oct 2024 14:10:21 +0200 Subject: [PATCH 06/20] feat(use-cases): added socksshop fork from mkdev - looks interesting --- content/en/docs/concepts/3_use-cases/_index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/en/docs/concepts/3_use-cases/_index.md b/content/en/docs/concepts/3_use-cases/_index.md index c27f9d9..83abc4d 100644 --- a/content/en/docs/concepts/3_use-cases/_index.md +++ b/content/en/docs/concepts/3_use-cases/_index.md @@ -30,6 +30,8 @@ Deploy and develop the famous socks shops: * https://medium.com/@wadecharley703/socks-shop-microservices-application-deployment-on-the-cloud-cd1017cce1c0 +* See also mkdev fork: https://github.com/mkdev-me/microservices-demo + ### Humanitec Demos * https://github.com/poc-template-org/node-js-sample From a8dcf6304cb2b4b751a00c36bb719258f915a116 Mon Sep 17 00:00:00 2001 From: Patrick Sy Date: Thu, 10 Oct 2024 18:35:31 +0200 Subject: [PATCH 07/20] feat(cnoe-verification): added description of the findings researching the validation and verification capabilities in the CNOE framework Refs: #IPCEICIS-467 --- content/en/docs/solution/tools/CNOE/_index.md | 3 + .../docs/solution/tools/CNOE/verification.md | 68 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 content/en/docs/solution/tools/CNOE/_index.md create mode 100644 content/en/docs/solution/tools/CNOE/verification.md diff --git a/content/en/docs/solution/tools/CNOE/_index.md b/content/en/docs/solution/tools/CNOE/_index.md new file mode 100644 index 0000000..0011792 --- /dev/null +++ b/content/en/docs/solution/tools/CNOE/_index.md @@ -0,0 +1,3 @@ +--- +title: CNOE +--- diff --git a/content/en/docs/solution/tools/CNOE/verification.md b/content/en/docs/solution/tools/CNOE/verification.md new file mode 100644 index 0000000..a39774c --- /dev/null +++ b/content/en/docs/solution/tools/CNOE/verification.md @@ -0,0 +1,68 @@ +--- +title: Validation and Verification +weigth: 100 +--- + +## Definition + +The CNOE docs do somewhat interchange validation and verification but for the +most part they adhere to the general definition: + +> Validation is used when you check your approach before actually executing an +> action. + +Examples: + +- Form validation before processing the data +- Compiler checking syntax +- Rust's borrow checker + +> Verification describes testing if your 'thing' complies with your spec + +Examples: + +- Unit tests +- Testing availability (ping, curl health check) +- Checking a ZKP of some computation + +--- + +## In CNOE + +It seems that both validation and verification within the CNOE framework are +not actually handled by some explicit component but should be addressed +throughout the system and workflows. + +As stated in the [docs](https://cnoe.io/docs/intro/capabilities/validation), +validation takes place in all parts of the stack by enforcing strict API usage +and policies (signing, mitigations, security scans etc, see usage of kyverno +for example), and using code generation (proven code), linting, formatting, +LSP. Consequently, validation of source code, templates, etc is more a best +practice rather than a hard fact or feature and it is up to the user +to incorporate them into their workflows and pipelines. This is probably +due to the complexity of the entire stack and the individual properties of +each component and applications. + +Verification of artifacts and deployments actually exists in a somewhat similar +state. The current CNOE reference-implementation does not provide sufficient +verification tooling. + +However, as stated in the [docs](https://cnoe.io/docs/reference-implementation/integrations/verification) +within the framework `cnoe-cli` is capable of extremely limited verification of +artifacts within kubernetes. The same verification is also available as a step +within a backstage +[plugin](https://github.com/cnoe-io/plugin-scaffolder-actions). This is pretty +much just a wrapper of the cli tool. The tool consumes CRD-like structures +defining the state of pods and CRDs and checks for their existence within a +live cluster ([example](https://github.com/cnoe-io/cnoe-cli/blob/main/pkg/cmd/prereq/ack-s3-prerequisites.yaml)). + +Depending on the aspiration of 'verification' this check is rather superficial +and might only suffice as an initial smoke test. Furthermore, it seems like the +feature is not actually used within the CNOE stacks repo. + +For a live product more in depth verification tools and schemes are necessary +to verify the correct configuration and authenticity of workloads, which is, in +the context of traditional cloud systems, only achievable to a limited degree. + +Existing tools within the stack, e.g. Argo, provide some verification +capabilities. But further investigation into the general topic is necessary. From ac17c07503552564668eb82f3228e8ffd0e64c2f Mon Sep 17 00:00:00 2001 From: Patrick Sy Date: Thu, 10 Oct 2024 20:25:58 +0200 Subject: [PATCH 08/20] feat(http-routing): added docs describing routing of http traffic in the platform Refs: #IPCEICIS-468 --- .../solution/tools/idpbuilder/http-routing.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 content/en/docs/solution/tools/idpbuilder/http-routing.md diff --git a/content/en/docs/solution/tools/idpbuilder/http-routing.md b/content/en/docs/solution/tools/idpbuilder/http-routing.md new file mode 100644 index 0000000..21e709d --- /dev/null +++ b/content/en/docs/solution/tools/idpbuilder/http-routing.md @@ -0,0 +1,57 @@ +--- +title: Http Routing +weight: 100 +--- + +### Routing switch + +The idpbuilder supports creating platforms using either path based or subdomain +based routing: + +```shell +idpbuilder create --log-level debug --package https://github.com/cnoe-io/stacks//ref-implementation +``` + +```shell +idpbuilder create --use-path-routing --log-level debug --package https://github.com/cnoe-io/stacks//ref-implementation +``` + +However, even though argo does report all deployments as green eventually, not +the entire demo is actually functional (verification?). This is due to +hardcoded values that for example point to the path-routed location of gitea to +access git repos. Thus, backstage might not be able to access them. + +Within the demo / ref-implementation, a simple search & replace is suggested to +change urls to fit the given environment. But proper scripting/templating could +take care of that as the hostnames and necessary properties should be +available. This is, however, a tedious and repetitive task one has to keep in +mind throughout the entire system, which might lead to an explosion of config +options in the future. Code that addresses correct routing is located in both +the stack templates and the idpbuilder code. + +### Cluster internal routing + +For the most part, components communicate with either the cluster API using the +default DNS or with each other via http(s) using the public DNS/hostname (+ +path-routing scheme). The latter is necessary due to configs that are visible +and modifiable by users. This includes for example argocd config for components +that has to sync to a gitea git repo. Using the same URL for internal and +external resolution is imperative. + +The idpbuilder achieves transparent internal DNS resolution by overriding the +public DNS name in the cluster's internal DNS server (coreDNS). Subsequently, +within the cluster requests to the public hostnames resolve to the IP of the +internal ingress controller service. Thus, internal and external requests take +a similar path and run through proper routing (rewrites, ssl/tls, etc). + +### Conclusion + +One has to keep in mind that some specific app features might not +work properly or without haxx when using path based routing (e.g. docker +registry in gitea). Futhermore, supporting multiple setup strategies will +become cumbersome as the platforms grows. We should probably only support one +type of setup to keep the system as simple as possible, but allow modification +if necessary. + +DNS solutions like `nip.io` or the already used `localtest.me` mitigate the +need for path based routing From 952d170d8321574222669d9270ff80fa01f9518f Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Fri, 11 Oct 2024 09:34:06 +0000 Subject: [PATCH 09/20] refactor(solution): section 'solution' refactored into a dedicated 'CNOE' subsection --- .../cicd-pipeline/review-stl.md | 11 +++++++++++ .../en/docs/solution/tools/Backstage/_index.md | 14 +++++--------- .../tools/{ => CNOE}/CNOE-competitors/_index.md | 9 +++++---- content/en/docs/solution/tools/CNOE/_index.md | 1 + .../docs/solution/tools/CNOE/idpbuilder/_index.md | 6 ++++++ .../{ => CNOE}/idpbuilder/installation/_index.md | 0 .../idpbuilder/kyverno integration/_index.md | 0 .../idpbuilder/kyverno integration/kyverno.png | Bin .../en/docs/solution/tools/CNOE/verification.md | 1 + .../en/docs/solution/tools/idpbuilder/_index.md | 6 ------ 10 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md rename content/en/docs/solution/tools/{ => CNOE}/CNOE-competitors/_index.md (96%) create mode 100644 content/en/docs/solution/tools/CNOE/idpbuilder/_index.md rename content/en/docs/solution/tools/{ => CNOE}/idpbuilder/installation/_index.md (100%) rename content/en/docs/solution/tools/{ => CNOE}/idpbuilder/kyverno integration/_index.md (100%) rename content/en/docs/solution/tools/{ => CNOE}/idpbuilder/kyverno integration/kyverno.png (100%) delete mode 100644 content/en/docs/solution/tools/idpbuilder/_index.md diff --git a/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md b/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md new file mode 100644 index 0000000..ed5e701 --- /dev/null +++ b/content/en/docs/concepts/4_digital-platforms/platform-components/cicd-pipeline/review-stl.md @@ -0,0 +1,11 @@ + + +# Gitops changes the definition of 'Delivery' or 'Deployment' + +We have Gitops these days .... so there is a desired state of an environment in a repo and a reconciling mechanism done by Gitops to enforce this state on the environemnt. + +There is no continuous whatever step inbetween ... Gitops is just 'overwriting' (to avoid saying 'delivering' or 'deploying') the environment with the new state. + +This means whatever quality ensuring steps have to take part before 'overwriting' have to be defined as state changer in the repos, not in the environments. + +Conclusio: I think we only have three contexts, or let's say we don't have the contect 'continuous delivery' \ No newline at end of file diff --git a/content/en/docs/solution/tools/Backstage/_index.md b/content/en/docs/solution/tools/Backstage/_index.md index df22096..ef168be 100644 --- a/content/en/docs/solution/tools/Backstage/_index.md +++ b/content/en/docs/solution/tools/Backstage/_index.md @@ -1,9 +1,5 @@ -+++ -title = "Backstage" -weight = 2 -[params] - author = 'evgenii.dominov@telekom.de' - date = '2024-09-36' -+++ - -Here you will find information about Backstage, it's plugins and usage tutorials \ No newline at end of file +--- +title: Backstage +weight: 2 +description: Here you will find information about Backstage, it's plugins and usage tutorials +--- diff --git a/content/en/docs/solution/tools/CNOE-competitors/_index.md b/content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md similarity index 96% rename from content/en/docs/solution/tools/CNOE-competitors/_index.md rename to content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md index 2f8772e..22a54ea 100644 --- a/content/en/docs/solution/tools/CNOE-competitors/_index.md +++ b/content/en/docs/solution/tools/CNOE/CNOE-competitors/_index.md @@ -1,7 +1,8 @@ -+++ -title = "Analysis of the CNOE competitors" -weight = 1 -+++ +--- +title: Analysis of CNOE competitors +weight: 1 +description: We compare CNOW - which we see as an orchestrator - with other platform orchestring tools like Kratix and Humanitc +--- ## Kratix diff --git a/content/en/docs/solution/tools/CNOE/_index.md b/content/en/docs/solution/tools/CNOE/_index.md index 0011792..3d41c12 100644 --- a/content/en/docs/solution/tools/CNOE/_index.md +++ b/content/en/docs/solution/tools/CNOE/_index.md @@ -1,3 +1,4 @@ --- title: CNOE +description: CNOE is a platform building orchestrator, which we choosed at least to start in 2024 with to build the EDF --- diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/_index.md b/content/en/docs/solution/tools/CNOE/idpbuilder/_index.md new file mode 100644 index 0000000..72291e2 --- /dev/null +++ b/content/en/docs/solution/tools/CNOE/idpbuilder/_index.md @@ -0,0 +1,6 @@ +--- +title: idpbuilder +weight: 3 +description: Here you will find information about idpbuilder installation and usage +--- + diff --git a/content/en/docs/solution/tools/idpbuilder/installation/_index.md b/content/en/docs/solution/tools/CNOE/idpbuilder/installation/_index.md similarity index 100% rename from content/en/docs/solution/tools/idpbuilder/installation/_index.md rename to content/en/docs/solution/tools/CNOE/idpbuilder/installation/_index.md diff --git a/content/en/docs/solution/tools/idpbuilder/kyverno integration/_index.md b/content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/_index.md similarity index 100% rename from content/en/docs/solution/tools/idpbuilder/kyverno integration/_index.md rename to content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/_index.md diff --git a/content/en/docs/solution/tools/idpbuilder/kyverno integration/kyverno.png b/content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/kyverno.png similarity index 100% rename from content/en/docs/solution/tools/idpbuilder/kyverno integration/kyverno.png rename to content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/kyverno.png diff --git a/content/en/docs/solution/tools/CNOE/verification.md b/content/en/docs/solution/tools/CNOE/verification.md index a39774c..af36de9 100644 --- a/content/en/docs/solution/tools/CNOE/verification.md +++ b/content/en/docs/solution/tools/CNOE/verification.md @@ -1,6 +1,7 @@ --- title: Validation and Verification weigth: 100 +description: How does CNOE ensure equality between actual and desired state --- ## Definition diff --git a/content/en/docs/solution/tools/idpbuilder/_index.md b/content/en/docs/solution/tools/idpbuilder/_index.md deleted file mode 100644 index e302c08..0000000 --- a/content/en/docs/solution/tools/idpbuilder/_index.md +++ /dev/null @@ -1,6 +0,0 @@ -+++ -title = "idpbuilder" -weight = 3 -+++ - -Here you will find information about idpbuilder installation and usage \ No newline at end of file From a5a7c84b6eb0808525dd886e7ec01b0b9457aab4 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Fri, 11 Oct 2024 10:01:40 +0000 Subject: [PATCH 10/20] refactor(tools): kyverno moved to tools --- .../idpbuilder => }/kyverno integration/_index.md | 8 ++++---- .../idpbuilder => }/kyverno integration/kyverno.png | Bin 2 files changed, 4 insertions(+), 4 deletions(-) rename content/en/docs/solution/tools/{CNOE/idpbuilder => }/kyverno integration/_index.md (91%) rename content/en/docs/solution/tools/{CNOE/idpbuilder => }/kyverno integration/kyverno.png (100%) diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/_index.md b/content/en/docs/solution/tools/kyverno integration/_index.md similarity index 91% rename from content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/_index.md rename to content/en/docs/solution/tools/kyverno integration/_index.md index 7dea80a..12ca83e 100644 --- a/content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/_index.md +++ b/content/en/docs/solution/tools/kyverno integration/_index.md @@ -1,7 +1,7 @@ -+++ -title = "Kyverno integration" -weight = 4 -+++ +--- +title: Kyverno +description: Kyverno is a policy engine for Kubernetes designed to enforce, validate, and mutate configurations of Kubernetes resources +--- ## Kyverno Overview diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/kyverno.png b/content/en/docs/solution/tools/kyverno integration/kyverno.png similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/kyverno integration/kyverno.png rename to content/en/docs/solution/tools/kyverno integration/kyverno.png From 340f6400c4f2e3e63243ff24d239739f4d09770a Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Tue, 15 Oct 2024 07:37:04 +0000 Subject: [PATCH 11/20] IPCEICIS-437 add Velero docs --- .../en/docs/project/bootstrapping/_index.md | 7 ++ .../project/bootstrapping/backup/_index.md | 84 +++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 content/en/docs/project/bootstrapping/_index.md create mode 100644 content/en/docs/project/bootstrapping/backup/_index.md diff --git a/content/en/docs/project/bootstrapping/_index.md b/content/en/docs/project/bootstrapping/_index.md new file mode 100644 index 0000000..9e07af4 --- /dev/null +++ b/content/en/docs/project/bootstrapping/_index.md @@ -0,0 +1,7 @@ +--- +title: Bootstrapping Infrastructure +weight: 30 +description: The cluster and the installed applications in the bootstrapping cluster +--- + +In order to be able to do useful work, we do need a number of applications right away. We're deploying these manually so we have the necessary basis for our work. Once the framework has been developed far enough, we will deploy this infrastructure with the framework itself. diff --git a/content/en/docs/project/bootstrapping/backup/_index.md b/content/en/docs/project/bootstrapping/backup/_index.md new file mode 100644 index 0000000..c9dd005 --- /dev/null +++ b/content/en/docs/project/bootstrapping/backup/_index.md @@ -0,0 +1,84 @@ +--- +title: Backup of the Bootstrapping Cluster +weight: 30 +description: Backup and Restore of the Contents of the Bootstrapping Cluster +--- + +## Velero + +We are using [Velero](https://velero.io/) for backup and restore of the deployed applications. + +## Installing Velero Tools + +To manage a Velero install in a cluster, you need to have Velero command line tools installed locally. Please follow the instructions for [Basic Install](https://velero.io/docs/v1.9/basic-install). + +## Setting Up Velero For a Cluster + +Installing and configuring Velero for a cluster can be accomplished with the CLI. + +1. Create a file with the credentials for the S3 compatible bucket that is storing the backups, for example `credentials.ini`. + +```ini +[default] +aws_access_key_id = "Access Key Value" +aws_secret_access_key = "Secret Key Value" +``` + +2. Install Velero in the cluster + +``` +velero install \ + --provider aws \ + --plugins velero/velero-plugin-for-aws:v1.2.1 \ + --bucket osc-backup \ + --secret-file ./credentials.ini \ + --use-volume-snapshots=false \ + --use-node-agent=true \ + --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=https://obs.eu-de.otc.t-systems.com +``` + +3. Delete `credentials.ini`, it is not needed anymore (a secret has been created in the cluster). +4. Create a schedule to back up the relevant resources in the cluster: +``` +velero schedule create devfw-bootstrap --schedule="23 */2 * * *" "--include-namespaces=forgejo" +``` + +## Working with Velero + +You can now use Velero to create backups, restore them, or perform other operations. Please refer to the [Velero Documentation](https://velero.io/docs/main/backup-reference/). + +To list all currently available backups: +``` +velero backup get +``` + +## Setting up a Service Account for Access to the OTC Object Storage Bucket + +We are using the S3-compatible Open Telekom Cloud Object Storage service to make available some storage for the backups. We picked OTC specifically because we're not using it for anything else, so no matter what catastrophy we create in Open Sovereign Cloud, the backups should be safe. + +### Create an Object Storage Service Bucket + +1. Log in to the [OTC Console with the correct tenant](https://auth.otc.t-systems.com/authui/federation/websso?domain_id=81e7dbd7ec9f4b03a58120dfaa61d3db&idp=ADFS_MMS_OTC00000000001000113497&protocol=saml). +1. Navigate to [Object Storage Service](https://console.otc.t-systems.com/obs/?agencyId=WEXsFwkkVdGYULIrZT1icF4nmHY1dgX2®ion=eu-de&locale=en-us#/obs/manager/buckets). +1. Click Create Bucket in the upper right hand corner. Give your bucket a name. No further configuration should be necessary. + +### Create a Service User to Access the Bucket + +1. Log in to the [OTC Console with the correct tenant](https://auth.otc.t-systems.com/authui/federation/websso?domain_id=81e7dbd7ec9f4b03a58120dfaa61d3db&idp=ADFS_MMS_OTC00000000001000113497&protocol=saml). +1. Navigate to [Identity and Access Management](https://console.otc.t-systems.com/iam/?agencyId=WEXsFwkkVdGYULIrZT1icF4nmHY1dgX2®ion=eu-de&locale=en-us#/iam/users). +1. Navigate to User Groups, and click Create User Group in the upper right hand corner. +1. Enter a suitable name ("OSC Cloud Backup") and click OK. +1. In the group list, locate the group just created and click its name. +1. Click Authorize to add the necessary roles. Enter "OBS" in the search box to filter for Object Storage roles. +1. Select "OBS OperateAccess", if there are two roles, select them both. +1. **2024-10-15** Also select the "OBS Administrator" role. It is unclear why the "OBS OperateAccess" role is not sufficient, but without the admin role, the service user will not have write access to the bucket. +1. Click Next to save the roles, then click OK to confirm, then click Finish. +1. Navigate to Users, and click Create User in the upper right hand corner. +1. Give the user a sensible name ("ipcei-cis-devfw-osc-backups"). +1. Disable Management console access +1. Enable Access key, disable Password, disable Login protection. +1. Click Next +1. Pick the group created earlier. +1. Download the access key when prompted. + +The access key is a CSV file with the Access Key and the Secret Key listed in the second line. From ffbba0ae95e076c26e2f0db2882092b4e7cc8189 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Tue, 15 Oct 2024 10:13:45 +0000 Subject: [PATCH 12/20] chore() --- otc.conf | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 otc.conf diff --git a/otc.conf b/otc.conf deleted file mode 100644 index d44f520..0000000 --- a/otc.conf +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lSQU5NM3Z0ZlRKWmdZVWdkZG14NC9SbjB3RFFZSktvWklodmNOQVFFTEJRQXcKRFRFTE1Ba0dBMVVFQXhNQ1kyRXdIaGNOTWpRd09UQXlNVFEwT1RNd1doY05NelF3T1RBeU1UUTBPVE13V2pBTgpNUXN3Q1FZRFZRUURFd0pqWVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTWJUCjhJb0xxRGNmdmRhTUNicExDbEZEd09rMDVQQUhsdXBmbkF5bmd3OStrWmZBY21GNUd1WS95TlJtQWUxbGY2RlAKc3pWRUNRZXVFa1gyS1lRekxvclJMOE53VmM5RDBNWkRJMmRHMEdVUjZueU5RZHZaTkFLUWtwM3luT2VqbEdvYwp2SWVCREVKejJnNzErWTZoOGtwWUh0NEx1clIwZStvVEwySXhBYStIdjh6SmJCa2pPQ1lCZExRYWVGNjduSE15CitDTUV2emRRSlBCSXlqb2RtREFKTWVDWm9ac3g0YUE5T2hXL3dwczdKTzRnQ1NuUGVkMjN4blVTeWd4QnNBWVcKMWJDZEhONzlscWZxaFV6K21Wb3hrRXZkemt6S0ErWUdSZ3FSY0ZCRE9pR1dOVzREV0t5Y2hsYTBoektPZ3dFZwpvK21WaXBtV1RCbjY4REJJVWdjQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0dtTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZGYVR6VEUwNTNNSy9tN0JyY3hXMDVOYXkxN0VNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFBZGtMWVpLNWZnRFNYb2xGNTNwTldYNWlxMlJDMXVaTlhOb3ArZ0drSjkzTW5tNFM5bQpZWXNiMks2ZDNUM0JkdmNHOWQ0VUhGTzMvdU9kaTkrc3AxY2h1U25hNis4V1hrZkZBY0c2anJubXVVTDNzOWUyCmFrRGhoWHdubnlSQmF2N0FVdGlQeWxTVVllbmZsZDd2dC91MmRQeDRYT2QrMmcwV3ZpdHpZWUdKenY2K1FiQ1UKS1pwVENmUkhPejFCQ2JnVDBoSU5BZjhMcFNoL3pzd1lrZjM5MHV1Z0tzVkZPVVJBNmc4dU5rSEoyUzRlUEloVApib3Zzb0swYTR6WDRZUWhrREpUYTF6MVBFUzJXWW1VYU5uZWlaTTVyTWw2TEppcWFBZ01mbUg2WTI1UnJobldlCkpTS1dlNmNxajdYUDhZemxMcVBEMUpNamh5QkVHbGpFT25hSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - server: https://api.edf-bootstrap.cx.fg1.ffm.osc.live - name: shoot-fs1-0-edf-bootstrap-oidc -contexts: -- context: - cluster: shoot-fs1-0-edf-bootstrap-oidc - user: shoot-fs1-0-edf-bootstrap-oidc - name: shoot-fs1-0-edf-bootstrap-oidc -current-context: shoot-fs1-0-edf-bootstrap-oidc -kind: Config -preferences: {} -users: -- name: shoot-fs1-0-edf-bootstrap-oidc - user: - exec: - apiVersion: client.authentication.k8s.io/v1beta1 - args: - - oidc-login - - get-token - - --oidc-issuer-url=https://auth.apps.fs1-0.ffm.osc.live/dex - - --oidc-client-id=oidc-user - - --oidc-client-secret=8GmH7HL4mu4iwWptpV0418iMooaz4k4F - - --oidc-extra-scope=openid - - --oidc-extra-scope=profile - - --oidc-extra-scope=email - - --oidc-extra-scope=groups - - --oidc-extra-scope=audience:server:client_id:kubernetes - - --certificate-authority-data=LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUY2ekNDQk5PZ0F3SUJBZ0lRSVFPK0xDcWpDbHRiSHc0YVJGWWptakFOQmdrcWhraUc5dzBCQVFzRkFEQ0IKZ2pFTE1Ba0dBMVVFQmhNQ1JFVXhLekFwQmdOVkJBb01JbFF0VTNsemRHVnRjeUJGYm5SbGNuQnlhWE5sSUZObApjblpwWTJWeklFZHRZa2d4SHpBZEJnTlZCQXNNRmxRdFUzbHpkR1Z0Y3lCVWNuVnpkQ0JEWlc1MFpYSXhKVEFqCkJnTlZCQU1NSEZRdFZHVnNaVk5sWXlCSGJHOWlZV3hTYjI5MElFTnNZWE56SURJd0hoY05Nakl3TWpJeU1UQXcKT1RBMldoY05Nekl3TWpJeU1qTTFPVFU1V2pCZU1Rc3dDUVlEVlFRR0V3SkVSVEVuTUNVR0ExVUVDZ3dlUkdWMQpkSE5qYUdVZ1ZHVnNaV3R2YlNCVFpXTjFjbWwwZVNCSGJXSklNU1l3SkFZRFZRUUREQjFVWld4bGEyOXRJRk5sClkzVnlhWFI1SUVSV0lGSlRRU0JEUVNBeU1qQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0MKZ2dJQkFLWWhCY0psRUVSUldRanNSVTIzcWJJVjE5aUxOdUE2UTNQMnd2YzYrdVo0ZkNwajhyWklFdlNwZUMxUwp5YnZnU216UnZ0c3VUL2hBNG1Ib0FJaFdpalJHVHNodGljY0dhWHFGUSt6SFFwb1FHY2tOOGhRUjUwMWVIVldyCnR6YmYxZFp4UmtoUzgrYVNtUWtLa1Y2ZlpDRzRvVXVmOTVOcnRQUmVNc3RrMGVIRk5KRU1HOTRoSFVZczFwemcKb043MnhtZ2JRYTBiZkJoMy9nWUZxbHdLOWxHam16MGhndzNRRGxucnB4T3E0RUdhc09walVtSGs4ZVJCQlhkMwpCUWM3TTQrWVZDd0VoYUdRMTV4aDR5M3NRNXM0ejFBY1AxOHJueWNmdnpZamRtdzBDSXNCQ3NPbC9sai9Fb2ZXCk1zK2h3Z002cGRPZGJReWsxd1JnS3JSaUkvcDMzM1QrY3oyR1BYRWlTTHhFUUN5THE3N2Y1WTZZMkFlRnpaSTIKV0tqSnJwbTlGTzNCYytUZ29vbURWM2hOeUdoU3FyRFdvcEpyUTl0RUI1UzZKcU1OcDlyeEFBRnVYMFkwQ2pndQo1SmhENENwNmp0dTBvdU5Kd1ZidE1rWlBwVmNwSHRhc1JJdGl1ZDNva2VtTWlqRTJSbEdtM3lGbGFUK3BEQmZvCnZ3T1NNMElqY0U0eDdvUnBWRXJuSG1FYThpN3hqWk1PMjhOUkNUWndZWkdHNE1LV2luL3NkR2ovSmJzcGJSNVoKelBMZlpkOGZkUGZBZ2RZQUllUHkwOWVyTkdWUWpYQnhLenNCOWlUMGxobEE3ZUFlU256azEyc2pac0I2RG0yRQoxWDJPMmlUSXZCKzhmQlUvN21oYnYzaWFVTjdxUG1rT2NacERkNUVmTXNVSjByQkZBZ01CQUFHamdnRitNSUlCCmVqQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0hRWURWUjBPQkJZRUZQRTlPcVpjZHYyK25LZ05EU2x6RWRFYmRXY0gKTUI4R0ExVWRJd1FZTUJhQUZMOVpJRFlBZWFDZ0ltdU0xZkpoMHJnc3k0SktNQklHQTFVZEV3RUIvd1FJTUFZQgpBZjhDQVFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3SUdDQ3NHQVFVRkJ3TUJNRkFHQTFVZEh3UkpNRWN3ClJhQkRvRUdHUDJoMGRIQTZMeTluY21Oc01pNWpjbXd1ZEdWc1pYTmxZeTVrWlM5eWJDOVVMVlJsYkdWVFpXTmYKUjJ4dlltRnNVbTl2ZEY5RGJHRnpjMTh5TG1OeWJEQ0JqUVlJS3dZQkJRVUhBUUVFZ1lBd2ZqQXVCZ2dyQmdFRgpCUWN3QVlZaWFIUjBjRG92TDJkeVkyd3lMbTlqYzNBdWRHVnNaWE5sWXk1a1pTOXZZM053Y2pCTUJnZ3JCZ0VGCkJRY3dBb1pBYUhSMGNEb3ZMMmR5WTJ3eUxtTnlkQzUwWld4bGMyVmpMbVJsTDJOeWRDOVVMVlJsYkdWVFpXTmYKUjJ4dlltRnNVbTl2ZEY5RGJHRnpjMTh5TG1OeWREQVRCZ05WSFNBRUREQUtNQWdHQm1lQkRBRUNBVEFOQmdrcQpoa2lHOXcwQkFRc0ZBQU9DQVFFQWc3U1piL0t3aVJkcWFrc2hkZmFBckpkdWxqUTBiUVRoZGtaS0lpUVNBdUtWCkd2UUcxRU5BL3NPRkpzYXlnNVBicVN6cDM0eEVjMk9KY1B4NEU0YU9FRFF5dmtDOFRxWnlKeDFROU9rQ1R5aDkKSDFlVWRSaWozMWJFWVIxd2JyTXJBR0FGdmR2VUkzc25xZnpFNzJkK05aSVJSN0ZUK2tvdVgzdksyYjNCdFFLdgprT3ZaWFlzOUZSYU5rZ05KT204dGNzbFVsYTkzMkpjcTM4OXN4cXorKzlRYjZUNlpWeGxDVXZWUFFoRW1aemhoCllCMTZYUldvVFFHZ0pLMXlPV25IRk01c2Q3ZFJUclkvd1VVTXZ5bWNzelZYUWd5Y2lTVzhJTDZCZXNCdXdFNlcKY3Z4bVV1eFNqZ2krM21zR3dmWmJPaitmcnVkUTY0QksrL2ErdnpZWEJnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRHd6Q0NBcXVnQXdJQkFnSUJBVEFOQmdrcWhraUc5dzBCQVFzRkFEQ0JnakVMTUFrR0ExVUVCaE1DUkVVeApLekFwQmdOVkJBb01JbFF0VTNsemRHVnRjeUJGYm5SbGNuQnlhWE5sSUZObGNuWnBZMlZ6SUVkdFlrZ3hIekFkCkJnTlZCQXNNRmxRdFUzbHpkR1Z0Y3lCVWNuVnpkQ0JEWlc1MFpYSXhKVEFqQmdOVkJBTU1IRlF0VkdWc1pWTmwKWXlCSGJHOWlZV3hTYjI5MElFTnNZWE56SURJd0hoY05NRGd4TURBeE1UQTBNREUwV2hjTk16TXhNREF4TWpNMQpPVFU1V2pDQmdqRUxNQWtHQTFVRUJoTUNSRVV4S3pBcEJnTlZCQW9NSWxRdFUzbHpkR1Z0Y3lCRmJuUmxjbkJ5CmFYTmxJRk5sY25acFkyVnpJRWR0WWtneEh6QWRCZ05WQkFzTUZsUXRVM2x6ZEdWdGN5QlVjblZ6ZENCRFpXNTAKWlhJeEpUQWpCZ05WQkFNTUhGUXRWR1ZzWlZObFl5QkhiRzlpWVd4U2IyOTBJRU5zWVhOeklESXdnZ0VpTUEwRwpDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3FYOW9iWCtoemtlWGFYUFNpNWtmbDgyaFZZQVVkCkFxU3ptMW56SG9xdk5LMzhEY0xaU0JudWFZL0pJUHdocWdjWjdiQmNyR1hIWCswQ2ZIdDhMUnZXdXJtQXdoaUMKRm9UNlpyQUl4bFFqZ2VUTnVVay85azl1TjBnb09BL0Z2dWRvY1AwNWwwM1N4NWlSVUtyRVJMTWpmVGxINlZKaQoxaEtUWHJjeGxrSUYrM2FuSHFQMXd2enBlc1ZzcVhGUDZzdDR2R0N2eDk3MDJjdStmak9sYnBTRDhEVDZJYXZxCmpuS2dQNlRlTUZ2dmhrMXFsVnREUktnUUZSemxBVmZGbVBIbUJpaVJxaURGdDFNbVVVT3lDeEdWV09IQUQzYloKd0kxOGdmTnljSjV2L2hxTzJWODF4ckp2Tkh5K1NFL2lXam5YMkoxNG5wK0dQZ05lR1l0RW90WEhBZ01CQUFHagpRakJBTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RGdZRFZSMFBBUUgvQkFRREFnRUdNQjBHQTFVZERnUVdCQlMvCldTQTJBSG1nb0NKcmpOWHlZZEs0TE11Q1NqQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFNUU9pWVFzZmRPaHkKTnNadCtVMmUraUtvNFlGV3o4MjduK3Fya1JrNHI2cDhGVTN6dHFPTnBmU085a1NwcCtnaGxhMCtBR0lXaVBBQwp1dnhoSStZem16QjZhelppZTYwRUk0UllaZUxiSzRybkpWTTNZbE5mdk5vQllpbWlwaWR4NWpvaWZzRnZIWlZ3CklFb0hOTi9xL3hXQTViclhldGhiZFh3RmVpbEhma0NvTVJOM3pVQTd0RkZIZWk0UjQwY1IzcDFtMEl2VlZHYjYKZzFYcWZNSXBpUnZwYjdQTzRnV0V5UzgrZUlWaWJzbGZ3WGhqZEZqQVNCZ01tVG5ycE13YXRYbGFqUldjMkJRTgo5bm9IVjhjaWd3VXRQSnNsSmowWXM2bERmTWpJcTJTUERxTy9uQnVkTU52YTBCa3Vxanp4K3pPQWR1VE5yUmxQCkJTZU9FNkZ1d2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - command: kubectl - env: null - provideClusterInfo: false - From 08847aac0a17b0ac94f9ac56bcdd96607663a76a Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 17 Oct 2024 07:36:08 +0000 Subject: [PATCH 13/20] fix() --- content/en/blog/_index.md | 1 + content/en/docs/concepts/_index.md | 2 +- content/en/docs/project/plan-in-2024/_index.md | 2 +- content/en/docs/solution/_index.md | 4 +--- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/content/en/blog/_index.md b/content/en/blog/_index.md index 573f01f..cc548da 100644 --- a/content/en/blog/_index.md +++ b/content/en/blog/_index.md @@ -1,5 +1,6 @@ --- title: Blog menu: {main: {weight: 30}} +description: Blog section, in Work (should be more automated content) --- diff --git a/content/en/docs/concepts/_index.md b/content/en/docs/concepts/_index.md index 87766df..9d830d0 100644 --- a/content/en/docs/concepts/_index.md +++ b/content/en/docs/concepts/_index.md @@ -1,7 +1,7 @@ --- title: Concepts weight: 1 -description: The underlying platforming concepts of the Edge Developer Framework (EDF) solution, the problem domain +description: The underlying platforming concepts of the Edge Developer Framework (EDF) solution, i.e. the problem domain --- diff --git a/content/en/docs/project/plan-in-2024/_index.md b/content/en/docs/project/plan-in-2024/_index.md index 56ff916..42c9e7f 100644 --- a/content/en/docs/project/plan-in-2024/_index.md +++ b/content/en/docs/project/plan-in-2024/_index.md @@ -28,7 +28,7 @@ https://confluence.telekom-mms.com/display/IPCEICIS/Architecture ## Dimensionierung Cloud fĂĽr initiales DevFramework -### 28.08.24, Stefan Betkle, Florian FĂĽrstenberg, Stephan Lo +### 28.08.24, Stefan Bethke, Florian FĂĽrstenberg, Stephan Lo 1) zuerst viele DevFrameworkPlatformEngineers arbeiten lokal, mit zentralem Deployment nach OTC in **einen/max zwei** Control-Cluster 2) wir gehen anfangs von ca. 5 clustern aus diff --git a/content/en/docs/solution/_index.md b/content/en/docs/solution/_index.md index 4538533..aaac88e 100644 --- a/content/en/docs/solution/_index.md +++ b/content/en/docs/solution/_index.md @@ -1,8 +1,6 @@ --- title: Solution weight: 2 -description: The underlying platforming concepts of the EDF solution, the solution domain +description: "The implemented platforming solutions of EDF, i.e. the solution domain. The documentation of all project output: Design, Building blocks, results, show cases, artifacts and so on" --- -All output the project created: Design, Building blocks, results, show cases, artifacts - From dfc89f226340404b959894c7b34078e56d4022c9 Mon Sep 17 00:00:00 2001 From: "Stefan.Heller" Date: Mon, 21 Oct 2024 07:21:21 +0000 Subject: [PATCH 14/20] README.md aktualisiert fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7e55b7a..9f3bbed 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ To get a locally running documentation editing and presentation environment, fol 5. start the `devcontainer` (in VSC it's `F1 + Reopen in Devcontainer`) 6. when the container is up & running just open your browser with `http://localhost:1313/` -If you want to run the devcontainer without VS Code, you can use npn to run it inside a docker container: +If you want to run the devcontainer without VS Code, you can use npm to run it inside a docker container: 1. install Node.js (>= Version 14), npm and the docker engine 2. install the devcontainer cli: `npm install -g @devcontainers/cli` From faae6cb62a9a8efdc811397214e4f31a96566cd4 Mon Sep 17 00:00:00 2001 From: Patrick Sy Date: Fri, 18 Oct 2024 14:45:42 +0200 Subject: [PATCH 15/20] docs(routing): more general information on http-routing --- .../idpbuilder/hostname-routing-proxy.png | Bin 0 -> 48979 bytes .../CNOE/idpbuilder/hostname-routing.png | Bin 0 -> 39300 bytes .../tools/CNOE/idpbuilder/http-routing.md | 121 ++++++++++++++++++ .../tools/CNOE/idpbuilder/path-routing.png | Bin 0 -> 53070 bytes 4 files changed, 121 insertions(+) create mode 100644 content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing-proxy.png create mode 100644 content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing.png create mode 100644 content/en/docs/solution/tools/CNOE/idpbuilder/path-routing.png diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing-proxy.png b/content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing-proxy.png new file mode 100644 index 0000000000000000000000000000000000000000..d100481555886a5e4dc3f0a759ea7701cccffd0e GIT binary patch literal 48979 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 literal 0 HcmV?d00001 diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing.png b/content/en/docs/solution/tools/CNOE/idpbuilder/hostname-routing.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b9742d73f01800a757fdd6db8e8c9619660dd7 GIT binary patch literal 39300 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%0DP99BB8<~dmZ60cu`(Fk1~#5`Unt+OqJSG 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

WVY{<_AMKdfS*_6Yz+K3 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 z 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 ZuZt10`QPII`Ahv{Yvpk8frU@p{{kQ9dh7rI literal 0 HcmV?d00001 diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/http-routing.md b/content/en/docs/solution/tools/CNOE/idpbuilder/http-routing.md index 21e709d..f2da697 100644 --- a/content/en/docs/solution/tools/CNOE/idpbuilder/http-routing.md +++ b/content/en/docs/solution/tools/CNOE/idpbuilder/http-routing.md @@ -55,3 +55,124 @@ if necessary. DNS solutions like `nip.io` or the already used `localtest.me` mitigate the need for path based routing + +## Excerpt + +HTTP is a cornerstone of the internet due to its high flexibility. Starting +from HTTP/1.1 each request in the protocol contains among others a path and a +`Host`name in its header. While an HTTP request is sent to a single IP address +/ server, these two pieces of data allow (distributed) systems to handle +requests in various ways. + +```shell +$ curl -v http://google.com/something > /dev/null + +* Connected to google.com (2a00:1450:4001:82f::200e) port 80 +* using HTTP/1.x +> GET /something HTTP/1.1 +> Host: google.com +> User-Agent: curl/8.10.1 +> Accept: */* +... +``` + +### Path-Routing + +Imagine requesting `http://myhost.foo/some/file.html`, in a simple setup, the +web server `myhost.foo` resolves to would serve static files from some +directory, `//some/file.html`. + +In more complex systems, one might have multiple services that fulfill various +roles, for example a service that generates HTML sites of articles from a CMS +and a service that can convert images into various formats. Using path-routing +both services are available on the same host from a user's POV. + +An article served from `http://myhost.foo/articles/news1.html` would be +generated from the article service and points to an image +`http://myhost.foo/images/pic.jpg` which in turn is generated by the image +converter service. When a user sends an HTTP request to `myhost.foo`, they hit +a reverse proxy which forwards the request based on the requested path to some +other system, waits for a response, and subsequently returns that response to +the user. + +![Path-Routing Example](../path-routing.png) + +Such a setup hides the complexity from the user and allows the creation of +large distributed, scalable systems acting as a unified entity from the +outside. Since everything is served on the same host, the browser is inclined +to trust all downstream services. This allows for easier 'communication' +between services through the browser. For example, cookies could be valid for +the entire host and thus authentication data could be forwarded to requested +downstream services without the user having to explicitly re-authenticate. + +Furthermore, services 'know' their user-facing location by knowing their path +and the paths to other services as paths are usually set as a convention and / +or hard-coded. In practice, this makes configuration of the entire system +somewhat easier, especially if you have various environments for testing, +development, and production. The hostname of the system does not matter as one +can use hostname-relative URLs, e.g. `/some/service`. + +Load balancing is also easily achievable by multiplying the number of service +instances. Most reverse proxy systems are able to apply various load balancing +strategies to forward traffic to downstream systems. + +Problems might arise if downstream systems are not built with path-routing in +mind. Some systems require to be served from the root of a domain, see for +example the container registry spec. + + +### Hostname-Routing + +Each downstream service in a distributed system is served from a different +host, typically a subdomain, e.g. `serviceA.myhost.foo` and +`serviceB.myhost.foo`. This gives services full control over their respective +host, and even allows them to do path-routing within each system. Moreover, +hostname-routing allows the entire system to create more flexible and powerful +routing schemes in terms of scalability. Intra-system communication becomes +somewhat harder as the browser treats each subdomain as a separate host, +shielding cookies for example form one another. + +Each host that serves some services requires a DNS entry that has to be +published to the clients (from some DNS server). Depending on the environment +this can become quite tedious as DNS resolution on the internet and intranets +might have to deviate. This applies to intra-cluster communication as well, as +seen with the idpbuilder's platform. In this case, external DNS resolution has +to be replicated within the cluster to be able to use the same URLs to address +for example gitea. + +The following example depicts DNS-only routing. By defining separate DNS +entries for each service / subdomain requests are resolved to the respective +servers. In theory, no additional infrastructure is necessary to route user +traffic to each service. However, as services are completely separated other +infrastructure like authentication possibly has to be duplicated. + +![DNS-only routing](../hostname-routing.png) + +When using hostname based routing, one does not have to set different IPs for +each hostname. Instead, having multiple DNS entries pointing to the same set of +IPs allows re-using existing infrastructure. As shown below, a reverse proxy is +able to forward requests to downstream services based on the `Host` request +parameter. This way specific hostname can be forwarded to a defined service. + +![Hostname Proxy](../hostname-routing-proxy.png) + +At the same time, one could imagine a multi-tenant system that differentiates +customer systems by name, e.g. `tenant-1.cool.system` and +`tenant-2.cool.system`. Configured as a wildcard-sytle domain, `*.cool.system` +could point to a reverse proxy that forwards requests to a tenants instance of +a system, allowing re-use of central infrastructure while still hosting +separate systems per tenant. + + +The implicit dependency on DNS resolution generally makes this kind of routing +more complex and error-prone as changes to DNS server entries are not always +possible or modifiable by everyone. Also, local changes to your `/etc/hosts` +file are a constant pain and should be seen as a dirty hack. As mentioned +above, dynamic DNS solutions like `nip.io` are often helpful in this case. + +### Conclusion + +Path and hostname based routing are the two most common methods of HTTP traffic +routing. They can be used separately but more often they are used in +conjunction. Due to HTTP's versatility other forms of HTTP routing, for example +based on the `Content-Type` Header are also very common. diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/path-routing.png b/content/en/docs/solution/tools/CNOE/idpbuilder/path-routing.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5a5763fd9959c759e7bbcb1f754ed46a91b233 GIT binary patch literal 53070 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 literal 0 HcmV?d00001 From c3d3fbc08d5bba7887999590755ab5cc4e84b77f Mon Sep 17 00:00:00 2001 From: Patrick Sy Date: Thu, 24 Oct 2024 14:43:44 +0200 Subject: [PATCH 16/20] feat(cnoe-argocd): Overview of argocd and general description of its role in CNOE Refs: #IPCEICIS-465 --- .../docs/solution/tools/CNOE/argocd/_index.md | 141 ++++++++++++++++++ .../CNOE/argocd/argocd-core-components.webp | Bin 0 -> 88414 bytes .../CNOE/argocd/argocd_architecture.webp | Bin 0 -> 77314 bytes 3 files changed, 141 insertions(+) create mode 100644 content/en/docs/solution/tools/CNOE/argocd/_index.md create mode 100644 content/en/docs/solution/tools/CNOE/argocd/argocd-core-components.webp create mode 100644 content/en/docs/solution/tools/CNOE/argocd/argocd_architecture.webp diff --git a/content/en/docs/solution/tools/CNOE/argocd/_index.md b/content/en/docs/solution/tools/CNOE/argocd/_index.md new file mode 100644 index 0000000..6c0da5a --- /dev/null +++ b/content/en/docs/solution/tools/CNOE/argocd/_index.md @@ -0,0 +1,141 @@ +--- +title: ArgoCD +weight: 30 +description: A description of ArgoCD and its role in CNOE +--- + +## What is ArgoCD? + +ArgoCD is a Continuous Delivery tool for kubernetes based on GitOps principles. + +> ELI5: ArgoCD is an application running in kubernetes which monitors Git +> repositories containing some sort of kubernetes manifests and automatically +> deploys them to some configured kubernetes clusters. + +From ArgoCD's perspective, applications are defined as custom resource +definitions within the kubernetes clusters that ArgoCD monitors. Such a +definition describes a source git repository that contains kubernetes +manifests, in the form of a helm chart, kustomize, jsonnet definitions or plain +yaml files, as well as a target kubernetes cluster and namespace the manifests +should be applied to. Thus, ArgoCD is capable of deploying applications to +various (remote) clusters and namespaces. + +ArgoCD monitors both the source and the destination. It applies changes from +the git repository that acts as the source of truth for the destination as soon +as they occur, i.e. if a change was pushed to the git repository, the change is +applied to the kubernetes destination by ArgoCD. Subsequently, it checks +whether the desired state was established. For example, it verifies that all +resources were created, enough replicas started, and that all pods are in the +`running` state and healthy. + +## Architecture + +### Core Components + +An ArgoCD deployment mainly consists of 3 main components: + +#### Application Controller + +The application controller is a kubernetes operator that synchronizes the live +state within a kubernetes cluster with the desired state derived from the git +sources. It monitors the live state, can detect derivations, and perform +corrective actions. Additionally, it can execute hooks on life cycle stages +such as pre- and post-sync. + +#### Repository Server + +The repository server interacts with git repositories and caches their state, +to reduce the amount of polling necessary. Furthermore, it is responsible for +generating the kubernetes manifests from the resources within the git +repositories, i.e. executing helm or jsonnet templates. + +#### API Server + +The API Server is a REST/gRPC Service that allows the Web UI and CLI, as well +as other API clients, to interact with the system. It also acts as the callback +for webhooks particularly from Git repository platforms such as GitHub or +Gitlab to reduce repository polling. + +### Others + +The system primarily stores its configuration as kubernetes resources. Thus, +other external storage is not vital. + +Redis +: A Redis store is optional but recommended to be used as a cache to reduce +load on ArgoCD components and connected systems, e.g. git repositories. + +ApplicationSetController +: The ApplicationSet Controller is similar to the Application Controller a +kubernetes operator that can deploy applications based on parameterized +application templates. This allows the deployment of different versions of an +application into various environments from a single template. + +### Overview + +![Conceptual Architecture](./argocd_architecture.webp) + +![Core components](./argocd-core-components.webp) + +## Role in CNOE + +ArgoCD is one of the core components besides gitea/forgejo that is being +bootstrapped by the idpbuilder. Future project creation, e.g. through +backstage, relies on the availability of ArgoCD. + +After the initial bootstrapping phase, effectively all components in the stack +that are deployed in kubernetes are managed by ArgoCD. This includes the +bootstrapped components of gitea and ArgoCD which are onboarded afterward. +Thus, the idpbuilder is only necessary in the bootstrapping phase of the +platform and the technical coordination of all components shifts to ArgoCD +eventually. + +In general, the creation of new projects and applications should take place in +backstop. It is a catalog of software components and best practices that allows +developers to grasp and to manage their software portfolio. Underneath, +however, the deployment of applications and platform components is managed by +ArgoCD. Among others, backstage creates Application CRDs to instruct ArgoCD to +manage deployments and subsequently report on their current state. + +## Glossary + +_Initially shamelessly copied from [the docs](https://argo-cd.readthedocs.io/en/stable/core_concepts/)_ + +Application +: A group of Kubernetes resources as defined by a manifest. This is a Custom Resource Definition (CRD). + +ApplicationSet +: A CRD that is a template that can create multiple parameterized Applications. + +Application source type +: Which Tool is used to build the application. + +Configuration management tool +: See Tool. + +Configuration management plugin +: A custom tool. + +Health +: The health of the application, is it running correctly? Can it serve requests? + +Live state +: The live state of that application. What pods etc are deployed. + +Refresh +: Compare the latest code in Git with the live state. Figure out what is different. + +Sync +: The process of making an application move to its target state. E.g. by applying changes to a Kubernetes cluster. + +Sync status +: Whether or not the live state matches the target state. Is the deployed application the same as Git says it should be? + +Sync operation status +: Whether or not a sync succeeded. + +Target state +: The desired state of an application, as represented by files in a Git repository. + +Tool +: A tool to create manifests from a directory of files. E.g. Kustomize. See Application Source Type. diff --git a/content/en/docs/solution/tools/CNOE/argocd/argocd-core-components.webp b/content/en/docs/solution/tools/CNOE/argocd/argocd-core-components.webp new file mode 100644 index 0000000000000000000000000000000000000000..6140f5183d89bf01ae4b0121a9162c49846c41b6 GIT binary patch literal 88414 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%0DK$2CKn{3ZAjApn%l=ZTgE)X`=5)G%@ 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 $d7zSVlk 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 UP`oCCM=~5yGI%`0|KI;QC|pJU`~Uy| literal 0 HcmV?d00001 From cd03301ee8bd35eaa26df7a166c42a60e2743f26 Mon Sep 17 00:00:00 2001 From: evdo Date: Tue, 29 Oct 2024 08:01:53 +0100 Subject: [PATCH 17/20] Added articles about backstage templates included into idpbuilder ref-implementation --- .../docs/concepts/5_platforms/CNOE/_index.md | 2 +- .../6_cnoe-showtime/_index.md | 2 +- .../included-backstage-templates/_index.md | 5 +++++ .../basic-argo-workflow/_index.md | 19 +++++++++++++++++++ .../basic-kubernetes-deployment/_idex.md | 19 +++++++++++++++++++ 5 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/_index.md create mode 100644 content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-argo-workflow/_index.md create mode 100644 content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-kubernetes-deployment/_idex.md diff --git a/content/en/docs/concepts/5_platforms/CNOE/_index.md b/content/en/docs/concepts/5_platforms/CNOE/_index.md index 903f56f..dac0b04 100644 --- a/content/en/docs/concepts/5_platforms/CNOE/_index.md +++ b/content/en/docs/concepts/5_platforms/CNOE/_index.md @@ -116,7 +116,7 @@ NAMESPACE NAME SYNC STATUS HEALTH STATUS argocd argo-workflows Synced Healthy argocd argocd Synced Healthy argocd backstage Synced Healthy -argocd backstage-templates Synced Healthy +argocd included-backstage-templates Synced Healthy argocd coredns Synced Healthy argocd external-secrets Synced Healthy argocd gitea Synced Healthy diff --git a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md b/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md index 28357df..ab7be8e 100644 --- a/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md +++ b/content/en/docs/project/conceptual-onboarding/6_cnoe-showtime/_index.md @@ -389,7 +389,7 @@ NAMESPACE NAME SYNC STATUS HEALTH STATUS argocd argo-workflows Synced Healthy argocd argocd Synced Healthy argocd backstage Synced Healthy -argocd backstage-templates Synced Healthy +argocd included-backstage-templates Synced Healthy argocd external-secrets Synced Healthy argocd gitea Synced Healthy argocd keycloak Synced Healthy diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/_index.md b/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/_index.md new file mode 100644 index 0000000..8cc2ff2 --- /dev/null +++ b/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/_index.md @@ -0,0 +1,5 @@ +--- +title: Included Backstage Templates +weight: 2 +description: Here you will find information about backstage templates that are included into idpbuilder's ref-implementation +--- \ No newline at end of file diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-argo-workflow/_index.md b/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-argo-workflow/_index.md new file mode 100644 index 0000000..068c65e --- /dev/null +++ b/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-argo-workflow/_index.md @@ -0,0 +1,19 @@ ++++ +title = "Template for basic Argo Workflow" +weight = 4 ++++ + +# Backstage Template for Basic Argo Workflow with Spark Job + +This Backstage template YAML automates the creation of an Argo Workflow for Kubernetes that includes a basic Spark job, providing a convenient way to configure and deploy workflows involving data processing or machine learning jobs. Users can define key parameters, such as the application name and the path to the main Spark application file. The template creates necessary Kubernetes resources, publishes the application code to a Gitea Git repository, registers the application in the Backstage catalog, and deploys it via ArgoCD for easy CI/CD management. + +## Use Case + +This template is designed for teams that need a streamlined approach to deploy and manage data processing or machine learning jobs using Spark within an Argo Workflow environment. It simplifies the deployment process and integrates the application with a CI/CD pipeline. The template performs the following: + +- **Workflow and Spark Job Setup**: Defines a basic Argo Workflow and configures a Spark job using the provided application file path, ideal for data processing tasks. +- **Repository Setup**: Publishes the workflow configuration to a Gitea repository, enabling version control and easy updates to the job configuration. +- **ArgoCD Integration**: Creates an ArgoCD application to manage the Spark job deployment, ensuring continuous delivery and synchronization with Kubernetes. +- **Backstage Registration**: Registers the application in Backstage, making it easily discoverable and manageable through the Backstage catalog. + +This template boosts productivity by automating steps required for setting up Argo Workflows and Spark jobs, integrating version control, and enabling centralized management and visibility, making it ideal for projects requiring efficient deployment and scalable data processing solutions. diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-kubernetes-deployment/_idex.md b/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-kubernetes-deployment/_idex.md new file mode 100644 index 0000000..98acba3 --- /dev/null +++ b/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-kubernetes-deployment/_idex.md @@ -0,0 +1,19 @@ ++++ +title = "Template for basic kubernetes deployment" +weight = 4 ++++ + +# Backstage Template for Kubernetes Deployment + +This Backstage template YAML automates the creation of a basic Kubernetes Deployment, aimed at simplifying the deployment and management of applications in Kubernetes for the user. The template allows users to define essential parameters, such as the application’s name, and then creates and configures the Kubernetes resources, publishes the application code to a Gitea Git repository, and registers the application in the Backstage catalog for tracking and management. + +## Use Case + +The template is designed for teams needing a streamlined approach to deploy applications in Kubernetes while automatically configuring their CI/CD pipelines. It performs the following: + +- **Deployment Creation**: A Kubernetes Deployment YAML is generated based on the provided application name, specifying a basic setup with an Nginx container. +- **Repository Setup**: Publishes the deployment code in a Gitea repository, allowing for version control and future updates. +- **ArgoCD Integration**: Automatically creates an ArgoCD application for the deployment, facilitating continuous delivery and synchronization with Kubernetes. +- **Backstage Registration**: Registers the application in Backstage to make it discoverable and manageable via the Backstage catalog. + +This template enhances productivity by automating several steps required for deployment, version control, and registration, making it ideal for projects where fast, consistent deployment and centralized management are required. From a845e0fcdebb172903d4fdaf23cce231bc7e0beb Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Tue, 5 Nov 2024 09:38:29 +0100 Subject: [PATCH 18/20] chore(hugo): Added devbox for hugo processing. Improved README documentation. --- README.md | 73 +++++++++++++++++++++----------- devbox.json | 11 +++++ devbox.lock | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 177 insertions(+), 24 deletions(-) create mode 100644 devbox.json create mode 100644 devbox.lock diff --git a/README.md b/README.md index 7e55b7a..b5e35bc 100644 --- a/README.md +++ b/README.md @@ -6,58 +6,83 @@ This repo contains business and architectural design and documentation of the De The documentation is done in [Hugo-format](https://gohugo.io). -The repo contains a [Hugo `.devcontainer`-defintion](https://containers.dev/) so that you just have to run locally an IDE which is devcontainer aware, e.g. Visual Studio code. +Hugo is a static site renderer - so to get the documentation site presented you need a running Hugo processor. Therefore there is -### Installation +* either a Hugo [`.devcontainer`-definition](https://containers.dev/) - just run a devcontainer aware IDE or CLI, e.g. Visual Studio code +* or a Hugo [`Devbox`-definition](https://www.jetify.com/devbox/) - in this case just run a devbox shell -To get a locally running documentation editing and presentation environment, follow these steps: +## Local installation of the Hugo documentation system + +We describe two possible ways (one with devcontainer, one with devbox) to get the Hugo-documentation system locally running. + +For both prepare the following three steps: 1. open a terminal on your local box -2. clone this repo: `git clone https://bitbucket.telekom-mms.com/scm/ipceicis/ipceicis-developerframework.git ` -3. change to the repo working dir: `cd ipceicis-developerframework` -4. open the repo in an [Devcontainer-aware tool/IDE](https://containers.dev/supporting) (e.g. `code .`) -5. start the `devcontainer` (in VSC it's `F1 + Reopen in Devcontainer`) -6. when the container is up & running just open your browser with `http://localhost:1313/` +2. clone this repo: `git clone https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW/website-and-documentation` +3. change to the repo working dir: `cd website-and-documentation` -If you want to run the devcontainer without VS Code, you can use npn to run it inside a docker container: +### Possibility 1: Hugo in a devcontainer -1. install Node.js (>= Version 14), npm and the docker engine -2. install the devcontainer cli: `npm install -g @devcontainers/cli` -3. change into the folder of this repo -4. start the devcontainer by running: `devcontainer up --workspace-folder .` -5. find out the IP address of the devconatiner by using `docker ps` and `docker inspect ` -6. when the container is up & running just open your browser with `http://:1313/` +[`devcontainers`](https://containers.dev/) are running containers as virtual systems on your local box. The defintion is in the `.devcontainer` folder. +Thus as preliminary you need a container daemon running, e.g. Docker. -### Editing +There are several options to create and run the devcontainer - we present here two: -#### Documentation language +#### Option 1: Run the container triggered by and connected to an IDE, e.g. VS Code + +1. open the repo in an [Devcontainer-aware tool/IDE](https://containers.dev/supporting) (e.g. `code .`) +1. start the `devcontainer` (in VSC it's `F1 + Reopen in Devcontainer`) +1. when the container is up & running just open your browser with `http://localhost:1313/` + +#### Option 2: Run the container natively + +An alternative to get the container image is the [devcontainer CLI](https://github.com/devcontainers/cli), then you can run the devcontainer without VS Code. +Thus as preliminary you need to do the install steps of the devconatiner cli. + +1. start the devcontainer by running: `devcontainer up --workspace-folder .` +1. find out the IP address of the devconatiner by using `docker ps` and `docker inspect ` +1. when the container is up & running just open your browser with `http://:1313/` + +### Possibility 2: Hugo in a devbox + +[`Devboxes`](https://www.jetify.com/devbox/) are locally isolated environments, managed by the [Nix package manager](https://nix.dev/). So first [prepare the devbox](https://www.jetify.com/docs/devbox/installing_devbox/). + +Then + +1. ```devbox shell``` +1. In the shell: ```hugo serve``` + + +## Editing + +### Documentation language The documentation is done in [Docsy-Theme](https://www.docsy.dev/). So for editing content just goto the `content`-folder and edit content arrording to the [Docsy documentation](https://www.docsy.dev/docs/adding-content/) -### Commiting +## Commiting After having finished a unit of work commit and push. -## Annex +# Annex -### Installation steps illustrated +## Installation steps illustrated When you run the above installation, the outputs could typically look like this: -#### Steps 4/5 in Visual Studio Code +### In Visual Studio Code -##### Reopen in Container +#### Reopen in Container ![vsc-f1](./assets/images/vsc-f1.png) -##### Hugo server is running and (typically) listens to localhost:1313 +#### Hugo server is running and (typically) listens to localhost:1313 After some installation time you have: ![vsc-hugo](./assets/images/vsc-hugo.png) -#### Steps 6 in a web browser +### Final result in a web browser ![browser](./assets/images/browser.png) diff --git a/devbox.json b/devbox.json new file mode 100644 index 0000000..9d41ba3 --- /dev/null +++ b/devbox.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.10.5/.schema/devbox.schema.json", + "packages": [ + "hugo@0.125.4", + "dart-sass@1.75.0" + ], + "shell": { + "init_hook": [], + "scripts": {} + } +} diff --git a/devbox.lock b/devbox.lock new file mode 100644 index 0000000..71ceb09 --- /dev/null +++ b/devbox.lock @@ -0,0 +1,117 @@ +{ + "lockfile_version": "1", + "packages": { + "dart-sass@1.75.0": { + "last_modified": "2024-05-03T15:42:32Z", + "resolved": "github:NixOS/nixpkgs/5fd8536a9a5932d4ae8de52b7dc08d92041237fc#dart-sass", + "source": "devbox-search", + "version": "1.75.0", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/6ynzjs0v55h88ri86li1d9nyr822n7kk-dart-sass-1.75.0", + "default": true + }, + { + "name": "pubcache", + "path": "/nix/store/f4wbni4cqdhq8y9phl6aazyh54mnacz7-dart-sass-1.75.0-pubcache" + } + ], + "store_path": "/nix/store/6ynzjs0v55h88ri86li1d9nyr822n7kk-dart-sass-1.75.0" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/g88isq3r0zpxvx1rzc86dl9ny15jr980-dart-sass-1.75.0", + "default": true + }, + { + "name": "pubcache", + "path": "/nix/store/l6vdyb4i5hb9qmvms9v9g7vsnynfq0lb-dart-sass-1.75.0-pubcache" + } + ], + "store_path": "/nix/store/g88isq3r0zpxvx1rzc86dl9ny15jr980-dart-sass-1.75.0" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/h79n1apvmgpvw4w855zxf9qx887k9v3d-dart-sass-1.75.0", + "default": true + }, + { + "name": "pubcache", + "path": "/nix/store/bxmfb2129kn4xnrz5i4p4ngkplavrxv4-dart-sass-1.75.0-pubcache" + } + ], + "store_path": "/nix/store/h79n1apvmgpvw4w855zxf9qx887k9v3d-dart-sass-1.75.0" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/yvr71pda4bm9a2dilgyd77297xx32iad-dart-sass-1.75.0", + "default": true + }, + { + "name": "pubcache", + "path": "/nix/store/h8n6s7f91kn596g2hbn3ccbs4s80bm46-dart-sass-1.75.0-pubcache" + } + ], + "store_path": "/nix/store/yvr71pda4bm9a2dilgyd77297xx32iad-dart-sass-1.75.0" + } + } + }, + "hugo@0.125.4": { + "last_modified": "2024-04-27T02:17:36Z", + "resolved": "github:NixOS/nixpkgs/698fd43e541a6b8685ed408aaf7a63561018f9f8#hugo", + "source": "devbox-search", + "version": "0.125.4", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/2ssds5l4s15xfgljv2ygjhqpn949lxj4-hugo-0.125.4", + "default": true + } + ], + "store_path": "/nix/store/2ssds5l4s15xfgljv2ygjhqpn949lxj4-hugo-0.125.4" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/nln80v8vsw5h3hv7kihglb12fy077flb-hugo-0.125.4", + "default": true + } + ], + "store_path": "/nix/store/nln80v8vsw5h3hv7kihglb12fy077flb-hugo-0.125.4" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/n6az4gns36nrq9sbiqf2kf7kgn1kjyfm-hugo-0.125.4", + "default": true + } + ], + "store_path": "/nix/store/n6az4gns36nrq9sbiqf2kf7kgn1kjyfm-hugo-0.125.4" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/k53ijl83p62i6lqia2jjky8l136x42i7-hugo-0.125.4", + "default": true + } + ], + "store_path": "/nix/store/k53ijl83p62i6lqia2jjky8l136x42i7-hugo-0.125.4" + } + } + } + } +} From 0ada8f00be2058eadf2f373ee7a30f6f7c7129cb Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Thu, 7 Nov 2024 12:55:07 +0100 Subject: [PATCH 19/20] chore(devbox): added go dependency --- devbox.json | 3 ++- devbox.lock | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/devbox.json b/devbox.json index 9d41ba3..a5adc5a 100644 --- a/devbox.json +++ b/devbox.json @@ -2,7 +2,8 @@ "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.10.5/.schema/devbox.schema.json", "packages": [ "hugo@0.125.4", - "dart-sass@1.75.0" + "dart-sass@1.75.0", + "go@latest" ], "shell": { "init_hook": [], diff --git a/devbox.lock b/devbox.lock index 71ceb09..c009b13 100644 --- a/devbox.lock +++ b/devbox.lock @@ -65,6 +65,54 @@ } } }, + "go@latest": { + "last_modified": "2024-10-13T23:44:06Z", + "resolved": "github:NixOS/nixpkgs/d4f247e89f6e10120f911e2e2d2254a050d0f732#go", + "source": "devbox-search", + "version": "1.23.2", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/35jikx2wg5r0qj47sic0p99bqnmwi6cn-go-1.23.2", + "default": true + } + ], + "store_path": "/nix/store/35jikx2wg5r0qj47sic0p99bqnmwi6cn-go-1.23.2" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/6bx6d90kpy537yab22wja70ibpp4gkww-go-1.23.2", + "default": true + } + ], + "store_path": "/nix/store/6bx6d90kpy537yab22wja70ibpp4gkww-go-1.23.2" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/yi89mimkmw48qhzrll1aaibxbvllpsjv-go-1.23.2", + "default": true + } + ], + "store_path": "/nix/store/yi89mimkmw48qhzrll1aaibxbvllpsjv-go-1.23.2" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/klw1ipjsqx1np7pkk833x7sad7f3ivv9-go-1.23.2", + "default": true + } + ], + "store_path": "/nix/store/klw1ipjsqx1np7pkk833x7sad7f3ivv9-go-1.23.2" + } + } + }, "hugo@0.125.4": { "last_modified": "2024-04-27T02:17:36Z", "resolved": "github:NixOS/nixpkgs/698fd43e541a6b8685ed408aaf7a63561018f9f8#hugo", From 923c2f87c0b1363c544bebde4c5ac6ee4e62c885 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Fri, 8 Nov 2024 14:02:39 +0100 Subject: [PATCH 20/20] refactor(included-backstage-templates): chapter moved to CNOE as it's not idpbuilder related --- .../CNOE/{idpbuilder => }/included-backstage-templates/_index.md | 0 .../included-backstage-templates/basic-argo-workflow/_index.md | 0 .../basic-kubernetes-deployment/_idex.md | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename content/en/docs/solution/tools/CNOE/{idpbuilder => }/included-backstage-templates/_index.md (100%) rename content/en/docs/solution/tools/CNOE/{idpbuilder => }/included-backstage-templates/basic-argo-workflow/_index.md (100%) rename content/en/docs/solution/tools/CNOE/{idpbuilder => }/included-backstage-templates/basic-kubernetes-deployment/_idex.md (100%) diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/_index.md b/content/en/docs/solution/tools/CNOE/included-backstage-templates/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/_index.md rename to content/en/docs/solution/tools/CNOE/included-backstage-templates/_index.md diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-argo-workflow/_index.md b/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-argo-workflow/_index.md rename to content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-argo-workflow/_index.md diff --git a/content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-kubernetes-deployment/_idex.md b/content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md similarity index 100% rename from content/en/docs/solution/tools/CNOE/idpbuilder/included-backstage-templates/basic-kubernetes-deployment/_idex.md rename to content/en/docs/solution/tools/CNOE/included-backstage-templates/basic-kubernetes-deployment/_idex.md