From dc088bd1e5f36858822a06eb4f7184f7896258f4 Mon Sep 17 00:00:00 2001 From: Will Date: Mon, 16 Dec 2024 14:05:50 -0700 Subject: [PATCH 1/4] add archivista 0.8.0 - additionally fixed missing 0.7.0 pack --- .../charts/archivista-0.7.0.tgz | Bin 0 -> 7293 bytes packs/archivista-0.8.0/README.md | 51 +++++ packs/archivista-0.8.0/charts/.helmignore | 23 ++ .../charts/archivista-0.8.0.tgz | Bin 0 -> 7293 bytes .../charts/archivista/Chart.yaml | 34 +++ .../charts/archivista/LICENSE | 201 ++++++++++++++++++ .../charts/archivista/templates/NOTES.txt | 22 ++ .../charts/archivista/templates/_helpers.tpl | 62 ++++++ .../archivista/templates/deployment.yaml | 55 +++++ .../charts/archivista/templates/ingress.yaml | 61 ++++++ .../charts/archivista/templates/service.yaml | 15 ++ .../archivista/templates/serviceaccount.yaml | 12 ++ .../charts/archivista/values.yaml | 102 +++++++++ packs/archivista-0.8.0/logo.png | Bin 0 -> 58711 bytes packs/archivista-0.8.0/pack.json | 16 ++ packs/archivista-0.8.0/values.yaml | 110 ++++++++++ 16 files changed, 764 insertions(+) create mode 100644 packs/archivista-0.7.0/charts/archivista-0.7.0.tgz create mode 100644 packs/archivista-0.8.0/README.md create mode 100644 packs/archivista-0.8.0/charts/.helmignore create mode 100644 packs/archivista-0.8.0/charts/archivista-0.8.0.tgz create mode 100644 packs/archivista-0.8.0/charts/archivista/Chart.yaml create mode 100644 packs/archivista-0.8.0/charts/archivista/LICENSE create mode 100644 packs/archivista-0.8.0/charts/archivista/templates/NOTES.txt create mode 100644 packs/archivista-0.8.0/charts/archivista/templates/_helpers.tpl create mode 100644 packs/archivista-0.8.0/charts/archivista/templates/deployment.yaml create mode 100644 packs/archivista-0.8.0/charts/archivista/templates/ingress.yaml create mode 100644 packs/archivista-0.8.0/charts/archivista/templates/service.yaml create mode 100644 packs/archivista-0.8.0/charts/archivista/templates/serviceaccount.yaml create mode 100644 packs/archivista-0.8.0/charts/archivista/values.yaml create mode 100644 packs/archivista-0.8.0/logo.png create mode 100644 packs/archivista-0.8.0/pack.json create mode 100644 packs/archivista-0.8.0/values.yaml diff --git a/packs/archivista-0.7.0/charts/archivista-0.7.0.tgz b/packs/archivista-0.7.0/charts/archivista-0.7.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1ed004dc314edb42ba29a8f2c5b9436023c2faf0 GIT binary patch literal 7293 zcmV-@9D?H?iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PKBha~rp^U_SF#^wK_cq`MSF$@1gyRJK-;>4Y1F(iP=oQ>l~- zoB>H(V+IodBZ^n?f8Xi`FoPMAk`jBJ`|y0Q#UapWH2U2D$aJz4H^NwUc(!EP_SY|y*h>OxXd6yPJy}7a9XiX zXQ?tigr&8G86F-kgk6@iexkBNksnxP)nVs7U$2x-&9HL-%vx?NL$IBUiQF=gb4_36 z3<3FG9rvkb(~eQ4PB^u^XRwH`3ERiE?$~vK;}wMzi9_$ECdl*tQRlB-u}}L%bh=@( zo||8qP~;7k>3Efz})$AjZ%aJ}S_RKuCdtroM=Ds4JX zI#1wSBs@1fg)&dM28+!LmMnSrrUzbwz;S;7d)T1szv}M)v-1Sjs)UTKAy*bk!@(|v zfw_BXUREzRNi_-r(pjt-9d1M2fOm)sc8{I^nQp2BP$G{Q`BkZc7?16yd$ zQ?LpVUTI-PzUYBbbGu@icb-5hjH6wHS^+&_8VytqEQjvt6vopod~-S-PkWsw@YDGE zyNkEi@YCtl)#>DVJetDA6`Wm6UXQQG7n3Pmyn)ln&+z?t^126H*d^D%Zwrn1D-8na z$WtWRl=B7xsK4>EDR?60A_2+rMadQ%7V3uUT;vNVxXy&Z)il8JwDSa{$b{3|W^+>g zj^;$BGganx2uGcc$k>7pI{=y&$_T6UdI*bUqWeN^)4u>kDdnY-B3Tb%JfA3gskz~~ z?EpN1iyN-BNV%b52{>4`fYnkN4k@3rQd*=fe(mg3ZPWT4z{W%9l5OjD$hriOL+Exp z^HR!r(%FNjdFYb&fH^?Iz=G#oGh!)&D};ap(qMU3NM;csXEzb~LZzoI?C{-` zC#4p4jS|jpZH4vRe5+Mi4B>b%7~s^mH%nN-WuMQvx~`ObcWLMZhCz+o_y;uBzrf6Zizz_%$WaelVVS* zgvq5ccKGbs;KlwSx+!A5?(Q7t`r_*J+tIskPS3s{O8lGrQvPrTiCA{bB0|E^N6WRbX$a_Mo99a==m=SgyyHsP&Y#LwGfKb=>KQe1ZDgaXG?HE3rrjbE%9 z&nIE%t!Q>M4<3I|J!FEau1Qgng2?>mjAvwHj*egbAiM(lt>oshJvywk$|OvRe9>5e zpz1S`UpXsh(82*^>^6EaAS0s}+@4*&eQSjj|4!t(Mi^m9cfP$kM^{*vdG1{g z!_igGSdLNs-Q59*IrM*Yfuz@BeGd>me4rMZ!ZEuBUJOt;Macck@(OJ-lRcDB2Q$Qa_B}XG&qG_=);E( z`z`Fomo3~7viVaO3d=J>4vlVU`YcUxH8{QVA3k&mfn=#dDE8E&F??E4YX{-a6-&Qi z5`#f~AMpVI71t2PmV!ge-g96u=POj%rS%q?!j%Xlj4#pJ&p5CfCM5D|KeB!lYoZve zm`z+D>gI{QLnI7;|HBJyZW1_HJ#P8_UN7HtboJx-Y|9D~yvGdus1f1dAQ%Mb-raTY z?z}ASi9F@E5LR18qzr-xgMAXUKFOPts_us^JW$VNh}gE4mZrN?9xLbR5dwL6@tPdP z7R3scK9=PrbXigKvA52-MWv$-vE$b}s9968x7ktT#v;YOZV!lr+9_Wdw=88Iwx_0> z-`U0F`gA-QU2W4kg-Rbc$)|x#TXm49JlBLvrID)FPAyeS-2IWvhF|HUk7EpIymKXk#Ey- z2XzBVzx7=ykrZ0c&2dr) znG|!uQ&b{^dcX4%cd)6w#Sw5C24*~AsB?_UIDB7eV>jWs;4(G9G;HaA=nubs{F>G{R)las+6K1ehsv3(}e;2qso@b;N0^qLy zVO-W`+qM^o*#el|31eP@Bd*%VGeJOI`2iE z4&imh1f39g4y(H2qf!VR@T$_)7f3~H=_D&-@H^xpPkCQy^;6>2+G=_nK7Fz&m+8dW4>w5>KVLnu!B%}*byNEVA|ghFm2Xq ztGrgD%u^+&u(wq|vrINdepPpCOcNj3nAe}1Sp`3=5B=RL6K_Sbo@A@|ydC>G;}939 zDh7-lrK-=pxa`2k>_q11xCz;9W`J(QTlA`5Z*G7OABG!WTeg7T+pcuO)9JQHxr}x} zY{09xNHp=|`OSl~jg&jjZ|<4w26HxhzR@b%7@f+UJ27}*um-2%LrJD4xUl{U&5Gr3 zvhiKSF_(2Uwb`Q3%Bn=kAzYtbM&H#{#)s%vwcIhA4YI}MySiDUsP{11xDH< zR0lulI8hO@ZWUK1KW4N|KXa$i+2)e=|GW8dfA-nx|Al(mC)x`7(EiWC$wvM6<;j=* z-=F1qpk^CFyQk>cO?*n|ANK|`WU=Mx2J;SpbuFq6f zFwLR+zrH@|AH6ylbfJG1ZAR;VU(R^g@b|5-{?GmW+Vk_y z2L$HhWW^2c!JgGy&SFP&W6aIKYKL-h+cf;Pv5E+Or^l|gVK-aLt?<2~T_eFyL|o&1 z;7(67-mQk6>d&Fg#-yqbx|ICEIW&+9d-8B3+LN+@B9%-lbXyzrcI}F(=j}G|HTStR zdk5|b8~g6zmZyJ!T_PvD+A$c=xQ=&e>{i-8P?eqBm zgXb>?oAv*rFaH1McpB$FL+aO8!T##JudPhT&i!3chUma=p}%J%nNxXg*R@la%{0=s z;76;02jze8q9y+?pADXWk^j%}JgRQnj=tK8!Z&}s zzSxQqm3?7Ij5hvg;HYd9VZPIh*B;8b=8J6?~jewf1P++r z94HO%f#!u)X_?^bUR9h;>!aL$W0>1ILwm!fJaIsdz%I2a7fbku+kqntq$(+?qSnGo z=?%n^>Y%<_ zK%&h3u}S>E5`q%2$Wvf4_)^N9M8~fLoz`ZS%5z%D9&NPrA0#2&qXYGt`y=HEZBvWN zz*@<05dgD(z&^b3$2p2p7s_x`Q?**~utr@ErAt#WuqXCiSGD502dU6Jv2b{*5#oyx)nM$h@ye2HL^AqsvS!pS~AMNA~mok7W-9n;L-m7HKUGw6=xCXr- z|8ub@T{)9(sEE|Z#q8gBVmDD|`P#kH+?0~!W3E*O8Bdlh7YPdjVl~SRwq${!=#7jH zCOh&FxL$LDRS~%{%|vB|K!H+(oS$ZWV?blVvGz(-?)Oz1gyUp4{^x^Gb;xYExvugn3qCm0k$iEmu|~yi#x8 zWlV8wR4dk^ZSh;W9kw3C9?Qe=b?jJZbt8O7cd<#q^Hkizj7zoJuc`2wYjMM@xZ!{V zG2J!?;27I!;Aih4IT{4SXUw>pKu{D@90R#utIX*t9Ez3;Wnr}x?l@Wy!BkkKQQS4Z z5ww)O*tzWimu#kV_@s1L=2)6MFtl=X=SI)%SYIubB%uJM#X{svZdvn9eH`@EydnNQ zXp_%V54kzG`zv}+gwZ@>qLNQuFio6-bfIZvTywbwDf0J3xS7a_PcQ=64~s5x%k`Wk zWF&f#jjV{effQ1Qt9iZZ)m=D3A357+iuW}}3P}`=QWx{&p5&RC~F2bD9^P)flg^lh_w<4@EnY(+fMeL}c zR;J;R-)DTu+3HMOu1{Y~#)Q&j1$cnpC|@AOGQiA==_S zbO)*Ax1s53bzYP+DH6FxMlB>;_v$wV*Ur=$dgC37IBtvG{7M&-v%E3l7IRLz#VydY zXn`&nD&7AAtFz~?W@CmaspQpfZ zDSQ53krhf?w=k6+@Q$+g3Q5g`nIQ?>8ii5mFfp2jT&^9JQFnRN63IkneA{Spv$X>f zQ@7HaIZwDTObe3Exfc1NI`Sog?TZC}&+G$}D(BuJCMuhWyz=U)Tf0M;P`K)j7|<&3 zS3T(mfYf^GPaNny9R^?l3Wy}E)45vZ4 zQ?A`-x^Pdjl_`bAsY-@Ew}0SBFAGkeanJ z&fO}{m6U4b?0e8%!%h`f?Yo(l#=-*eMf6;}p?M+-!BJ_&u5T3`;kcm#&n6B+LgvQ3gdT|)X~U7T4f?fK5@~biH4`!!vagw{U1w4VowuCIL(ohXk^VT z6L~NA%~1$X(Lui6m|Qe)HDJvUJ-UOevW`8^-91!`DM!Dl7daEeqP7+{KR1_x*n&@6 zr8Ye`r#%AmqOIM@oslNeVd-H(a~LvP+@U1Dxc#TAN(y z32Rg#a%D0oE=rHPK0Ez(%)MsB_`8!S!nZ;kOz z%#jh4fV!v9V%C5SdN48JT0@}wl+8>C>9t0h2?DPG$L?FVlcT~m?&EX zGw%EVUAFnp5oTB2Vk?R2sDj*9O4d6Epq2QFmI8tJdBi9y4XHq{wc+J%@!;#!-jBP~-!Dy>MM zu^`VW*zuJB7pvA@py`JjmT}SeZ6QS>F#IKmQGuk&Z>-y1WR%Q`(pWoFSGA{)BeoMc z&efa6+2=nJnt3;i(2N+yfpD&C8mf=3|3q2rR8?=tzRZ*h%1~?<6yBj3A=FG+aBXLJNEFkfERtZ z4i1PxwHW!)sUpp3oy#3ngu=Z~gf#Y!_E?$7qcOeeY6AaJY4AMk8aMCyu1!N7rdD@% z&uKo)C_2*Omb5fhWlXOL84bl|W&0B*lCcshZWglJ(L!lGb z*y<;ykuK~0qplebBCz$c@oK@m?3)_ZJ;ar>WZ4c;(SA)%E!7?fK~yT)w@!yqJ!hwRP1($tA{Wrck*N zRCS=rjEf4J?81sdt3nHO&uPMQe?vF%U#)SYe5uPe8dK86GC`!ZFr?XyN<`ACCe&p z0Ie@N_u9IvcPeh82tt%y<1LJbKg2@0h zXy|0gkVISq)2?QYR=l#+rj)iF=n^%{O2?G$jmZ6CMtU{Q80_6!6AxJ7w54(kyHF}! z2^r@O--EHLDAbVaQ1N_)3^Yxrg`RJGH_{$c2&>!HAv_;CgI)0ijPmC_BQjzv$c0N>Iu19E-RW=&ipFk#>j1~ zaB&Pgn!HB4x@{XAeSdm+Ihwp4|KA}lA!Q4SLaw*`E(?A~sI0155&&F3vO~{rqiALm zf?KVG!P_{9m)H<^?060RNJazj|FI7gty7q4ma3E~y7(0yK01iZc2t{1SuyL}vfHWYVG>Wkx|-_jxr?n|pPUT;~U3TeQ^V8<@q564qL9o$7*(X4#> z%`b>1XGT=@cu%=dcdgPhb&|vF{SBJ3E++o6Ua!}`!Y|>fuvV4zS8D#TzXJsD@jnC< zMg0%`5>Ut_{DB_=!Y-fUhk)WN<)8i~ppSRI>z@Jw_$0ptL=M!wKL+$yZ*Knbe0jb+ XU!E_|&gcIH00960ZDFIq0CoTX*aDh{ literal 0 HcmV?d00001 diff --git a/packs/archivista-0.8.0/README.md b/packs/archivista-0.8.0/README.md new file mode 100644 index 00000000..7662436f --- /dev/null +++ b/packs/archivista-0.8.0/README.md @@ -0,0 +1,51 @@ +# Archivista + +![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) + +Helm chart for Archivista - a graph and storage service for in-toto attestations. + +## Prerequisites + +A MySQL database and S3 compatible store are needed to successfully install this Helm chart. +See [Archivista configuration](https://github.com/in-toto/archivista#configuration) for environment variables needed +to establish connections to each datastore. These environment variables can be added to this Helm chart using the value `deployment.env[]`. + +## Parameters + +| Key | Type | Default | +|--- |--- |--- | +| affinity | object | `{}` | +| autoscaling.enabled | bool | `false` | +| autoscaling.maxReplicas | int | `10` | +| autoscaling.minReplicas | int | `1` | +| autoscaling.targetCPUUtilizationPercentage | int | `80` | +| deployment.env | list | `[]` | +| fullnameOverride | string | `""` | +| image.pullPolicy | string | `"IfNotPresent"` | +| image.repository | string | `"ghcr.io/testifysec/archivista"` | +| image.tag | string | `"0.1.1"` | +| ingress.annotations | object | `{}` | +| ingress.className | string | `""` | +| ingress.enabled | bool | `true` | +| ingress.hosts[0].host | string | `"archivista.localhost"` | +| ingress.hosts[0].path | string | `"/"` | +| ingress.tls | list | `[]` | +| nameOverride | string | `""` | +| nodeSelector | object | `{}` | +| podAnnotations | object | `{}` | +| podSecurityContext | object | `{}` | +| replicaCount | int | `1` | +| resources | object | `{}` | +| serviceAccount.annotations | object | `{}` | +| serviceAccount.create | bool | `false` | +| serviceAccount.name | string | `""` | +| service.port | int | `8082` | +| service.type | string | `"ClusterIP"` | +| tolerations | list | `[]` | + + +## References + +- [Archivista Helm Chart](https://github.com/in-toto/archivista/chart) +- [Archivista](https://github.com/in-toto/archivista) +- [in-toto](https://in-toto.io/) \ No newline at end of file diff --git a/packs/archivista-0.8.0/charts/.helmignore b/packs/archivista-0.8.0/charts/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/packs/archivista-0.8.0/charts/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/packs/archivista-0.8.0/charts/archivista-0.8.0.tgz b/packs/archivista-0.8.0/charts/archivista-0.8.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1d45a7191246887771004d77df62d83b4dc875ab GIT binary patch literal 7293 zcmV-@9D?H?iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PKBha~rp^U_SF#^wK_cq`MSF$@1gyRJK-;>4Y1F(iP=oQ>l~- zoB>H(V+IodBZ^n?f8Xi`FoPMAk`jBJ`|y0Q#UapWH2U2D$aJz4H^NwUc(!EP_SY9BEzFsMvnqlVvn6=zkhG07x6S-v~=bFCC z83OXXI_^`=rX8b7op5S-&tMT>6Sj|S-LdNe$14gc5{KSRO_1mPqt0KwVxRVj=ybzm z$<6-<1@M6UpS(OiY0Llfm(Rb*|L1s~z?mx6S}c|pjt9rj;Cjg;sfII^TPVf#d!F_OLq}Y96-(W(i?>Q1*w1 zhpW}9&j{PT(u+gsTAIW2@!4oH9UUC^2h`_nF1azF`ERArJcZdhXoQ*MAlV9(2DZ?g zr(hK#ywbvoe9;4==61z2?>vE27)QGXwE}v=G#aQJSPtFODU7FG_~vvvp7uIV;HUBR zcNcH3;iuE9tJBH#cr=BJD>%EDydGbVFD6sCcmt=CpW*xQk+B6Ib^tUllo3|x^$-@zME8Z-rhfs7Qp!suMY0~kcs^0~Qgg#| z+W~k27dKpMk#a-B5^%6=0js4l98x}KrL;&}{My;6+NSk8fQ^UHCEM2RkaYK<+<`?8N%HM!WBgcVFkwYP=Glw$T=m_ z4BL+9BoBsLq_YQ4^Ux*l0ds(afd$XGX2enkR|o+Iq`~s6kjx@N&Tb;|g-TCb*x|b= zPf9K98YP_H+6wEr`Btm47{c*jFu~`fmEK=kKQ17gwWqXBU&n=nSRh-SqluJo(mRNcL_B-4cf=m@)s`CdHmq z36o1@?C{yM!HfMvbW_B9-Q79P^~Kfcx1)F8oSuC@n!Iko{^tDRo1IGa+Aqo3c6Td4SXH2-@9$m!_pYIJ=cWPZ!CLh|N+kAVDk zI(m0~K5bF#&FT4c^ca$T^Y-lf(e=B@=?|kOh{&}x9sKGEoJy%yrlIZVdz4Hx9{F4> zGFG6%G(6FqWRql3N_fxL2Lu`lCbR)&koSaEIkF<$FfGt5n6^VqEc!;P%(H3GBFMbX z%RG~%v0RTYQR^vfhwy6f>bTPp`2zK~<8p+ZR$`GzX3QkW_BOqP{6bw(28nqh@3~*G zRL2>{g4v~S?RwygAskk3T$5|UcZ@5GlcoWuo{~5nX)0NS15ZPTCF$S;&lLw&8oyXI zo=?KiThZ)j9z6b_ddLJ-U6Z0D1(EsB8PCYZ938*zj9X2poIg-*lqM;Kt@I{xIMdk`_>96{+-Bm$#sIHTX0-v8rn7cfrj7RvXiTn zPr2lYRobaFYn@|3&_PFdpV`a&bMH_U*0xG(P47{{ORQ zFP^vj|L22~qc8sd=Xj3#=z4ssS+NxVdX5f;=l34@=?Tl>Mi^m9cfP$kM^{*vdG1{g z!_igGSdLNs-Q59*IrM*Yfuz@BeGd>me4rMZ!ZEuBUJOt;Macck@(OJ-lRcDB2Q$Qa_B}XG&qG_=);E( z`z`Fomo3~7viVaO3d=J>4vlVU`YcUxH8{QVA3k&mfn=#dDE8E&F??E4YX{-a6-&Qi z5`#f~AMpVI71t2PmV!ge-g96u=POj%rS%q?!j%Xlj4#pJ&p5CfCM5D|KeB!lYoZve zm`z+D>gI{QLnI7;|HBJyZW1_HJ#P8_UN7HtboJx-Y|9D~yvGdus1f1dAQ%Mb-raTY z?z}ASi9F@E5LR18qzr-xgMAXUKFOPts_us^JW$VNh}gE4mZrN?9xLbR5dwL6@tPdP z7R3scK9=PrbXigKvA52-MWv$-vE$b}s9968x7ktT#v;YOZV!lr+9_Wdw=88Iwx_0> z-`U0F`gA-QU2W4kg-Rbc$)|x#TXm49JlBLvrID)FPAyeS-2IWvhF|HUk7Epo8zP!{Ep#lp1_M|^ry(C<$Nw~p?lD6`C=VH@XV#dSTzFLsx|yp zGAZVQr>H~-^?v6k?qE}UizDDP49s}KQ0EwxarnN{#%{uM!DVWIY3_ncm)51k^xkYu z#CScKVp}xzs1Eo0o$(yBQ%Vjt(IxCGtb~;4U6cm#H0Y6(QhIFfqit=E1AQas zx}B#CWZU`uV@QrR*8lyK&>w#N_%*F@tO((Nv<;lYv+?o|B3EdU+c|XqW)A*lx-D34 z(8qJw_CFhZ7cD5ti7yD^V$z~|4sop{n{j#n!cxO}Rok;BI! zbl-LVxFD%4Q@KOZ+>4}Z;;>wDnf1-mRZ@q${6{~nz8iRJ6XUZO=N@=J;u=5K(<)n! z-)*{1RW%l!f{iY}!*8XsyfybtC>hJyf~N+Y1s8Of0U1Om?ZKX0yI8XSB@3-UCs{{w{ENJkLlk1i)SY z$3|qZ6~Kn<|J646b3R-Bzq-)!Np=G~nE!j$_Wxd-JRf}V|31eP@Bd*%VGeJOI`2iE z4&imh1f39g4y(H2qf!VR@T$_)7f3~H=_D&-@H^xpPkCQy^;6>2+G=_nK7Fz&m+8dW4>w5>KVLnu!B%}*byNEVA|ghFm2Xq ztGrgD%u^+&u(wq|vrINdepPpCOcNj3nAe}1Sp`3=5B=RL6K_Sbo@A@|ydC>G;}939 zDh7-lrK-=pxa`2k>_q11xCz;9W`J(QTlA`5Z*G7OABG!WTeg7T+pcuO)9JQHxr}x} zY{09xNHp=|`OSl~jg&jjZ|<4w26HxhzR@b%7@f+UJ27}*um-2%LrJD4xUl{U&5Gr3 zvhiKSF_(2Uwb`Q3%Bn=kAzYtbM&H#{#)s%vwcIhA4YI}MySiDUsP{11xDH< zR0lulI8hO@ZWUK1KW4N|KXa$i+2)e=|GW8dfA-nx|Al(mC)x`7(EiWC$wvM6<;j=* z-=F1qpk^CFyQk>cO?*n|ANK|`WU=Mx2J;SpbuFq6f zFwLR+zrH@|AH6ylbfJG1ZAR;VU(R^g@b|5-{?GmW+Vk_y z2L$HhWW^2c!JgGy&SFP&W6aIKYKL-h+cf;Pv5E+Or^l|gVK-aLt?<2~T_eFyL|o&1 z;7(67-mQk6>d&Fg#-yqbx|ICEIW&+9d-8B3+LN+@B9%-lbXyzrcI}F(=j}G|HTStR zdk5|b8~g6zmZyJ!T_PvD+A$c=xQ=&e>{i-8P?eqBm zgXb>?oAv*fU;O{i@ifkVhSaaGg8kKbUt5`wo%_3@4AFt#LVwRjGNU|N zeX%oT_vs_C){H)3K=xn4L5k$xAA956erY*Kj--ob2rMz^UvGcDx>4{V;{o$?N#g^P7t+csm{S;A(Vvb@BQw zo$l;WtJmY{_0{;BxA=wt9QENfr}_uVc)#PZsm`Q>Su!ah<1D95F_!DhxI?%qPhBrM zI8Yki1I-Jq(lWuahW3U{dE$T^fn91LnfPHx5k8>2IE|lS>rfRj|VU4;TN|&Z$U{CD3u4=_~4^p9dV(Gwq?*8t9 zRp7Ra+GXH-_Z3k*cuiPf=O^ITv(i#}KibI~E@c2$x`jlgyjRJdyXM7#aSeJw z{^w#*x^gDnP!Xw*i`l>N#BQR_^0j-XxhW;d$6TunGM+41E)o_5#A=osY{>#c(Hj{Z zOm^fUaJ}XPt0Hn^nu*E^fdZunIX}(%#(>6zW9^lw-0!P22*=58##6y42#coulhW@u zl)_5s_k=O&A>_1L1VkRDQ3-$}ou5|5(&*&X=9LmX)TYRQ3G=MPD!mZ2Tdu4~c%|OF z%b4QWs8*~++v2x$J8V6OJ(h>#>)5f->PGmE?qZXI=c%}b8JB9cUsK^V*W!j*al-)# zV!CY(z%jPdz|Y=8ax@5t&zNyHfuJa+I0kaRR+-aPI20`x%ED?X+;OxZf~l}dqqu8+ zBWNjmv2)u4F4;`!@JZ>g%&|0iU})v&&W)bivA$X=NkRcii-pLU+_L7I`Z(yRc|-hr z&?cX!9&&SV_gD0u2%~w%L?xfRV464u=|a=UxaM*VQsnQ6a5Iq;pI`*C9~NEYmg_l7 z$Vl`e8(9%`11Y2qSMz$+tGjT7%D1j~TLvnTjmE187? ztxUrszt8xR$vLR`Zs+B3)*iamoWhPOXYVVutmZ(u8Le`W^l%ksOcEchH1?yrhq5vc zH$?cGXDXuenovk5YieO3`kUUprl`_g@fa$PaDt2piJhe|*7RbNRk=d$3KbKpaA8cz z(S#&qBYg|E{Al_7j`!ee#YFE#YNWvh5w($SsW3@t$jZ}*8R<*!M*c(^uQpBmHV~mX z*T9d7%1t4XQk6!oA!GVIsyI*#Lp?B z<34cvE0~tfxO!gQ8q7pu7HehBl4X3~7oZB6t(_M~e!bxjtQY3PXj9N&x?$vJ!uAQkh^u{|DaoiTW`IRmvXL)19E#{nbi(8;) z(E?pERJ#8KR%g#&&BhF!eh)5^FkoCjv=4=wYqWY9d(V5YWH+3=ynqnJ(P}GeZ)%H43BBVPZ55xm-IcqweykC6bBE__opHW@`r| zrf#J-bDnTxm=+|Rb1m{kb>vF~+ZPM|p4kT`RnEOdOjI@#dF9npw|0jxp>Wk5F`!l6 z$!j9#hgjiK1Y1X!c>Ju&Di$(USmfzyQLI=v6xf2{*QDfp;J#NItjf36%9sNp7*2z7 zr(C&fbn_;sv;X5>0uMUNXAT?`c zoV!(?D=F2=+4rEkhMg*|+IKT8jfDl`i|Dy{L-Rxwf}_%kUEeA?#Ajoo@ePmliv5$! zXc%)Ajp-6MwJVKr6vpo^siTpFw8}(|eBz=<6Ae$dhXt0V`#+Y9#GWROaGE10(a4%x zCh}hJo1+k(qJwQ;vR9FLEY`MQtr^er_%Wu?3&D zN^N>>PJ0Fzgj}k~p)I(kn>VfU5~po#xWIex?TI#tmhPj{s@C5Jez?@#$;I{fY}5rh zjX^hqG84u?mpd9Kmaa$zY>|`=%F=p8phD=$=*B{dG2?4Rw~;lRH;Bpal^SUVHxZgb z?=f_Zz-*`RR=N_iF$Jc^N3Ma8d8B?Ys1Uk;=$Lcy)7jp z2PUc&sreRcdbQZhDOg^9*K+_L5EaRf_+d_&&VE9WAqXJ2l-&nW3$S9c=rLlIVu4+#oM{Fl@ zoU1pBv(JAdH1lp2p&2oZ1L0iPG*lm5|B15LsjA+PeVHj2l%d!zD7-^6La3Rt;M(w% zyFyUvu5JxW;sd(%^a6HE!PZU7LnFOs($j zp3{7oQFNrmEoo`2%9vggHX;Z2BL_3T6jjh67Gg6$8>A_$o3{pAOn{@*%RamohC(N< zvDHsZBVE@0M_n@>L}2S>axO{tcc`+S1YwN0ol1q%$Ordfk zsOmtK85b2c*@YE_R)rSmp3{Wq{)TSizgpu)`BIl{G^V7BWr9d+VMwzZm53@#c1qpX zSt%PE7g{%iS;u>?`fy&66g!;@w?%&4hcQ}S;5W#-h=+rbE0C1zv`en^I!d*KN|sgH z#wmlGFQi!TJmLGjs@mOaq;jjw&x8EF=NttCDVJhK4jm!4(8`#qZV`sGz!Gcr@41Yh zv}eP7C=Ii)WRfm!4jBPjT9&azGl!48!RWhBWH-d_!bH9DV7~zQ!HaB?iP6GbXhtmXY0#YGpUL5(fHq?<&{Io>Zy(zBk zV&T2zw%~;(OQl>Elro)-Vmswr>1I;WCp}<pVP_O;g#CJT)g{|bVs@}?g zJE)oTSt#;b4pHr(=j%!>!jO^j@s%)*au4srcWQ-^kP9U%f)PCITvjx#ocUG6jgi|} z;o=y0GT^9U~P+3*ABmlU6WQU&LM$ybB z1h-lV$+f#H)+w91%HNhY(=2(dxsk&Fi5|6?C0TBk78ELAB}bnz=Zd~^_*?Wi`3vSQY`Ww%u!l!AJPKp%eM zz@$;2xohq7q(O^QTgNxX)ECD^zokVM+?Q5oyxy`x71Dr-!H!+JAC9MhI=G9rqFMR$ zn_m!3&Wxz)@t$&_?pmd1>LiET`x`W6T}=FCyg=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + {{- include "archivista.labels" . | nindent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ingress.className }} + {{- end }} + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/packs/archivista-0.8.0/charts/archivista/templates/service.yaml b/packs/archivista-0.8.0/charts/archivista/templates/service.yaml new file mode 100644 index 00000000..9e1596e5 --- /dev/null +++ b/packs/archivista-0.8.0/charts/archivista/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "archivista.fullname" . }} + labels: + {{- include "archivista.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: graphql + protocol: TCP + name: graphql + selector: + {{- include "archivista.selectorLabels" . | nindent 4 }} diff --git a/packs/archivista-0.8.0/charts/archivista/templates/serviceaccount.yaml b/packs/archivista-0.8.0/charts/archivista/templates/serviceaccount.yaml new file mode 100644 index 00000000..3fac2010 --- /dev/null +++ b/packs/archivista-0.8.0/charts/archivista/templates/serviceaccount.yaml @@ -0,0 +1,12 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "archivista.serviceAccountName" . }} + labels: + {{- include "archivista.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/packs/archivista-0.8.0/charts/archivista/values.yaml b/packs/archivista-0.8.0/charts/archivista/values.yaml new file mode 100644 index 00000000..54bc194a --- /dev/null +++ b/packs/archivista-0.8.0/charts/archivista/values.yaml @@ -0,0 +1,102 @@ +# Copyright 2023 The Archivista Contributors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +replicaCount: 1 + +image: + repository: ghcr.io/in-toto/archivista + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "0.8.0" + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + create: false + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +deployment: + env: [] + # - name: ARCHIVISTA_SQL_STORE_CONNECTION_STRING + # value: "user:pass@tcp(localhost:3306)/testify" + # - name: ARCHIVISTA_STORAGE_BACKEND + # value: "BLOB" + # - name: ARCHIVISTA_BLOB_STORE_ENDPOINT + # value: localhost:9000 + # - name: ARCHIVISTA_BLOB_STORE_ACCESS_KEY_ID + # value: testifytestifytestify + # - name: ARCHIVISTA_BLOB_STORE_SECRET_ACCESS_KEY_ID + # value: exampleexampleexample + # - name: ARCHIVISTA_BLOB_STORE_USE_TLS + # value: "FALSE" + # - name: ARCHIVISTA_BLOB_STORE_BUCKET_NAME + # value: attestations + + ## Allows the specification of a configmap or secret to set all key-value pairs as environment variables for Archivista + envFrom: [] + +service: + type: ClusterIP + port: 8082 + +ingress: + enabled: true + className: "" + annotations: {} + hosts: + - host: archivista.localhost + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + # - secretName: chart-example-tls + # hosts: + # - archivista.localhost + +resources: {} + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 10 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/packs/archivista-0.8.0/logo.png b/packs/archivista-0.8.0/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..99b50fee6a59cd2168a0d56486a26ee195b4ad4f GIT binary patch literal 58711 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 literal 0 HcmV?d00001 diff --git a/packs/archivista-0.8.0/pack.json b/packs/archivista-0.8.0/pack.json new file mode 100644 index 00000000..b0431ae0 --- /dev/null +++ b/packs/archivista-0.8.0/pack.json @@ -0,0 +1,16 @@ +{ + "addonType": "security", + "ansibleRoles": [], + "annotations": { + "source": "community", + "contributor": "spectrocloud" + }, + "cloudTypes": ["all"], + "displayName": "Archivista", + "eol": "", + "group": "", + "charts": ["charts/archivista-0.8.0.tgz"], + "layer": "addon", + "name": "archivista", + "version": "0.8.0" +} diff --git a/packs/archivista-0.8.0/values.yaml b/packs/archivista-0.8.0/values.yaml new file mode 100644 index 00000000..91382fcc --- /dev/null +++ b/packs/archivista-0.8.0/values.yaml @@ -0,0 +1,110 @@ +pack: + namespace: "archivista" + content: + images: + - image: ghcr.io/in-toto/archivista:0.8.0 + +charts: + archivista: + # Copyright 2023 The Archivista Contributors + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + replicaCount: 1 + + image: + repository: ghcr.io/in-toto/archivista + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "0.8.0" + + nameOverride: "" + fullnameOverride: "" + + serviceAccount: + create: false + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + + podAnnotations: {} + + podSecurityContext: {} + # fsGroup: 2000 + + securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + + deployment: + env: [] + # - name: ARCHIVISTA_SQL_STORE_CONNECTION_STRING + # value: "user:pass@tcp(localhost:3306)/testify" + # - name: ARCHIVISTA_STORAGE_BACKEND + # value: "BLOB" + # - name: ARCHIVISTA_BLOB_STORE_ENDPOINT + # value: localhost:9000 + # - name: ARCHIVISTA_BLOB_STORE_ACCESS_KEY_ID + # value: testifytestifytestify + # - name: ARCHIVISTA_BLOB_STORE_SECRET_ACCESS_KEY_ID + # value: exampleexampleexample + # - name: ARCHIVISTA_BLOB_STORE_USE_TLS + # value: "FALSE" + # - name: ARCHIVISTA_BLOB_STORE_BUCKET_NAME + # value: attestations + + ## Allows the specification of a configmap or secret to set all key-value pairs as environment variables for Archivista + envFrom: [] + + service: + type: ClusterIP + port: 8082 + + ingress: + enabled: true + className: "" + annotations: {} + hosts: + - host: archivista.localhost + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + # - secretName: chart-example-tls + # hosts: + # - archivista.localhost + + resources: {} + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 10 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + + nodeSelector: {} + + tolerations: [] + + affinity: {} From 6d278c78ed1fdb558c66a9245f6e8d455f42d644 Mon Sep 17 00:00:00 2001 From: will <30413278+wcrum@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:57:27 -0700 Subject: [PATCH 2/4] Update packs/archivista-0.8.0/README.md Co-authored-by: Karl Cardenas <29551334+karl-cardenas-coding@users.noreply.github.com> --- packs/archivista-0.8.0/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packs/archivista-0.8.0/README.md b/packs/archivista-0.8.0/README.md index 7662436f..5ee2027a 100644 --- a/packs/archivista-0.8.0/README.md +++ b/packs/archivista-0.8.0/README.md @@ -7,7 +7,7 @@ Helm chart for Archivista - a graph and storage service for in-toto attestations ## Prerequisites A MySQL database and S3 compatible store are needed to successfully install this Helm chart. -See [Archivista configuration](https://github.com/in-toto/archivista#configuration) for environment variables needed +Refer to the [Archivista configuration](https://github.com/in-toto/archivista#configuration) configuration guide for environment variables needed to establish connections to each datastore. These environment variables can be added to this Helm chart using the value `deployment.env[]`. ## Parameters From 55b8f8de981f27dc9a73da0f35f20cfb4edc6ab1 Mon Sep 17 00:00:00 2001 From: Will Date: Mon, 16 Dec 2024 14:59:23 -0700 Subject: [PATCH 3/4] add usage to readme --- packs/archivista-0.7.0/README.md | 2 ++ packs/archivista-0.8.0/README.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/packs/archivista-0.7.0/README.md b/packs/archivista-0.7.0/README.md index 7662436f..a87e42c7 100644 --- a/packs/archivista-0.7.0/README.md +++ b/packs/archivista-0.7.0/README.md @@ -43,6 +43,8 @@ to establish connections to each datastore. These environment variables can be a | service.type | string | `"ClusterIP"` | | tolerations | list | `[]` | +## Usage +Please refer to [Archivista Github](https://github.com/in-toto/archivista/blob/main/README.md) for further information. ## References diff --git a/packs/archivista-0.8.0/README.md b/packs/archivista-0.8.0/README.md index 5ee2027a..11eba840 100644 --- a/packs/archivista-0.8.0/README.md +++ b/packs/archivista-0.8.0/README.md @@ -43,6 +43,8 @@ to establish connections to each datastore. These environment variables can be a | service.type | string | `"ClusterIP"` | | tolerations | list | `[]` | +## Usage +Please refer to [Archivista Github](https://github.com/in-toto/archivista/blob/main/README.md) for further information. ## References From 8862d36fec7498324967768a44bdddbba6458afc Mon Sep 17 00:00:00 2001 From: will <30413278+wcrum@users.noreply.github.com> Date: Mon, 16 Dec 2024 17:20:00 -0700 Subject: [PATCH 4/4] Update packs/archivista-0.8.0/README.md Co-authored-by: Karl Cardenas <29551334+karl-cardenas-coding@users.noreply.github.com> --- packs/archivista-0.8.0/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packs/archivista-0.8.0/README.md b/packs/archivista-0.8.0/README.md index 11eba840..c5d890cf 100644 --- a/packs/archivista-0.8.0/README.md +++ b/packs/archivista-0.8.0/README.md @@ -44,7 +44,7 @@ to establish connections to each datastore. These environment variables can be a | tolerations | list | `[]` | ## Usage -Please refer to [Archivista Github](https://github.com/in-toto/archivista/blob/main/README.md) for further information. +You can find additional guidance in the [Archivista Github](https://github.com/in-toto/archivista/blob/main/README.md) README. ## References