Skip to content

Commit 8a8253d

Browse files
committed
Publish addons, demos, and system
Signed-off-by: Dhi Aurrahman <[email protected]>
1 parent 4c3f72e commit 8a8253d

File tree

5 files changed

+293
-14
lines changed

5 files changed

+293
-14
lines changed

.github/workflows/release.yaml

+5-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ jobs:
3434
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
3535
passphrase: ${{ secrets.GPG_PASSPHRASE }}
3636
- uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
37-
- run: mage packistio
37+
- run: |
38+
mage packistio
39+
mage packaddons
40+
mage packdemos
41+
mage packsystem
3842
env:
3943
GH_TOKEN: ${{ secrets.GH_TOKEN }}
4044
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22

33
/dist
44
/gh-pages
5+
6+
*.tgz

go.mod

+34-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,37 @@ module github.com/tetratelabs/helm-charts
22

33
go 1.21.6
44

5-
require github.com/dio/sh v0.0.0-20231103061956-bba8896f8c6a
5+
require (
6+
github.com/dio/sh v0.0.0-20231103061956-bba8896f8c6a
7+
helm.sh/helm/v3 v3.14.0
8+
)
9+
10+
require (
11+
github.com/Masterminds/semver/v3 v3.2.1 // indirect
12+
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
13+
github.com/go-logr/logr v1.3.0 // indirect
14+
github.com/gogo/protobuf v1.3.2 // indirect
15+
github.com/google/gofuzz v1.2.0 // indirect
16+
github.com/json-iterator/go v1.1.12 // indirect
17+
github.com/mitchellh/copystructure v1.2.0 // indirect
18+
github.com/mitchellh/reflectwalk v1.0.2 // indirect
19+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
20+
github.com/modern-go/reflect2 v1.0.2 // indirect
21+
github.com/pkg/errors v0.9.1 // indirect
22+
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
23+
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
24+
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
25+
golang.org/x/net v0.17.0 // indirect
26+
golang.org/x/text v0.14.0 // indirect
27+
gopkg.in/inf.v0 v0.9.1 // indirect
28+
gopkg.in/yaml.v2 v2.4.0 // indirect
29+
k8s.io/api v0.29.0 // indirect
30+
k8s.io/apiextensions-apiserver v0.29.0 // indirect
31+
k8s.io/apimachinery v0.29.0 // indirect
32+
k8s.io/client-go v0.29.0 // indirect
33+
k8s.io/klog/v2 v2.110.1 // indirect
34+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
35+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
36+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
37+
sigs.k8s.io/yaml v1.3.0 // indirect
38+
)

go.sum

+114
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,116 @@
1+
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
2+
github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
3+
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
4+
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
5+
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
6+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
7+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
18
github.com/dio/sh v0.0.0-20231103061956-bba8896f8c6a h1:orsTuywt3s7USSRIMqEAfn7muPlJ/IHxvI9lfqLJ9X8=
29
github.com/dio/sh v0.0.0-20231103061956-bba8896f8c6a/go.mod h1:9qbav4SIwj+iR/rkgxYQYmFfpco4pADdBUrkszbVaRs=
10+
github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
11+
github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
12+
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
13+
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
14+
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
15+
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
16+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
17+
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
18+
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
19+
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
20+
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
21+
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
22+
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
23+
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
24+
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
25+
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
26+
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
27+
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
28+
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
29+
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
30+
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
31+
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
32+
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
33+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
34+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
35+
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
36+
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
37+
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
38+
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
39+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
40+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
41+
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
42+
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
43+
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
44+
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
45+
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
46+
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
47+
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
48+
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
49+
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
50+
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo=
51+
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
52+
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=
53+
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
54+
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
55+
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
56+
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
57+
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
58+
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
59+
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
60+
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
61+
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
62+
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
63+
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
64+
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
65+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
66+
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
67+
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
68+
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
69+
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
70+
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
71+
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
72+
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
73+
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
74+
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
75+
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
76+
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
77+
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
78+
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
79+
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
80+
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
81+
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
82+
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
83+
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
84+
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
85+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
86+
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
87+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
88+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
89+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
90+
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
91+
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
92+
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
93+
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
94+
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
95+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
96+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
97+
helm.sh/helm/v3 v3.14.0 h1:TaZIH6uOchn7L27ptwnnuHJiFrT/BsD4dFdp/HLT2nM=
98+
helm.sh/helm/v3 v3.14.0/go.mod h1:2itvvDv2WSZXTllknfQo6j7u3VVgMAvm8POCDgYH424=
99+
k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A=
100+
k8s.io/api v0.29.0/go.mod h1:sdVmXoz2Bo/cb77Pxi71IPTSErEW32xa4aXwKH7gfBA=
101+
k8s.io/apiextensions-apiserver v0.29.0 h1:0VuspFG7Hj+SxyF/Z/2T0uFbI5gb5LRgEyUVE3Q4lV0=
102+
k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc=
103+
k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o=
104+
k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis=
105+
k8s.io/client-go v0.29.0 h1:KmlDtFcrdUzOYrBhXHgKw5ycWzc3ryPX5mQe0SkG3y8=
106+
k8s.io/client-go v0.29.0/go.mod h1:yLkXH4HKMAywcrD82KMSmfYg2DlE8mepPR4JGSo5n38=
107+
k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0=
108+
k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo=
109+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
110+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
111+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
112+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
113+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
114+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
115+
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
116+
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=

