Skip to content

Commit 97995c0

Browse files
Merge pull request #1778 from CodesbyUnnati/fix-kapp-ctrl-cve
Fix kapp ctrl CVEs on develop branch
2 parents 1356f89 + c6ff528 commit 97995c0

File tree

266 files changed

+28088
-20223
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

266 files changed

+28088
-20223
lines changed

.github/workflows/golangci-lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ jobs:
2828
- name: golangci-lint
2929
uses: golangci/[email protected]
3030
with:
31-
version: v1.58.1
31+
version: v1.64
3232
args: -v

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM --platform=$BUILDPLATFORM golang:1.23.8 AS deps
1+
FROM --platform=$BUILDPLATFORM golang:1.24.10 AS deps
22

33
ARG TARGETOS TARGETARCH KCTRL_VER=development
44
WORKDIR /workspace

cli/go.mod

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
module carvel.dev/kapp-controller/cli
22

3-
go 1.23.8
3+
go 1.24.10
44

55
require (
6-
carvel.dev/kapp-controller v0.57.0
7-
carvel.dev/vendir v0.44.0
6+
carvel.dev/kapp-controller v0.59.0
7+
carvel.dev/vendir v0.45.0
88
github.com/cppforlife/cobrautil v0.0.0-20221130162803-acdfead391ef
99
github.com/cppforlife/color v1.9.1-0.20200716202919-6706ac40b835
1010
github.com/cppforlife/go-cli-ui v0.0.0-20220520125801-e45d9169a663
1111
github.com/getkin/kin-openapi v0.131.0
1212
github.com/google/gnostic-models v0.6.8
13-
github.com/google/go-containerregistry v0.20.3
13+
github.com/google/go-containerregistry v0.20.6
1414
github.com/k14s/difflib v0.0.0-20201117154628-0c031775bf57
1515
github.com/mitchellh/go-wordwrap v1.0.1
1616
github.com/otiai10/copy v1.2.0
@@ -36,15 +36,15 @@ require (
3636
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
3737
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
3838
github.com/fsnotify/fsnotify v1.7.0 // indirect
39-
github.com/go-logr/logr v1.4.2 // indirect
39+
github.com/go-logr/logr v1.4.3 // indirect
4040
github.com/go-logr/zapr v1.3.0 // indirect
4141
github.com/go-openapi/jsonpointer v0.21.0 // indirect
4242
github.com/go-openapi/jsonreference v0.20.2 // indirect
4343
github.com/go-openapi/swag v0.23.0 // indirect
4444
github.com/gogo/protobuf v1.3.2 // indirect
4545
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
4646
github.com/golang/protobuf v1.5.4 // indirect
47-
github.com/google/go-cmp v0.6.0 // indirect
47+
github.com/google/go-cmp v0.7.0 // indirect
4848
github.com/google/gofuzz v1.2.0 // indirect
4949
github.com/google/uuid v1.6.0 // indirect
5050
github.com/hashicorp/go-version v1.2.1 // indirect
@@ -74,13 +74,13 @@ require (
7474
github.com/vito/go-interact v1.0.1 // indirect
7575
go.uber.org/multierr v1.11.0 // indirect
7676
go.uber.org/zap v1.26.0 // indirect
77-
golang.org/x/crypto v0.36.0 // indirect
77+
golang.org/x/crypto v0.39.0 // indirect
7878
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
79-
golang.org/x/net v0.38.0 // indirect
80-
golang.org/x/oauth2 v0.25.0 // indirect
81-
golang.org/x/sys v0.32.0 // indirect
82-
golang.org/x/term v0.30.0 // indirect
83-
golang.org/x/text v0.23.0 // indirect
79+
golang.org/x/net v0.41.0 // indirect
80+
golang.org/x/oauth2 v0.30.0 // indirect
81+
golang.org/x/sys v0.33.0 // indirect
82+
golang.org/x/term v0.32.0 // indirect
83+
golang.org/x/text v0.26.0 // indirect
8484
golang.org/x/time v0.3.0 // indirect
8585
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
8686
google.golang.org/protobuf v1.36.4 // indirect

cli/go.sum

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
carvel.dev/kapp-controller v0.57.0 h1:rUnmE/Iry9gr5I5KxJ+P1tzj4kDPjRB1TI9Lf9PgTIs=
2-
carvel.dev/kapp-controller v0.57.0/go.mod h1:YMe5fTTKQfT6gGNfoPPF3tgoJn9BuIR5W6V/D9uBQgY=
3-
carvel.dev/vendir v0.44.0 h1:vfq5KgGbbLlxHrE0prY7gZgiEQpjwo4lS2akCaVkcxA=
4-
carvel.dev/vendir v0.44.0/go.mod h1:gslrJ0HPiy8gtJYsQZHzIVuGfOG0nfDKDupEm7uBWVQ=
1+
carvel.dev/kapp-controller v0.59.0 h1:Y2KUJbC1lYiWJk/56SKResvhVSDkoAuM1lagewZS8LE=
2+
carvel.dev/kapp-controller v0.59.0/go.mod h1:EHK86H6qYe0pBhA0QuW4lkO9KL3p0RseAZ81PR9LwNc=
3+
carvel.dev/vendir v0.45.0 h1:OWFKkn6Rfi2zPZKS/z68SeIYGrlSgKBXn4DYR178PGk=
4+
carvel.dev/vendir v0.45.0/go.mod h1:I3xaoQUBf20tQOjW2A0eXC1Hn94tYCL9VTmWHas4VKE=
55
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
66
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
77
github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4 h1:F4rZiMGZyC66j9VB7doVOE4tFHF1yNEihQlOuht4jmM=
@@ -33,8 +33,8 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos
3333
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
3434
github.com/getkin/kin-openapi v0.131.0 h1:NO2UeHnFKRYhZ8wg6Nyh5Cq7dHk4suQQr72a4pMrDxE=
3535
github.com/getkin/kin-openapi v0.131.0/go.mod h1:3OlG51PCYNsPByuiMB0t4fjnNlIDnaEDsjiKUV8nL58=
36-
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
37-
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
36+
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
37+
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
3838
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
3939
github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg=
4040
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
@@ -68,10 +68,10 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
6868
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
6969
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
7070
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
71-
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
72-
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
73-
github.com/google/go-containerregistry v0.20.3 h1:oNx7IdTI936V8CQRveCjaxOiegWwvM7kqkbXTpyiovI=
74-
github.com/google/go-containerregistry v0.20.3/go.mod h1:w00pIgBRDVUDFM6bq+Qx8lwNWK+cxgCuX1vd3PIBDNI=
71+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
72+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
73+
github.com/google/go-containerregistry v0.20.6 h1:cvWX87UxxLgaH76b4hIvya6Dzz9qHB31qAwjAohdSTU=
74+
github.com/google/go-containerregistry v0.20.6/go.mod h1:T0x8MuoAoKX/873bkeSfLD2FAkwCDf9/HZgsFJ02E2Y=
7575
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
7676
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
7777
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -199,8 +199,8 @@ go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
199199
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
200200
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
201201
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
202-
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
203-
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
202+
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
203+
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
204204
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA=
205205
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA=
206206
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -211,10 +211,10 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
211211
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
212212
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
213213
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
214-
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
215-
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
216-
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
217-
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
214+
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
215+
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
216+
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
217+
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
218218
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
219219
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
220220
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -232,24 +232,24 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w
232232
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
233233
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
234234
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
235-
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
236-
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
235+
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
236+
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
237237
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
238-
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
239-
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
238+
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
239+
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
240240
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
241241
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
242242
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
243-
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
244-
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
243+
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
244+
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
245245
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
246246
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
247247
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
248248
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
249249
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
250250
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
251-
golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE=
252-
golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588=
251+
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
252+
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
253253
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
254254
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
255255
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

cli/pkg/kctrl/cmd/app/app_tailer.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ func (d *AppStatusDiff) PrintUpdate() (bool, string, error) {
194194
msg := "Fetch failed"
195195
errLog := d.new.Fetch.Stderr + "\n" + d.new.Fetch.Error
196196
d.statusUI.PrintLogLine(msg, errLog, true, d.new.Fetch.UpdatedAt.Time)
197-
return true, d.lastSeenDeployStdout, fmt.Errorf(msg)
197+
return true, d.lastSeenDeployStdout, fmt.Errorf("%s", msg)
198198
}
199199
d.statusUI.PrintLogLine("Fetching", d.new.Fetch.Stdout, false, d.new.Fetch.UpdatedAt.Time)
200200
d.statusUI.PrintLogLine("Fetch succeeded", "", false, d.new.Fetch.UpdatedAt.Time)
@@ -206,7 +206,7 @@ func (d *AppStatusDiff) PrintUpdate() (bool, string, error) {
206206
msg := "Template failed"
207207
errLog := d.new.Template.Stderr + "\n" + d.new.Template.Error
208208
d.statusUI.PrintLogLine(msg, errLog, true, d.new.Template.UpdatedAt.Time)
209-
return true, d.lastSeenDeployStdout, fmt.Errorf(msg)
209+
return true, d.lastSeenDeployStdout, fmt.Errorf("%s", msg)
210210
}
211211
d.statusUI.PrintLogLine("Template succeeded", "", false, d.new.Template.UpdatedAt.Time)
212212
}
@@ -226,7 +226,7 @@ func (d *AppStatusDiff) PrintUpdate() (bool, string, error) {
226226
msg := fmt.Sprintf("%s failed", ongoingOp)
227227
errLog := d.new.Deploy.Stderr + "\n" + d.new.Deploy.Error
228228
d.statusUI.PrintLogLine(msg, errLog, true, d.new.Deploy.UpdatedAt.Time)
229-
return true, d.lastSeenDeployStdout, fmt.Errorf(msg)
229+
return true, d.lastSeenDeployStdout, fmt.Errorf("%s", msg)
230230
}
231231
d.printDeployStdout(d.new.Deploy.Stdout, d.new.Deploy.UpdatedAt.Time, isDeleting)
232232
}
@@ -239,7 +239,7 @@ func (d *AppStatusDiff) PrintUpdate() (bool, string, error) {
239239
failed, errMsg := HasFailed(d.new)
240240
if failed {
241241
d.statusUI.PrintLogLine(errMsg, "", true, time.Now())
242-
return true, d.lastSeenDeployStdout, fmt.Errorf(errMsg)
242+
return true, d.lastSeenDeployStdout, fmt.Errorf("%s", errMsg)
243243
}
244244
return false, d.lastSeenDeployStdout, nil
245245
}

cli/pkg/kctrl/cmd/core/authoring_ui.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ func (uiImpl AuthoringUIImpl) PrintActionableText(text string) {
5959

6060
func (uiImpl AuthoringUIImpl) AskForText(textOpts ui.TextOpts) (string, error) {
6161
col := color.New(color.Bold)
62-
textOpts.Label = fmt.Sprintf(col.Sprint("> ")) + textOpts.Label
62+
textOpts.Label = col.Sprint("> ") + textOpts.Label
6363
return uiImpl.ui.AskForText(textOpts)
6464
}
6565

6666
func (uiImpl AuthoringUIImpl) AskForChoice(choiceOpts ui.ChoiceOpts) (int, error) {
6767
col := color.New(color.Bold)
68-
choiceOpts.Label = fmt.Sprintf(col.Sprint("> ")) + choiceOpts.Label
68+
choiceOpts.Label = (col.Sprint("> ")) + choiceOpts.Label
6969
return uiImpl.ui.AskForChoice(choiceOpts)
7070
}
7171

@@ -74,5 +74,5 @@ func (uiImpl AuthoringUIImpl) PrintHeaderText(text string) {
7474
}
7575

7676
func (uiImpl AuthoringUIImpl) PrintHeaderWithContextText(text string, context string) {
77-
uiImpl.ui.BeginLinef("%s: %s\n", color.New(color.Bold).Sprintf(text), context)
77+
uiImpl.ui.BeginLinef("%s: %s\n", color.New(color.Bold).Sprintf("%s", text), context)
7878
}

cli/pkg/kctrl/cmd/package/available/values_schema.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func (parser *PackageValuesSchemaParser) walkOnValueSchemaProperties(docMap map[
9292
default:
9393
errMsg := fmt.Sprintf("unable to parse the value schema, the value of key named 'properties' has unsupported"+
9494
" type %v. Expected types are: [map[string]interface{}, json.RawMessage] (hint: the valuesSchema might not have any properties)", t)
95-
return fmt.Errorf(errMsg)
95+
return fmt.Errorf("%s", errMsg)
9696
}
9797

9898
// Base case two: if current level does have properties field but that interface is an empty map, we do not need to

cli/vendor/carvel.dev/kapp-controller/pkg/app/crd_app.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,18 @@ func (a *CRDApp) updateStatusOnce() error {
100100
func (a *CRDApp) updateApp(updateFunc func(*kcv1alpha1.App)) error {
101101
a.log.Info("Updating app")
102102

103+
var lastErr error
104+
for i := 0; i < 5; i++ {
105+
lastErr = a.updateAppOnce(updateFunc)
106+
if lastErr == nil {
107+
return nil
108+
}
109+
}
110+
111+
return lastErr
112+
}
113+
114+
func (a *CRDApp) updateAppOnce(updateFunc func(*kcv1alpha1.App)) error {
103115
existingApp, err := a.appClient.KappctrlV1alpha1().Apps(a.appModel.Namespace).Get(context.Background(), a.appModel.Name, metav1.GetOptions{})
104116
if err != nil {
105117
return fmt.Errorf("Updating app: %s", err)

0 commit comments

Comments
 (0)