diff --git a/.image.env b/.image.env
index 7312f84861..8b3590941d 100644
--- a/.image.env
+++ b/.image.env
@@ -1,8 +1,8 @@
# Generated file, do not modify. This file is generated from a text file containing a list of images. The
# most recent tag is interpolated from the source repository and used to generate a fully qualified image
# name.
-MINIO_TAG='0.20241013.133411-r0'
-RQLITE_TAG='8.32.4-r0'
+MINIO_TAG='0.20241029.160148-r0'
+RQLITE_TAG='8.32.5-r0'
DEX_TAG='2.41.1-r1'
SCHEMAHERO_TAG='0.17.10'
LVP_TAG='v0.6.7'
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 0d3c945ccc..d73c8b4f93 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
include Makefile.build.mk
CURRENT_USER := $(shell id -u -n)
-MINIO_TAG ?= 0.20241013.133411-r0
-RQLITE_TAG ?= 8.32.4-r0
+MINIO_TAG ?= 0.20241029.160148-r0
+RQLITE_TAG ?= 8.32.5-r0
DEX_TAG ?= 2.41.1-r1
LVP_TAG ?= v0.6.7
PACT_PUBLISH_CONTRACT ?= false
diff --git a/go.mod b/go.mod
index 30e8087cd7..b2c2f1e007 100644
--- a/go.mod
+++ b/go.mod
@@ -20,7 +20,7 @@ require (
github.com/distribution/reference v0.6.0
github.com/docker/go-units v0.5.0
github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46
- github.com/fatih/color v1.17.0
+ github.com/fatih/color v1.18.0
github.com/ghodss/yaml v1.0.0
github.com/go-git/go-git/v5 v5.12.0
github.com/go-logfmt/logfmt v0.6.0
@@ -52,7 +52,7 @@ require (
github.com/replicatedhq/embedded-cluster/kinds v1.15.0
github.com/replicatedhq/kotskinds v0.0.0-20240718194123-1018dd404e95
github.com/replicatedhq/kurlkinds v1.5.0
- github.com/replicatedhq/troubleshoot v0.107.4
+ github.com/replicatedhq/troubleshoot v0.107.5
github.com/replicatedhq/yaml/v3 v3.0.0-beta5-replicatedhq
github.com/robfig/cron v1.2.0
github.com/robfig/cron/v3 v3.0.1
@@ -380,7 +380,7 @@ require (
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
- k8s.io/apiextensions-apiserver v0.31.1 // indirect
+ k8s.io/apiextensions-apiserver v0.31.2 // indirect
k8s.io/apiserver v0.31.2 // indirect
k8s.io/component-base v0.31.2 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
diff --git a/go.sum b/go.sum
index 84d0f8e3db..efe35ac5c5 100644
--- a/go.sum
+++ b/go.sum
@@ -542,8 +542,8 @@ github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwC
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
-github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
+github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
+github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
@@ -1350,8 +1350,8 @@ github.com/replicatedhq/kurlkinds v1.5.0 h1:zZ0PKNeh4kXvSzVGkn62DKTo314GxhXg1TSB
github.com/replicatedhq/kurlkinds v1.5.0/go.mod h1:rUpBMdC81IhmJNCWMU/uRsMETv9P0xFoMvdSP/TAr5A=
github.com/replicatedhq/termui/v3 v3.1.1-0.20200811145416-f40076d26851 h1:eRlNDHxGfVkPCRXbA4BfQJvt5DHjFiTtWy3R/t4djyY=
github.com/replicatedhq/termui/v3 v3.1.1-0.20200811145416-f40076d26851/go.mod h1:JDxG6+uubnk9/BZ2yUsyAJJwlptjrnmB2MPF5d2Xe/8=
-github.com/replicatedhq/troubleshoot v0.107.4 h1:w6sHGU/Xq5Or7tVNTfMaGZTrqDp2IR7YEWEjooFBDo8=
-github.com/replicatedhq/troubleshoot v0.107.4/go.mod h1:6mZzcO/EWVBNXVnFdSHfPaoTnjcQdV3sq61NkBF60YE=
+github.com/replicatedhq/troubleshoot v0.107.5 h1:XrJEK8vN3HHEKmFnAe8rSmY+hPw8Fh5dsTMhhEBKQCM=
+github.com/replicatedhq/troubleshoot v0.107.5/go.mod h1:QTV4q6TXiCO825IS1GcLzgJu2KHWekXiKdcHCqBJTck=
github.com/replicatedhq/yaml/v3 v3.0.0-beta5-replicatedhq h1:PwPggruelq2336c1Ayg5STFqgbn/QB1tWLQwrVlU7ZQ=
github.com/replicatedhq/yaml/v3 v3.0.0-beta5-replicatedhq/go.mod h1:Txa7LopbYCU8aRgmNe0n+y/EPMz50NbCPcVVJBquwag=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
@@ -2353,8 +2353,8 @@ k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0=
k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk=
k8s.io/apiextensions-apiserver v0.0.0-20190918161926-8f644eb6e783/go.mod h1:xvae1SZB3E17UpV59AWc271W/Ph25N+bjPyR63X6tPY=
k8s.io/apiextensions-apiserver v0.17.0/go.mod h1:XiIFUakZywkUl54fVXa7QTEHcqQz9HG55nHd1DCoHj8=
-k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40=
-k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ=
+k8s.io/apiextensions-apiserver v0.31.2 h1:W8EwUb8+WXBLu56ser5IudT2cOho0gAKeTOnywBLxd0=
+k8s.io/apiextensions-apiserver v0.31.2/go.mod h1:i+Geh+nGCJEGiCGR3MlBDkS7koHIIKWVfWeRFiOsUcM=
k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655/go.mod h1:nL6pwRT8NgfF8TT68DBI8uEePRt89cSvoXUVqbkWHq4=
k8s.io/apimachinery v0.17.0/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg=
k8s.io/apimachinery v0.19.0/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=
diff --git a/kurl_proxy/assets/insecure.html b/kurl_proxy/assets/tls-warning.html
similarity index 100%
rename from kurl_proxy/assets/insecure.html
rename to kurl_proxy/assets/tls-warning.html
diff --git a/kurl_proxy/assets/welcome.html b/kurl_proxy/assets/welcome.html
index 5ecc7d848e..70d12f4243 100644
--- a/kurl_proxy/assets/welcome.html
+++ b/kurl_proxy/assets/welcome.html
@@ -19,7 +19,7 @@
.replace(/\/$/, "");
var httpsLink = "http:" + rawLink;
var opensslLink = rawLink.substring(2).replace("/", "");
- var insecureLink = httpsLink + "/insecure";
+ var insecureLink = httpsLink + "/tls-warning";
diff --git a/kurl_proxy/cmd/main.go b/kurl_proxy/cmd/main.go
index 4e7810d75c..38df41263c 100644
--- a/kurl_proxy/cmd/main.go
+++ b/kurl_proxy/cmd/main.go
@@ -275,11 +275,34 @@ func getHttpServer(fingerprint string, acceptAnonymousUploads bool, assetsDir st
}
appIcon := template.URL(app.Spec.Icon)
- htmlPage := "welcome.html"
- if c.Request.URL.Path == "/insecure" {
- htmlPage = "insecure.html"
+ c.HTML(http.StatusOK, "welcome.html", gin.H{
+ "fingerprintSHA1": fingerprint,
+ "AppIcon": appIcon,
+ "AppTitle": app.Spec.Title,
+ "IsEmbeddedCluster": isEmbeddedCluster(),
+ })
+ })
+ r.GET("/tls-warning", func(c *gin.Context) {
+ if !acceptAnonymousUploads {
+ log.Println("TLS certs already uploaded, redirecting to https")
+ target := url.URL{
+ Scheme: "https",
+ Host: c.Request.Host,
+ Path: c.Request.URL.Path,
+ RawQuery: c.Request.URL.RawQuery,
+ }
+ // Returns StatusFound (302) to avoid browser caching
+ c.Redirect(http.StatusFound, target.String())
+ return
+ }
+
+ app, err := kotsadmApplication()
+
+ if err != nil {
+ log.Printf("No kotsadm application metadata: %v", err) // continue
}
- c.HTML(http.StatusOK, htmlPage, gin.H{
+ appIcon := template.URL(app.Spec.Icon)
+ c.HTML(http.StatusOK, "tls-warning.html", gin.H{
"fingerprintSHA1": fingerprint,
"AppIcon": appIcon,
"AppTitle": app.Spec.Title,
diff --git a/pkg/docker/registry/temp_registry.go b/pkg/docker/registry/temp_registry.go
index 6665a890ba..8715189405 100644
--- a/pkg/docker/registry/temp_registry.go
+++ b/pkg/docker/registry/temp_registry.go
@@ -1,6 +1,7 @@
package registry
import (
+ "bytes"
_ "embed"
"fmt"
"io/ioutil"
@@ -65,7 +66,11 @@ func (r *TempRegistry) Start(rootDir string) (finalError error) {
// - We can't directly run the official docker registry binary because it doesn't necessarily exist when pushing images from the host.
// - We need to be able to control stdout and stderr and stop the process later, but the registry go module doesn't give control over that.
// - The KOTS CLI binary exists inside the kotsadm pod and/or will be used to push images from the host.
+ var stdout, stderr bytes.Buffer
cmd := exec.Command(kotsutil.GetKOTSBinPath(), "docker-registry", "serve", configFile.Name())
+ cmd.Stdout = &stdout
+ cmd.Stderr = &stderr
+ cmd.Env = []string{} // ignore env vars because they may override the config
if err := cmd.Start(); err != nil {
return errors.Wrap(err, "failed to start")
}
@@ -77,7 +82,7 @@ func (r *TempRegistry) Start(rootDir string) (finalError error) {
r.port = freePort
if err := r.WaitForReady(time.Second * 30); err != nil {
- return errors.Wrap(err, "failed to wait for registry to become ready")
+ return errors.Wrapf(err, "failed to wait for registry to become ready\nstdout: %s\nstderr: %s", stdout.String(), stderr.String())
}
return nil
diff --git a/pkg/image/constants.go b/pkg/image/constants.go
index 4d949ec746..aff6320d50 100644
--- a/pkg/image/constants.go
+++ b/pkg/image/constants.go
@@ -5,8 +5,8 @@ package image
// image name.
const (
- Minio = "kotsadm/minio:0.20241013.133411-r0"
- Rqlite = "kotsadm/rqlite:8.32.4-r0"
+ Minio = "kotsadm/minio:0.20241029.160148-r0"
+ Rqlite = "kotsadm/rqlite:8.32.5-r0"
Dex = "kotsadm/dex:2.41.1-r1"
Schemahero = "schemahero/schemahero:0.17.10"
Lvp = "replicated/local-volume-provider:v0.6.7"
diff --git a/pkg/supportbundle/defaultspec/spec.yaml b/pkg/supportbundle/defaultspec/spec.yaml
index ffb75ba44f..31bf58ac3f 100644
--- a/pkg/supportbundle/defaultspec/spec.yaml
+++ b/pkg/supportbundle/defaultspec/spec.yaml
@@ -172,10 +172,6 @@ spec:
- app=kotsadm
containerPath: /tmp/last-preflight-result
containerName: kotsadm
- - http:
- collectorName: replicated.app-health-check
- get:
- url: https://replicated.app/healthz
analyzers:
- clusterVersion:
outcomes:
@@ -300,16 +296,3 @@ spec:
message: No default storage class found
- pass:
message: Default storage class found
- - jsonCompare:
- checkName: https://replicated.app host health check
- fileName: replicated.app-health-check.json
- path: "response.status"
- value: "200"
- outcomes:
- - fail:
- when: "false"
- message: https://replicated.app is unhealthy. License and software update checks from replicated will fail. If this is locked down environment, please check your proxy settings.
- uri: https://kurl.sh/docs/install-with-kurl/proxy-installs
- - pass:
- when: "true"
- message: https://replicated.app host is healthy
diff --git a/pkg/supportbundle/execute.go b/pkg/supportbundle/execute.go
index cb0f624fca..e2d07c21cd 100644
--- a/pkg/supportbundle/execute.go
+++ b/pkg/supportbundle/execute.go
@@ -171,11 +171,9 @@ func executeSupportBundleCollectRoutine(bundle *types.SupportBundle, progressCha
Namespace: "",
ProgressChan: progressChan,
Redact: true,
- RunHostCollectorsInPod: true, // always run host collectors in pod from KOTS regardless of the spec value
}
logger.Infof("Executing Collection go routine for support bundle ID: %s", bundle.ID)
- logger.Infof("Always run host collectors in pod: %t", opts.RunHostCollectorsInPod)
go func() {
defer close(progressChan)
diff --git a/pkg/supportbundle/spec.go b/pkg/supportbundle/spec.go
index af00f1fefa..17a2782343 100644
--- a/pkg/supportbundle/spec.go
+++ b/pkg/supportbundle/spec.go
@@ -159,15 +159,11 @@ func mergeSupportBundleSpecs(builtBundles map[string]*troubleshootv1beta2.Suppor
mergedBundle.Spec.Collectors = append(mergedBundle.Spec.Collectors, builtBundle.Spec.Collectors...)
mergedBundle.Spec.Analyzers = append(mergedBundle.Spec.Analyzers, builtBundle.Spec.Analyzers...)
mergedBundle.Spec.AfterCollection = append(mergedBundle.Spec.AfterCollection, builtBundle.Spec.AfterCollection...)
- mergedBundle.Spec.HostCollectors = append(mergedBundle.Spec.HostCollectors, builtBundle.Spec.HostCollectors...)
- mergedBundle.Spec.HostAnalyzers = append(mergedBundle.Spec.HostAnalyzers, builtBundle.Spec.HostAnalyzers...)
}
- mergedBundle.Spec.Collectors = Dedup(mergedBundle.Spec.Collectors)
- mergedBundle.Spec.Analyzers = Dedup(mergedBundle.Spec.Analyzers)
- mergedBundle.Spec.AfterCollection = Dedup(mergedBundle.Spec.AfterCollection)
- mergedBundle.Spec.HostCollectors = Dedup(mergedBundle.Spec.HostCollectors)
- mergedBundle.Spec.HostAnalyzers = Dedup(mergedBundle.Spec.HostAnalyzers)
+ mergedBundle = deduplicatedCollectors(mergedBundle)
+ mergedBundle = deduplicatedAnalyzers(mergedBundle)
+ mergedBundle = deduplicatedAfterCollection(mergedBundle)
return mergedBundle
}
@@ -465,15 +461,11 @@ func addDiscoveredSpecs(
supportBundle.Spec.Collectors = append(supportBundle.Spec.Collectors, sbObject.Spec.Collectors...)
supportBundle.Spec.Analyzers = append(supportBundle.Spec.Analyzers, sbObject.Spec.Analyzers...)
- supportBundle.Spec.HostCollectors = append(supportBundle.Spec.HostCollectors, sbObject.Spec.HostCollectors...)
- supportBundle.Spec.HostAnalyzers = append(supportBundle.Spec.HostAnalyzers, sbObject.Spec.HostAnalyzers...)
}
- // remove duplicated specs if there are multiple support bundle upstream spec
- supportBundle.Spec.Collectors = Dedup(supportBundle.Spec.Collectors)
- supportBundle.Spec.Analyzers = Dedup(supportBundle.Spec.Analyzers)
- supportBundle.Spec.HostCollectors = Dedup(supportBundle.Spec.HostCollectors)
- supportBundle.Spec.HostAnalyzers = Dedup(supportBundle.Spec.HostAnalyzers)
+ // remove duplicated collectors and analyzers if there are multiple support bundle upstream spec
+ supportBundle = deduplicatedCollectors(supportBundle)
+ supportBundle = deduplicatedAnalyzers(supportBundle)
return supportBundle
}
@@ -1253,26 +1245,3 @@ func removeKurlAnalyzers(analyzers []*troubleshootv1beta2.Analyze) []*troublesho
return analyze
}
-
-func Dedup[T any](objs []T) []T {
- seen := make(map[string]bool)
- out := []T{}
-
- if len(objs) == 0 {
- return objs
- }
-
- for _, o := range objs {
- data, err := json.Marshal(o)
- if err != nil {
- out = append(out, o)
- continue
- }
- key := string(data)
- if _, ok := seen[key]; !ok {
- out = append(out, o)
- seen[key] = true
- }
- }
- return out
-}
diff --git a/pkg/supportbundle/spec_test.go b/pkg/supportbundle/spec_test.go
index 0ca623046c..89918af8fb 100644
--- a/pkg/supportbundle/spec_test.go
+++ b/pkg/supportbundle/spec_test.go
@@ -769,80 +769,3 @@ func createNamespaces(t *testing.T, clientset kubernetes.Interface, namespaces .
require.NoError(t, err)
}
}
-
-func Test_mergeSupportBundleSpecs(t *testing.T) {
- testBundle := &troubleshootv1beta2.SupportBundle{
- Spec: troubleshootv1beta2.SupportBundleSpec{
- Collectors: []*troubleshootv1beta2.Collect{
- {
- ClusterResources: &troubleshootv1beta2.ClusterResources{
- CollectorMeta: troubleshootv1beta2.CollectorMeta{CollectorName: "first"},
- },
- },
- {
- ClusterResources: &troubleshootv1beta2.ClusterResources{
- CollectorMeta: troubleshootv1beta2.CollectorMeta{CollectorName: "first"},
- },
- },
- {
- ClusterResources: &troubleshootv1beta2.ClusterResources{},
- },
- },
- Analyzers: []*troubleshootv1beta2.Analyze{
- {
- ClusterVersion: &troubleshootv1beta2.ClusterVersion{
- AnalyzeMeta: troubleshootv1beta2.AnalyzeMeta{CheckName: "first"},
- },
- },
- {
- ClusterVersion: &troubleshootv1beta2.ClusterVersion{
- AnalyzeMeta: troubleshootv1beta2.AnalyzeMeta{CheckName: "first"},
- },
- },
- },
- AfterCollection: []*troubleshootv1beta2.AfterCollection{},
- HostCollectors: []*troubleshootv1beta2.HostCollect{
- {
- CPU: &troubleshootv1beta2.CPU{},
- Memory: &troubleshootv1beta2.Memory{
- HostCollectorMeta: troubleshootv1beta2.HostCollectorMeta{CollectorName: "first"},
- },
- },
- {
- CPU: &troubleshootv1beta2.CPU{},
- Memory: &troubleshootv1beta2.Memory{
- HostCollectorMeta: troubleshootv1beta2.HostCollectorMeta{CollectorName: "first"},
- },
- },
- {
- CPU: &troubleshootv1beta2.CPU{},
- Memory: &troubleshootv1beta2.Memory{
- HostCollectorMeta: troubleshootv1beta2.HostCollectorMeta{CollectorName: "second"},
- },
- },
- },
- HostAnalyzers: []*troubleshootv1beta2.HostAnalyze{
- {
- CPU: &troubleshootv1beta2.CPUAnalyze{
- AnalyzeMeta: troubleshootv1beta2.AnalyzeMeta{CheckName: "first"},
- },
- },
- {
- CPU: &troubleshootv1beta2.CPUAnalyze{
- AnalyzeMeta: troubleshootv1beta2.AnalyzeMeta{CheckName: "first"},
- },
- },
- },
- },
- }
-
- builtBundles := map[string]*troubleshootv1beta2.SupportBundle{
- "first": testBundle,
- }
- merged := mergeSupportBundleSpecs(builtBundles)
-
- assert.Equal(t, 2, len(merged.Spec.Collectors))
- assert.Equal(t, 1, len(merged.Spec.Analyzers))
- assert.Equal(t, 2, len(merged.Spec.HostCollectors))
- assert.Equal(t, 1, len(merged.Spec.HostAnalyzers))
-}
diff --git a/pkg/supportbundle/staticspecs/defaultspec.yaml b/pkg/supportbundle/staticspecs/defaultspec.yaml
index 74e0fbf41f..58e3a25744 100644
--- a/pkg/supportbundle/staticspecs/defaultspec.yaml
+++ b/pkg/supportbundle/staticspecs/defaultspec.yaml
@@ -92,10 +92,6 @@ spec:
containerPath: /tmp/last-preflight-result
containerName: kotsadm
- nodeMetrics: {}
- - http:
- collectorName: replicated.app-health-check
- get:
- url: https://replicated.app/healthz
analyzers:
- clusterVersion:
outcomes:
@@ -172,16 +168,3 @@ spec:
message: No default storage class found
- pass:
message: Default storage class found
- - jsonCompare:
- checkName: https://replicated.app host health check
- fileName: replicated.app-health-check.json
- path: "response.status"
- value: "200"
- outcomes:
- - fail:
- when: "false"
- message: https://replicated.app is unhealthy. License and software update checks from replicated will fail. If this is locked down environment, please check your proxy settings.
- uri: https://kurl.sh/docs/install-with-kurl/proxy-installs
- - pass:
- when: "true"
- message: https://replicated.app host is healthy
diff --git a/pkg/supportbundle/supportbundle.go b/pkg/supportbundle/supportbundle.go
index 3dace009f5..0584fe1278 100644
--- a/pkg/supportbundle/supportbundle.go
+++ b/pkg/supportbundle/supportbundle.go
@@ -155,7 +155,7 @@ func CreateSupportBundleDependencies(app *apptypes.App, sequence int64, opts typ
URI: GetSpecURI(app.GetSlug()),
RedactURIs: redactURIs,
Progress: types.SupportBundleProgress{
- CollectorCount: len(supportBundle.Spec.Collectors) + len(supportBundle.Spec.HostCollectors),
+ CollectorCount: len(supportBundle.Spec.Collectors),
},
}
diff --git a/web/yarn.lock b/web/yarn.lock
index 84c951ad65..8ab6ae3138 100644
--- a/web/yarn.lock
+++ b/web/yarn.lock
@@ -8275,9 +8275,9 @@ electron-to-chromium@^1.5.4:
integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==
elliptic@^6.5.3, elliptic@^6.5.4:
- version "6.5.7"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b"
- integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==
+ version "6.6.0"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210"
+ integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==
dependencies:
bn.js "^4.11.9"
brorand "^1.1.0"