Skip to content

Commit 51b9363

Browse files
authored
verify pod on chart testing (#286)
* verify pod on chart testing * fix cves
1 parent e8bbb33 commit 51b9363

File tree

5 files changed

+143
-31
lines changed

5 files changed

+143
-31
lines changed

.github/workflows/chart-test.yml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,31 @@ jobs:
148148
run: ct install --debug --config ct.yaml --print-config --charts ${{ needs.lint-test.outputs.chart_name }}
149149
if: ${{ needs.lint-test.outputs.changed == 'true' }}
150150

151+
- name: Verify Pod Status
152+
if: ${{ needs.lint-test.outputs.changed == 'true' }}
153+
run: |
154+
echo "Waiting for pods to be ready..."
155+
kubectl wait --for=condition=Ready pods --all -n chart-testing --timeout=300s
156+
157+
echo "Checking pod status..."
158+
if [[ $(kubectl get pods -n chart-testing -o jsonpath='{.items[*].status.phase}' | tr ' ' '\n' | grep -v "Running" | wc -l) -ne 0 ]]; then
159+
echo "Some pods are not running:"
160+
kubectl get pods -n chart-testing
161+
kubectl describe pods -n chart-testing
162+
exit 1
163+
fi
164+
165+
echo "Checking for pod restarts..."
166+
if [[ $(kubectl get pods -n chart-testing -o jsonpath='{.items[*].status.containerStatuses[*].restartCount}' | tr ' ' '\n' | grep -v "^0$" | wc -l) -ne 0 ]]; then
167+
echo "Some pods have restarted:"
168+
kubectl get pods -n chart-testing
169+
kubectl describe pods -n chart-testing
170+
exit 1
171+
fi
172+
173+
echo "All pods are running properly!"
174+
kubectl get pods -n chart-testing
175+
151176
- name: Setup tmate session
152177
uses: mxschmitt/action-tmate@v3
153178
timeout-minutes: 10
@@ -198,6 +223,31 @@ jobs:
198223
run: ct install --debug --config ct.yaml --print-config --charts ${{ needs.lint-test.outputs.chart_name }}
199224
if: ${{ needs.lint-test.outputs.changed == 'true' }}
200225

226+
- name: Verify Pod Status
227+
if: ${{ needs.lint-test.outputs.changed == 'true' }}
228+
run: |
229+
echo "Waiting for pods to be ready..."
230+
kubectl wait --for=condition=Ready pods --all -n chart-testing --timeout=300s
231+
232+
echo "Checking pod status..."
233+
if [[ $(kubectl get pods -n chart-testing -o jsonpath='{.items[*].status.phase}' | tr ' ' '\n' | grep -v "Running" | wc -l) -ne 0 ]]; then
234+
echo "Some pods are not running:"
235+
kubectl get pods -n chart-testing
236+
kubectl describe pods -n chart-testing
237+
exit 1
238+
fi
239+
240+
echo "Checking for pod restarts..."
241+
if [[ $(kubectl get pods -n chart-testing -o jsonpath='{.items[*].status.containerStatuses[*].restartCount}' | tr ' ' '\n' | grep -v "^0$" | wc -l) -ne 0 ]]; then
242+
echo "Some pods have restarted:"
243+
kubectl get pods -n chart-testing
244+
kubectl describe pods -n chart-testing
245+
exit 1
246+
fi
247+
248+
echo "All pods are running properly!"
249+
kubectl get pods -n chart-testing
250+
201251
- name: Setup tmate session
202252
uses: mxschmitt/action-tmate@v3
203253
timeout-minutes: 10
@@ -248,6 +298,31 @@ jobs:
248298
run: ct install --debug --config ct.yaml --print-config --charts ${{ needs.lint-test.outputs.chart_name }}
249299
if: ${{ needs.lint-test.outputs.changed == 'true' }}
250300

301+
- name: Verify Pod Status
302+
if: ${{ needs.lint-test.outputs.changed == 'true' }}
303+
run: |
304+
echo "Waiting for pods to be ready..."
305+
kubectl wait --for=condition=Ready pods --all -n chart-testing --timeout=300s
306+
307+
echo "Checking pod status..."
308+
if [[ $(kubectl get pods -n chart-testing -o jsonpath='{.items[*].status.phase}' | tr ' ' '\n' | grep -v "Running" | wc -l) -ne 0 ]]; then
309+
echo "Some pods are not running:"
310+
kubectl get pods -n chart-testing
311+
kubectl describe pods -n chart-testing
312+
exit 1
313+
fi
314+
315+
echo "Checking for pod restarts..."
316+
if [[ $(kubectl get pods -n chart-testing -o jsonpath='{.items[*].status.containerStatuses[*].restartCount}' | tr ' ' '\n' | grep -v "^0$" | wc -l) -ne 0 ]]; then
317+
echo "Some pods have restarted:"
318+
kubectl get pods -n chart-testing
319+
kubectl describe pods -n chart-testing
320+
exit 1
321+
fi
322+
323+
echo "All pods are running properly!"
324+
kubectl get pods -n chart-testing
325+
251326
- name: Setup tmate session
252327
uses: mxschmitt/action-tmate@v3
253328
timeout-minutes: 10
@@ -298,6 +373,31 @@ jobs:
298373
run: ct install --debug --config ct.yaml --print-config --charts ${{ needs.lint-test.outputs.chart_name }}
299374
if: ${{ needs.lint-test.outputs.changed == 'true' }}
300375

376+
- name: Verify Pod Status
377+
if: ${{ needs.lint-test.outputs.changed == 'true' }}
378+
run: |
379+
echo "Waiting for pods to be ready..."
380+
kubectl wait --for=condition=Ready pods --all -n chart-testing --timeout=300s
381+
382+
echo "Checking pod status..."
383+
if [[ $(kubectl get pods -n chart-testing -o jsonpath='{.items[*].status.phase}' | tr ' ' '\n' | grep -v "Running" | wc -l) -ne 0 ]]; then
384+
echo "Some pods are not running:"
385+
kubectl get pods -n chart-testing
386+
kubectl describe pods -n chart-testing
387+
exit 1
388+
fi
389+
390+
echo "Checking for pod restarts..."
391+
if [[ $(kubectl get pods -n chart-testing -o jsonpath='{.items[*].status.containerStatuses[*].restartCount}' | tr ' ' '\n' | grep -v "^0$" | wc -l) -ne 0 ]]; then
392+
echo "Some pods have restarted:"
393+
kubectl get pods -n chart-testing
394+
kubectl describe pods -n chart-testing
395+
exit 1
396+
fi
397+
398+
echo "All pods are running properly!"
399+
kubectl get pods -n chart-testing
400+
301401
- name: Setup tmate session
302402
uses: mxschmitt/action-tmate@v3
303403
timeout-minutes: 10

ct.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ target-branch: main
3030
charts:
3131
- charts/pulsar-resources-operator
3232

33+
# 添加固定的命名配置
34+
namespace: chart-testing
35+
release-label: app.kubernetes.io/instance
36+
release-name: pulsar-resources-operator
37+
3338
# Additional commands to run per chart.
3439
# Commands will be executed in the same order as provided in the list and will
3540
# be rendered with go template before being executed.

go.mod

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ require (
2222
)
2323

2424
require (
25-
cloud.google.com/go/compute/metadata v0.3.0 // indirect
26-
cloud.google.com/go/iam v1.1.1 // indirect
2725
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
2826
github.com/99designs/keyring v1.2.1 // indirect
2927
github.com/NYTimes/gziphandler v1.1.1 // indirect
@@ -86,7 +84,7 @@ require (
8684
go.etcd.io/etcd/api/v3 v3.5.9 // indirect
8785
go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect
8886
go.etcd.io/etcd/client/v3 v3.5.9 // indirect
89-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 // indirect
87+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 // indirect
9088
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
9189
go.opentelemetry.io/otel v1.27.0 // indirect
9290
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0 // indirect
@@ -98,7 +96,7 @@ require (
9896
go.uber.org/multierr v1.11.0 // indirect
9997
golang.org/x/crypto v0.31.0 // indirect
10098
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect
101-
golang.org/x/net v0.32.0 // indirect
99+
golang.org/x/net v0.33.0 // indirect
102100
golang.org/x/sync v0.10.0 // indirect
103101
golang.org/x/sys v0.28.0 // indirect
104102
golang.org/x/term v0.27.0 // indirect
@@ -129,18 +127,19 @@ replace (
129127
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace => github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.19.1
130128
github.com/streamnative/kube-instrumentation => github.com/streamnative/kube-instrumentation v0.3.2
131129
go.opentelemetry.io/contrib/detectors/gcp => go.opentelemetry.io/contrib/detectors/gcp v1.19.0
130+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0
132131
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp => go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0
133132
go.opentelemetry.io/contrib/propagators/aws => go.opentelemetry.io/contrib/propagators/aws v1.19.0
134-
go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.19.0
133+
go.opentelemetry.io/otel => go.opentelemetry.io/otel v1.21.0
135134
go.opentelemetry.io/otel/exporters/otlp/otlptrace => go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0
136135
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc => go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0
137136
go.opentelemetry.io/otel/exporters/stdout => go.opentelemetry.io/otel/exporters/stdout v0.19.0
138137
go.opentelemetry.io/otel/exporters/stdout/stdouttrace => go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0
139-
go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.19.0
140-
go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.19.0
141-
go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v1.19.0
142-
go.opentelemetry.io/otel/sdk/trace => go.opentelemetry.io/otel/sdk/trace v1.19.0
143-
go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.19.0
138+
go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v1.21.0
139+
go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v1.21.0
140+
go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v1.21.0
141+
go.opentelemetry.io/otel/sdk/trace => go.opentelemetry.io/otel/sdk/trace v1.21.0
142+
go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.21.0
144143
)
145144

146145
// Pulsar Operator

go.sum

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY=
12
cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc=
23
cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
34
cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y=
@@ -70,8 +71,8 @@ github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA
7071
github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU=
7172
github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU=
7273
github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
73-
github.com/envoyproxy/protoc-gen-validate v0.10.1 h1:c0g45+xCJhdgFGw7a5QAfdS4byAbud7miNWJ1WwEVf8=
74-
github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
74+
github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA=
75+
github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE=
7576
github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI=
7677
github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
7778
github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg=
@@ -338,22 +339,22 @@ go.etcd.io/etcd/server/v3 v3.5.9 h1:vomEmmxeztLtS5OEH7d0hBAg4cjVIu9wXuNzUZx2ZA0=
338339
go.etcd.io/etcd/server/v3 v3.5.9/go.mod h1:GgI1fQClQCFIzuVjlvdbMxNbnISt90gdfYyqiAIt65g=
339340
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
340341
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
341-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 h1:xFSRQBbXF6VvYRf2lqMJXxoB72XI1K/azav8TekHHSw=
342-
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0/go.mod h1:h8TWwRAhQpOd0aM5nYsRD8+flnkj+526GEIVlarH7eY=
342+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0 h1:PzIubN4/sjByhDRHLviCjJuweBXWFZWhghjg7cS28+M=
343+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.0/go.mod h1:Ct6zzQEuGK3WpJs2n4dn+wfJYzd/+hNnxMRTWjGn30M=
343344
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 h1:KfYpVmrjI7JuToy5k8XV3nkapjWx48k4E4JOtVstzQI=
344345
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0/go.mod h1:SeQhzAEccGVZVEy7aH87Nh0km+utSpo1pTv6eMMop48=
345-
go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
346-
go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
346+
go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc=
347+
go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo=
347348
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U=
348349
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE=
349350
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 h1:3d+S281UTjM+AbF31XSOYn1qXn3BgIdWl8HNEpx08Jk=
350351
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I=
351-
go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
352-
go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
353-
go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o=
354-
go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A=
355-
go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
356-
go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
352+
go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4=
353+
go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM=
354+
go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8=
355+
go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E=
356+
go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc=
357+
go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
357358
go.opentelemetry.io/proto/otlp v1.2.0 h1:pVeZGk7nXDC9O2hncA6nHldxEjm6LByfA2aN8IOkz94=
358359
go.opentelemetry.io/proto/otlp v1.2.0/go.mod h1:gGpR8txAl5M03pDhMC79G6SdqNV26naRm/KDsgaHD8A=
359360
go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY=
@@ -384,8 +385,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
384385
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
385386
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
386387
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
387-
golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI=
388-
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
388+
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
389+
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
389390
golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
390391
golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
391392
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=

0 commit comments

Comments
 (0)