From 5650201d7dbaec98402941bf827760bf91847737 Mon Sep 17 00:00:00 2001 From: alessandroargentieri Date: Tue, 8 Sep 2026 11:56:28 +0200 Subject: [PATCH 1/2] fix(kubernetes): stop scoping marketplace app list to the target region ListDefaultApps/CheckAPPName call the global /v2/kubernetes/applications catalogue, but civogo's sendRequest tacks the client's Region onto every GET as a query param. Since #582 removed the hardcoded nyc1 override, the call now sends the user's real --region, which 404s with database_region_not_found for any region the marketplace backend doesn't know about (e.g. jkt1) -- aborting `civo kubernetes create` before the cluster is ever requested, even though the region itself is valid for cluster creation. Clear the region explicitly for this catalogue call instead of relying on whatever region the client happens to be configured with. Co-Authored-By: Claude Sonnet 5 --- utility/check.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/utility/check.go b/utility/check.go index ac57a587..c68ba70a 100644 --- a/utility/check.go +++ b/utility/check.go @@ -79,6 +79,10 @@ func CheckAPPName(appName string) bool { if err != nil { return false } + // The marketplace catalogue isn't region-scoped; sending the user's + // region can 404 with database_region_not_found for regions the + // marketplace backend doesn't know about. + client.Region = "" allAPP, err := client.ListKubernetesMarketplaceApplications() if err != nil { @@ -100,6 +104,10 @@ func ListDefaultApps() ([]string, error) { if err != nil { return nil, err } + // The marketplace catalogue isn't region-scoped; sending the user's + // region can 404 with database_region_not_found for regions the + // marketplace backend doesn't know about. + client.Region = "" allApps, err := client.ListKubernetesMarketplaceApplications() if err != nil { From d87308b6b419c1d36e789707cb890c12a851add1 Mon Sep 17 00:00:00 2001 From: alessandroargentieri Date: Tue, 8 Sep 2026 14:16:50 +0200 Subject: [PATCH 2/2] fix: bump go toolchain and x/image to clear govulncheck findings toolchain go1.26.6 resolves the crypto/tls, net/url, net/http/idna, and encoding/asn1 stdlib CVEs; golang.org/x/image v0.45.0 resolves the vp8l/webp/tiff decoding CVEs. --- go.mod | 8 +++++--- go.sum | 12 ++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index af6de171..f351fbf5 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,7 @@ go 1.26.4 +toolchain go1.26.6 + module github.com/civo/cli require ( @@ -61,10 +63,10 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/image v0.41.0 // indirect + golang.org/x/image v0.45.0 // indirect golang.org/x/net v0.55.0 // indirect - golang.org/x/sys v0.45.0 // indirect - golang.org/x/text v0.37.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/text v0.41.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect k8s.io/api v0.34.2 // indirect k8s.io/apimachinery v0.34.2 // indirect diff --git a/go.sum b/go.sum index 39cb0ac9..fcdd1b69 100644 --- a/go.sum +++ b/go.sum @@ -208,8 +208,8 @@ golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988= golang.org/x/crypto v0.52.0/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20191206065243-da761ea9ff43/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.41.0 h1:8wS72eGJMJaBxK6okTzd4WaXumUlTVlb753MlsSvTCo= -golang.org/x/image v0.41.0/go.mod h1:uIc348UZMSvS5Z65CVZ7iDPaNobNFEPeJ4kbqTOszmA= +golang.org/x/image v0.45.0 h1:FMb1nTbH5H9vF55SriQHgFw5GnNL9Jg6L25BwXKzhB0= +golang.org/x/image v0.45.0/go.mod h1:n62x/7RqlwXDvGsSU4u6IUTUf6KghUZ9Bt7cG/T9Fx4= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -231,15 +231,15 @@ golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= -golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= -golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= +golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8= +golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=