magefile.go

+138-12
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,94 @@ import (
1010
"strings"
1111

1212
"github.com/dio/sh"
13+
"helm.sh/helm/v3/pkg/chart"
14+
"helm.sh/helm/v3/pkg/chartutil"
1315
)
1416

1517
var FORCED = len(os.Getenv("FORCED")) > 0
1618
var GH_TOKEN = os.Getenv("GH_TOKEN")
1719
var GPG_PASSPHRASE = os.Getenv("GPG_PASSPHRASE")
1820
var GPG_TRUSTEE = "[email protected]"
21+
var ENV_MAP = map[string]string{
22+
"GH_TOKEN": GH_TOKEN,
23+
"TZ": "UTC",
24+
}
1925

2026
// PackIstio packs a versioned Istio Helm chart, for example: 1.16.6-tetrate-v0.
2127
func PackIstio(ctx context.Context) error {
28+
// Export keyring.
29+
ring, pass, err := exportSecretKey(ctx)
30+
if err != nil {
31+
return err
32+
}
33+
2234
dir := filepath.Join("charts", "istio")
2335
versions, err := os.ReadDir(dir)
2436
if err != nil {
2537
return err
2638
}
2739
for _, version := range versions {
28-
if err := packVersioned(ctx, version.Name()); err != nil {
40+
if err := packVersionedIstio(ctx, version.Name(), ring, pass); err != nil {
41+
return err
42+
}
43+
}
44+
return nil
45+
}
46+
47+
func PackAddons(ctx context.Context) error {
48+
// Export keyring.
49+
ring, pass, err := exportSecretKey(ctx)
50+
if err != nil {
51+
return err
52+
}
53+
54+
dir := filepath.Join("charts", "addons")
55+
entries, err := os.ReadDir(dir)
56+
if err != nil {
57+
return err
58+
}
59+
for _, entry := range entries {
60+
if err := packChart(ctx, dir, entry.Name(), ring, pass); err != nil {
61+
return err
62+
}
63+
}
64+
return nil
65+
}
66+
67+
func PackDemos(ctx context.Context) error {
68+
// Export keyring.
69+
ring, pass, err := exportSecretKey(ctx)
70+
if err != nil {
71+
return err
72+
}
73+
74+
dir := filepath.Join("charts", "demos")
75+
entries, err := os.ReadDir(dir)
76+
if err != nil {
77+
return err
78+
}
79+
for _, entry := range entries {
80+
if err := packChart(ctx, dir, entry.Name(), ring, pass); err != nil {
81+
return err
82+
}
83+
}
84+
return nil
85+
}
86+
87+
func PackSystem(ctx context.Context) error {
88+
// Export keyring.
89+
ring, pass, err := exportSecretKey(ctx)
90+
if err != nil {
91+
return err
92+
}
93+
94+
dir := filepath.Join("charts", "system")
95+
entries, err := os.ReadDir(dir)
96+
if err != nil {
97+
return err
98+
}
99+
for _, entry := range entries {
100+
if err := packChart(ctx, dir, entry.Name(), ring, pass); err != nil {
29101
return err
30102
}
31103
}
@@ -51,32 +123,70 @@ func Index(ctx context.Context, url string) error {
51123
if _, err := os.Stat(publishedIndexYAML); err == nil {
52124
args = append(args, "--merge", publishedIndexYAML)
53125
}
54-
if err := sh.Run(ctx, "helm", args...); err != nil {
126+
if err := sh.RunWithV(ctx, ENV_MAP, "helm", args...); err != nil {
55127
return err
56128
}
57129
b, err := os.ReadFile(indexYAML)
58130
if err != nil {
59131
return err
60132
}
61-
sanitized := strings.ReplaceAll(string(b), "istio-/", "istio-")
133+
134+
// TODO(dio): Remove this hack. We should call the modified "helm repo index" function.
135+
sanitized := strings.ReplaceAll(string(b), "download/1.", "download/istio-1.")
136+
_ = os.MkdirAll("gh-pages", os.ModePerm)
62137
return os.WriteFile(publishedIndexYAML, []byte(sanitized), os.ModePerm)
63138
}
64139

65-
func packVersioned(ctx context.Context, version string) error {
66-
// Export keyring.
67-
ring, pass, err := exportSecretKey(ctx)
140+
func packChart(ctx context.Context, dir, name, ring, pass string) error {
141+
charts, err := chartYAMLs(dir, "Chart.yaml", "*/Chart.yaml", "*/*/Chart.yaml", "*/*/*/Chart.yaml", "*/*/*/*/Chart.yaml")
68142
if err != nil {
69143
return err
70144
}
145+
for _, chart := range charts {
146+
metadata, err := chartutil.LoadChartfile(filepath.Join(chart))
147+
if err != nil {
148+
return err
149+
}
150+
151+
if err := resolveDeps(ctx, filepath.Dir(chart), metadata); err != nil {
152+
return err
153+
}
154+
155+
tag := metadata.Name + "-" + metadata.Version
156+
157+
// If already published, skip it unless FORCED.
158+
err = sh.RunWithV(ctx, ENV_MAP, "gh", "release", "view", tag, "-R", "tetratelabs/legacy-charts")
159+
released := err == nil
160+
if released && !FORCED {
161+
fmt.Printf("%s is already published\n", tag)
162+
return nil
163+
}
71164

72-
e := map[string]string{
73-
"GH_TOKEN": GH_TOKEN,
165+
dst := filepath.Join("dist", metadata.Name+"-"+metadata.Version)
166+
_ = os.MkdirAll(dst, os.ModePerm)
167+
168+
if err := sh.RunWithV(ctx,
169+
ENV_MAP,
170+
"helm",
171+
"package",
172+
filepath.Dir(chart),
173+
"--destination", dst,
174+
"--sign",
175+
"--keyring", ring,
176+
"--key", GPG_TRUSTEE,
177+
"--passphrase-file", pass,
178+
); err != nil {
179+
return err
180+
}
74181
}
182+
return nil
183+
}
75184

185+
func packVersionedIstio(ctx context.Context, version, ring, pass string) error {
76186
tag := "istio-" + version
77187

78188
// If already published, skip it unless FORCED.
79-
err = sh.RunWithV(ctx, e, "gh", "release", "view", tag, "-R", "tetratelabs/legacy-charts")
189+
err := sh.RunWithV(ctx, ENV_MAP, "gh", "release", "view", tag, "-R", "tetratelabs/legacy-charts")
80190
released := err == nil
81191
if released && !FORCED {
82192
fmt.Printf("%s is already published\n", tag)
@@ -92,7 +202,8 @@ func packVersioned(ctx context.Context, version string) error {
92202
return err
93203
}
94204
for _, chart := range charts {
95-
if err := sh.Run(ctx,
205+
if err := sh.RunWithV(ctx,
206+
ENV_MAP,
96207
"helm",
97208
"package",
98209
filepath.Dir(chart),
@@ -117,9 +228,9 @@ func packVersioned(ctx context.Context, version string) error {
117228
}
118229

119230
if released {
120-
return sh.RunWithV(ctx, e, "gh", append([]string{"release", "upload", tag, "--clobber", "-R", "tetratelabs/legacy-charts"}, files...)...)
231+
return sh.RunWithV(ctx, ENV_MAP, "gh", append([]string{"release", "upload", tag, "--clobber", "-R", "tetratelabs/legacy-charts"}, files...)...)
121232
}
122-
return sh.RunWithV(ctx, e, "gh", append([]string{"release", "create", tag, "-n", tag, "-t", tag, "-R", "tetratelabs/legacy-charts"}, files...)...)
233+
return sh.RunWithV(ctx, ENV_MAP, "gh", append([]string{"release", "create", tag, "-n", tag, "-t", tag, "-R", "tetratelabs/legacy-charts"}, files...)...)
123234
}
124235

125236
func chartYAMLs(build string, patterns ...string) ([]string, error) {
@@ -155,3 +266,18 @@ func exportSecretKey(ctx context.Context) (string, string, error) {
155266
"--passphrase", GPG_PASSPHRASE,
156267
"--export-secret-key", GPG_TRUSTEE)
157268
}
269+
270+
func resolveDeps(ctx context.Context, chart string, metadata *chart.Metadata) error {
271+
if len(metadata.Dependencies) == 0 {
272+
return nil
273+
}
274+
275+
for _, dep := range metadata.Dependencies {
276+
if err := sh.RunWithV(ctx, ENV_MAP, "helm", "repo", "add", dep.Name, dep.Repository, "--force-update"); err != nil {
277+
return err
278+
}
279+
}
280+
281+
// Run helm dependency build for that chart. This step also does fetching updates.
282+
return sh.RunWithV(ctx, ENV_MAP, "helm", "dependency", "build", chart)
283+
}

0 commit comments

Comments
 (0)