From 518ca21635985d5a0f2d4b53c39792accfe70fbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Rodr=C3=ADguez=20Hern=C3=A1ndez?= Date: Fri, 19 Sep 2025 14:20:21 +0200 Subject: [PATCH] Remove tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Carlos Rodríguez Hernández --- .vib/airflow/cypress/cypress.config.js | 18 - .../airflow/cypress/cypress/e2e/airflow.cy.js | 40 - .../cypress/cypress/fixtures/DAGs.json | 5 - .../cypress/cypress/fixtures/users.json | 9 - .../cypress/cypress/support/commands.js | 48 -- .vib/airflow/cypress/cypress/support/e2e.js | 25 - .vib/airflow/cypress/cypress/support/utils.js | 8 - .vib/airflow/goss/goss.yaml | 42 - .vib/airflow/runtime-parameters.yaml | 97 --- .vib/airflow/vib-action.config | 1 - .vib/airflow/vib-publish.json | 47 -- .vib/airflow/vib-verify.json | 81 -- .vib/apache/cypress/cypress.config.js | 6 - .vib/apache/cypress/cypress/e2e/apache.cy.js | 12 - .vib/apache/cypress/cypress/support/e2e.js | 25 - .vib/apache/goss/goss.yaml | 26 - .vib/apache/runtime-parameters.yaml | 18 - .vib/apache/vib-publish.json | 47 -- .vib/apache/vib-verify.json | 76 -- .vib/apisix/cypress/cypress.config.js | 11 - .vib/apisix/cypress/cypress/e2e/apisix.cy.js | 43 - .../cypress/cypress/fixtures/service.json | 6 - .../cypress/cypress/support/commands.js | 44 - .vib/apisix/cypress/cypress/support/e2e.js | 25 - .vib/apisix/cypress/cypress/support/utils.js | 8 - .vib/apisix/goss/goss.yaml | 98 --- .vib/apisix/runtime-parameters.yaml | 114 --- .vib/apisix/vib-action.config | 1 - .vib/apisix/vib-publish.json | 47 -- .vib/apisix/vib-verify.json | 80 -- .vib/appsmith/cypress/cypress.config.js | 12 - .../cypress/cypress/e2e/appsmith.cy.js | 41 - .../cypress/cypress/fixtures/app.json | 3 - .../cypress/fixtures/user-settings.json | 3 - .../cypress/cypress/support/commands.js | 40 - .vib/appsmith/cypress/cypress/support/e2e.js | 25 - .../appsmith/cypress/cypress/support/utils.js | 8 - .vib/appsmith/goss/goss.yaml | 35 - .vib/appsmith/runtime-parameters.yaml | 22 - .vib/appsmith/vib-action.config | 1 - .vib/appsmith/vib-publish.json | 47 -- .vib/appsmith/vib-verify.json | 80 -- .vib/argo-cd/cypress/cypress.config.js | 14 - .../argo-cd/cypress/cypress/e2e/argo_cd.cy.js | 73 -- .../cypress/fixtures/applications.json | 9 - .../cypress/cypress/fixtures/projects.json | 5 - .../cypress/cypress/support/commands.js | 47 -- .vib/argo-cd/cypress/cypress/support/e2e.js | 25 - .vib/argo-cd/cypress/cypress/support/utils.js | 8 - .vib/argo-cd/goss/goss.yaml | 53 -- .vib/argo-cd/runtime-parameters.yaml | 47 -- .vib/argo-cd/vib-publish.json | 47 -- .vib/argo-cd/vib-verify.json | 80 -- .vib/argo-workflows/cypress/cypress.config.js | 7 - .../cypress/cypress/e2e/argo_workflows.cy.js | 40 - .../cypress/fixtures/workflow-template.json | 68 -- .../cypress/cypress/support/commands.js | 18 - .../cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 8 - .vib/argo-workflows/runtime-parameters.yaml | 45 - .vib/argo-workflows/vib-publish.json | 47 -- .vib/argo-workflows/vib-verify.json | 61 -- .vib/aspnet-core/cypress/cypress.config.js | 7 - .../cypress/cypress/e2e/aspnet-core.cy.js | 14 - .../cypress/cypress/support/e2e.js | 25 - .vib/aspnet-core/goss/goss.yaml | 16 - .vib/aspnet-core/runtime-parameters.yaml | 18 - .vib/aspnet-core/vib-publish.json | 47 -- .vib/aspnet-core/vib-verify.json | 76 -- .vib/cadvisor/goss/goss.yaml | 35 - .vib/cadvisor/runtime-parameters.yaml | 18 - .vib/cadvisor/vib-publish.json | 47 -- .vib/cadvisor/vib-verify.json | 66 -- .vib/cassandra/ginkgo/cassandra_suite_test.go | 92 --- .vib/cassandra/ginkgo/cassandra_test.go | 113 --- .vib/cassandra/ginkgo/go.mod | 58 -- .vib/cassandra/ginkgo/go.sum | 151 ---- .vib/cassandra/goss/goss.yaml | 43 - .vib/cassandra/runtime-parameters.yaml | 27 - .vib/cassandra/vib-action.config | 1 - .vib/cassandra/vib-publish.json | 47 -- .vib/cassandra/vib-verify.json | 81 -- .vib/cert-manager/ginkgo/certmanager_test.go | 75 -- .vib/cert-manager/ginkgo/go.mod | 62 -- .vib/cert-manager/ginkgo/go.sum | 673 --------------- .../ginkgo/integration_suite_test.go | 168 ---- .vib/cert-manager/goss/goss.yaml | 18 - .vib/cert-manager/runtime-parameters.yaml | 22 - .vib/cert-manager/vib-action.config | 1 - .vib/cert-manager/vib-publish.json | 47 -- .vib/cert-manager/vib-verify.json | 78 -- .vib/chainloop/ginkgo/chainloop_suite_test.go | 31 - .vib/chainloop/ginkgo/chainloop_test.go | 159 ---- .vib/chainloop/ginkgo/go.mod | 58 -- .vib/chainloop/ginkgo/go.sum | 151 ---- .vib/chainloop/runtime-parameters.yaml | 6 - .vib/chainloop/vib-publish.json | 47 -- .vib/chainloop/vib-verify.json | 58 -- .vib/cilium/cypress/cypress.config.js | 6 - .../cypress/cypress/e2e/hubble-ui.cy.js | 14 - .../cypress/cypress/support/commands.js | 32 - .vib/cilium/cypress/cypress/support/e2e.js | 25 - .vib/cilium/ginkgo/cilium_suite_test.go | 208 ----- .vib/cilium/ginkgo/cilium_test.go | 101 --- .vib/cilium/ginkgo/go.mod | 58 -- .vib/cilium/ginkgo/go.sum | 151 ---- .vib/cilium/goss/goss-wait.yaml | 6 - .vib/cilium/goss/goss.yaml | 76 -- .vib/cilium/runtime-parameters.yaml | 122 --- .vib/cilium/vib-action.config | 1 - .vib/cilium/vib-publish.json | 47 -- .vib/cilium/vib-verify.json | 92 --- .vib/clickhouse-operator/goss/goss.yaml | 55 -- .../runtime-parameters.yaml | 225 ----- .vib/clickhouse-operator/vib-publish.json | 47 -- .vib/clickhouse-operator/vib-verify.json | 66 -- .vib/clickhouse/cypress/cypress.config.js | 13 - .../cypress/cypress/e2e/clickhouse.cy.js | 20 - .../cypress/cypress/fixtures/queries.json | 9 - .../cypress/cypress/support/commands.js | 28 - .../clickhouse/cypress/cypress/support/e2e.js | 25 - .../ginkgo/clickhouse_suite_test.go | 122 --- .vib/clickhouse/ginkgo/clickhouse_test.go | 121 --- .vib/clickhouse/ginkgo/go.mod | 58 -- .vib/clickhouse/ginkgo/go.sum | 151 ---- .vib/clickhouse/goss/goss.yaml | 118 --- .vib/clickhouse/runtime-parameters.yaml | 39 - .vib/clickhouse/vib-publish.json | 47 -- .vib/clickhouse/vib-verify.json | 92 --- .vib/cloudnative-pg/goss/goss.yaml | 35 - .vib/cloudnative-pg/runtime-parameters.yaml | 378 --------- .vib/cloudnative-pg/vib-publish.json | 47 -- .vib/cloudnative-pg/vib-verify.json | 66 -- .vib/common-tests/ginkgo-utils/go.mod | 50 -- .vib/common-tests/ginkgo-utils/go.sum | 151 ---- .vib/common-tests/ginkgo-utils/k8s.go | 276 ------- .vib/common-tests/ginkgo-utils/utils.go | 35 - .vib/common/vib-publish.json | 47 -- .vib/common/vib-verify.json | 29 - .vib/concourse/cypress/cypress.config.js | 12 - .../cypress/cypress/e2e/concourse.cy.js | 18 - .../cypress/cypress/support/commands.js | 23 - .vib/concourse/cypress/cypress/support/e2e.js | 25 - .vib/concourse/goss/web/goss.yaml | 38 - .vib/concourse/goss/worker/goss.yaml | 36 - .vib/concourse/runtime-parameters.yaml | 62 -- .vib/concourse/vib-publish.json | 47 -- .vib/concourse/vib-verify.json | 91 --- .vib/consul/cypress/cypress.config.js | 12 - .vib/consul/cypress/cypress/e2e/consul.cy.js | 42 - .../consul/cypress/cypress/fixtures/keys.json | 5 - .../cypress/cypress/support/commands.js | 11 - .vib/consul/cypress/cypress/support/e2e.js | 25 - .vib/consul/cypress/cypress/support/utils.js | 8 - .vib/consul/ginkgo/consul_suite_test.go | 79 -- .vib/consul/ginkgo/consul_test.go | 110 --- .vib/consul/ginkgo/go.mod | 58 -- .vib/consul/ginkgo/go.sum | 151 ---- .vib/consul/goss/goss.yaml | 27 - .vib/consul/runtime-parameters.yaml | 8 - .vib/consul/vib-publish.json | 47 -- .vib/consul/vib-verify.json | 93 --- .vib/contour/ginkgo/contour.go | 150 ---- .vib/contour/ginkgo/go.mod | 62 -- .vib/contour/ginkgo/go.sum | 673 --------------- .vib/contour/ginkgo/integration_suite_test.go | 178 ---- .vib/contour/goss/goss.yaml | 30 - .vib/contour/runtime-parameters.yaml | 97 --- .vib/contour/vib-action.config | 1 - .vib/contour/vib-publish.json | 47 -- .vib/contour/vib-verify.json | 79 -- .vib/deepspeed/goss/goss.yaml | 44 - .vib/deepspeed/runtime-parameters.yaml | 38 - .vib/deepspeed/vib-publish.json | 47 -- .vib/deepspeed/vib-verify.json | 66 -- .vib/discourse/cypress/cypress.config.js | 13 - .../cypress/cypress/e2e/discourse.cy.js | 35 - .../cypress/cypress/fixtures/topics.json | 6 - .../cypress/cypress/fixtures/users.json | 7 - .../cypress/cypress/support/commands.js | 49 -- .vib/discourse/cypress/cypress/support/e2e.js | 35 - .../cypress/cypress/support/utils.js | 8 - .vib/discourse/goss/goss.yaml | 23 - .vib/discourse/runtime-parameters.yaml | 20 - .vib/discourse/vib-action.config | 1 - .vib/discourse/vib-publish.json | 47 -- .vib/discourse/vib-verify.json | 80 -- .vib/dremio/cypress/cypress.config.js | 15 - .vib/dremio/cypress/cypress/e2e/dremio.cy.js | 32 - .../cypress/cypress/fixtures/database.json | 6 - .../cypress/cypress/support/commands.js | 46 -- .vib/dremio/cypress/cypress/support/e2e.js | 25 - .vib/dremio/cypress/cypress/support/utils.js | 8 - .vib/dremio/goss/goss.yaml | 108 --- .vib/dremio/runtime-parameters.yaml | 231 ------ .vib/dremio/vib-action.config | 1 - .vib/dremio/vib-publish.json | 47 -- .vib/dremio/vib-verify.json | 76 -- .vib/drupal/cypress/cypress.config.js | 11 - .vib/drupal/cypress/cypress/e2e/drupal.cy.js | 20 - .../cypress/cypress/fixtures/articles.json | 6 - .../cypress/fixtures/images/test_image.jpeg | Bin 12265 -> 0 bytes .../cypress/cypress/support/commands.js | 40 - .vib/drupal/cypress/cypress/support/e2e.js | 25 - .vib/drupal/cypress/cypress/support/utils.js | 8 - .vib/drupal/goss/goss.yaml | 38 - .vib/drupal/runtime-parameters.yaml | 28 - .vib/drupal/vib-publish.json | 47 -- .vib/drupal/vib-verify.json | 80 -- .vib/ejbca/cypress/cypress.config.js | 15 - .vib/ejbca/cypress/cypress/e2e/ejbca.cy.js | 38 - .../ejbca/cypress/cypress/fixtures/certs.json | 5 - .vib/ejbca/cypress/cypress/plugins/index.js | 32 - .../ejbca/cypress/cypress/support/commands.js | 18 - .vib/ejbca/cypress/cypress/support/e2e.js | 25 - .vib/ejbca/goss/goss-wait.yaml | 12 - .vib/ejbca/goss/goss.yaml | 42 - .vib/ejbca/runtime-parameters.yaml | 30 - .vib/ejbca/vib-publish.json | 47 -- .vib/ejbca/vib-verify.json | 79 -- .vib/elasticsearch/cypress/cypress.config.js | 10 - .../cypress/cypress/e2e/elasticsearch.cy.js | 84 -- .../cypress/cypress/fixtures/documents.json | 4 - .../cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 10 - .../ginkgo/elasticsearch_suite_test.go | 80 -- .../ginkgo/elasticsearch_test.go | 109 --- .vib/elasticsearch/ginkgo/go.mod | 58 -- .vib/elasticsearch/ginkgo/go.sum | 151 ---- .vib/elasticsearch/goss/goss.yaml | 14 - .vib/elasticsearch/runtime-parameters.yaml | 23 - .vib/elasticsearch/vib-publish.json | 47 -- .vib/elasticsearch/vib-verify.json | 94 --- .vib/envoy-gateway/goss/goss.yaml | 27 - .vib/envoy-gateway/runtime-parameters.yaml | 159 ---- .vib/envoy-gateway/vib-publish.json | 47 -- .vib/envoy-gateway/vib-verify.json | 66 -- .vib/etcd/ginkgo/etcd_suite_test.go | 93 --- .vib/etcd/ginkgo/etcd_test.go | 105 --- .vib/etcd/ginkgo/go.mod | 58 -- .vib/etcd/ginkgo/go.sum | 151 ---- .vib/etcd/goss/goss.yaml | 37 - .vib/etcd/runtime-parameters.yaml | 18 - .vib/etcd/vib-publish.json | 47 -- .vib/etcd/vib-verify.json | 80 -- .vib/external-dns/cypress/cypress.config.js | 6 - .../cypress/cypress/e2e/external_dns.cy.js | 17 - .../cypress/cypress/support/e2e.js | 25 - .vib/external-dns/goss/goss.yaml | 21 - .vib/external-dns/runtime-parameters.yaml | 18 - .vib/external-dns/vib-publish.json | 47 -- .vib/external-dns/vib-verify.json | 76 -- .vib/flink/cypress/cypress.config.js | 7 - .vib/flink/cypress/cypress/e2e/flink.cy.js | 22 - .vib/flink/cypress/cypress/support/e2e.js | 25 - .vib/flink/goss/goss.yaml | 24 - .vib/flink/runtime-parameters.yaml | 125 --- .vib/flink/vib-publish.json | 47 -- .vib/flink/vib-verify.json | 76 -- .vib/fluent-bit/goss/goss.yaml | 35 - .vib/fluent-bit/runtime-parameters.yaml | 27 - .vib/fluent-bit/vib-publish.json | 47 -- .vib/fluent-bit/vib-verify.json | 66 -- .vib/fluentd/goss/goss-wait.yaml | 10 - .vib/fluentd/goss/goss.yaml | 31 - .vib/fluentd/runtime-parameters.yaml | 6 - .vib/fluentd/vib-publish.json | 47 -- .vib/fluentd/vib-verify.json | 69 -- .vib/flux/goss/goss-wait.yaml | 16 - .vib/flux/goss/goss.yaml | 97 --- .vib/flux/runtime-parameters.yaml | 201 ----- .vib/flux/vib-publish.json | 47 -- .vib/flux/vib-verify.json | 69 -- .vib/ghost/cypress/cypress.config.js | 14 - .vib/ghost/cypress/cypress/e2e/ghost.cy.js | 47 -- .../cypress/fixtures/images/test_image.jpeg | Bin 12265 -> 0 bytes .../ghost/cypress/cypress/fixtures/posts.json | 6 - .../ghost/cypress/cypress/support/commands.js | 58 -- .vib/ghost/cypress/cypress/support/e2e.js | 25 - .vib/ghost/cypress/cypress/support/utils.js | 8 - .vib/ghost/goss/goss.yaml | 34 - .vib/ghost/runtime-parameters.yaml | 26 - .vib/ghost/vib-publish.json | 47 -- .vib/ghost/vib-verify.json | 81 -- .vib/gitea/cypress/cypress.config.js | 11 - .vib/gitea/cypress/cypress/e2e/gitea.cy.js | 21 - .vib/gitea/cypress/cypress/fixtures/repo.json | 3 - .../gitea/cypress/cypress/support/commands.js | 29 - .vib/gitea/cypress/cypress/support/e2e.js | 25 - .vib/gitea/cypress/cypress/support/utils.js | 8 - .vib/gitea/goss/goss-wait.yaml | 10 - .vib/gitea/goss/goss.yaml | 38 - .vib/gitea/runtime-parameters.yaml | 28 - .vib/gitea/vib-publish.json | 47 -- .vib/gitea/vib-verify.json | 83 -- .vib/gitlab-runner/goss/goss.yaml | 35 - .vib/gitlab-runner/runtime-parameters.yaml | 28 - .vib/gitlab-runner/vib-publish.json | 47 -- .vib/gitlab-runner/vib-verify.json | 66 -- .vib/grafana-alloy/cypress/cypress.config.js | 12 - .../cypress/cypress/e2e/grafana_alloy.cy.js | 39 - .../cypress/cypress/support/commands.js | 19 - .../cypress/cypress/support/e2e.js | 25 - .vib/grafana-alloy/goss/goss.yaml | 44 - .vib/grafana-alloy/runtime-parameters.yaml | 26 - .vib/grafana-alloy/vib-publish.json | 47 -- .vib/grafana-alloy/vib-verify.json | 76 -- .vib/grafana-k6-operator/goss/goss.yaml | 17 - .../runtime-parameters.yaml | 224 ----- .vib/grafana-k6-operator/vib-publish.json | 47 -- .vib/grafana-k6-operator/vib-verify.json | 66 -- .vib/grafana-loki/cypress/cypress.config.js | 7 - .../cypress/cypress/e2e/grafana_loki.cy.js | 53 -- .../cypress/cypress/fixtures/logs-body.json | 10 - .../cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 8 - .vib/grafana-loki/goss/alloy/goss.yaml | 37 - .vib/grafana-loki/goss/querier/goss.yaml | 46 -- .vib/grafana-loki/runtime-parameters.yaml | 80 -- .vib/grafana-loki/vib-publish.json | 47 -- .vib/grafana-loki/vib-verify.json | 91 --- .vib/grafana-mimir/cypress/cypress.config.js | 7 - .../cypress/cypress/e2e/grafana_mimir.cy.js | 44 - .../cypress/cypress/fixtures/metric-body.json | 23 - .../cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 9 - .vib/grafana-mimir/goss/goss.yaml | 55 -- .vib/grafana-mimir/runtime-parameters.yaml | 53 -- .vib/grafana-mimir/vib-action.config | 1 - .vib/grafana-mimir/vib-publish.json | 47 -- .vib/grafana-mimir/vib-verify.json | 76 -- .../cypress/cypress.config.js | 12 - .../cypress/e2e/grafana_operator.cy.js | 58 -- .../cypress/cypress/fixtures/dashboards.json | 5 - .../cypress/cypress/fixtures/datasources.json | 5 - .../cypress/fixtures/test-dashboard.json | 36 - .../cypress/cypress/support/commands.js | 40 - .../cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 8 - .vib/grafana-operator/goss/goss.yaml | 21 - .vib/grafana-operator/runtime-parameters.yaml | 33 - .vib/grafana-operator/vib-publish.json | 47 -- .vib/grafana-operator/vib-verify.json | 80 -- .vib/grafana-tempo/cypress/cypress.config.js | 18 - .../cypress/cypress/e2e/grafana_tempo.cy.js | 37 - .../cypress/cypress/plugins/index.js | 27 - .../cypress/cypress/support/e2e.js | 25 - .vib/grafana-tempo/goss/goss.yaml | 45 - .vib/grafana-tempo/runtime-parameters.yaml | 45 - .vib/grafana-tempo/vib-publish.json | 47 -- .vib/grafana-tempo/vib-verify.json | 84 -- .vib/grafana/cypress/cypress.config.js | 12 - .../grafana/cypress/cypress/e2e/grafana.cy.js | 59 -- .../cypress/cypress/fixtures/dashboards.json | 5 - .../cypress/cypress/fixtures/datasources.json | 5 - .../cypress/fixtures/test-dashboard.json | 36 - .../cypress/cypress/support/commands.js | 40 - .vib/grafana/cypress/cypress/support/e2e.js | 25 - .vib/grafana/cypress/cypress/support/utils.js | 8 - .vib/grafana/goss/goss.yaml | 27 - .vib/grafana/runtime-parameters.yaml | 19 - .vib/grafana/vib-publish.json | 47 -- .vib/grafana/vib-verify.json | 80 -- .vib/haproxy/cypress/cypress.config.js | 6 - .../haproxy/cypress/cypress/e2e/haproxy.cy.js | 14 - .vib/haproxy/cypress/cypress/support/e2e.js | 25 - .vib/haproxy/goss/goss.yaml | 18 - .vib/haproxy/runtime-parameters.yaml | 50 -- .vib/haproxy/vib-publish.json | 47 -- .vib/haproxy/vib-verify.json | 76 -- .vib/harbor/cypress/cypress.config.js | 11 - .vib/harbor/cypress/cypress/e2e/harbor.cy.js | 59 -- .../cypress/cypress/fixtures/projects.json | 5 - .../cypress/cypress/fixtures/registries.json | 7 - .../cypress/cypress/support/commands.js | 28 - .vib/harbor/cypress/cypress/support/e2e.js | 25 - .vib/harbor/cypress/cypress/support/utils.js | 8 - .vib/harbor/goss/goss.yaml | 23 - .vib/harbor/runtime-parameters.yaml | 15 - .vib/harbor/vib-publish.json | 47 -- .vib/harbor/vib-verify.json | 80 -- .vib/influxdb/ginkgo/go.mod | 59 -- .vib/influxdb/ginkgo/go.sum | 153 ---- .vib/influxdb/ginkgo/influxdb_suite_test.go | 93 --- .vib/influxdb/ginkgo/influxdb_test.go | 116 --- .vib/influxdb/goss/goss.yaml | 45 - .vib/influxdb/runtime-parameters.yaml | 219 ----- .vib/influxdb/vib-publish.json | 47 -- .vib/influxdb/vib-verify.json | 80 -- .vib/jaeger/cypress/cypress.config.js | 6 - .vib/jaeger/cypress/cypress/e2e/jaeger.cy.js | 28 - .vib/jaeger/cypress/cypress/support/e2e.js | 25 - .vib/jaeger/goss/goss.yaml | 27 - .vib/jaeger/runtime-parameters.yaml | 74 -- .vib/jaeger/vib-action.config | 1 - .vib/jaeger/vib-publish.json | 47 -- .vib/jaeger/vib-verify.json | 77 -- .vib/janusgraph/goss/goss.yaml | 33 - .vib/janusgraph/goss/testfiles/test.groovy | 9 - .vib/janusgraph/runtime-parameters.yaml | 17 - .vib/janusgraph/vib-publish.json | 47 -- .vib/janusgraph/vib-verify.json | 66 -- .vib/jenkins/cypress/cypress.config.js | 11 - .../jenkins/cypress/cypress/e2e/jenkins.cy.js | 51 -- .../cypress/cypress/fixtures/items.json | 6 - .../cypress/cypress/support/commands.js | 29 - .vib/jenkins/cypress/cypress/support/e2e.js | 25 - .vib/jenkins/cypress/cypress/support/utils.js | 25 - .vib/jenkins/goss/goss.yaml | 14 - .vib/jenkins/runtime-parameters.yaml | 8 - .vib/jenkins/vib-publish.json | 47 -- .vib/jenkins/vib-verify.json | 80 -- .vib/jupyterhub/cypress/cypress.config.js | 12 - .../cypress/cypress/e2e/jupyterhub.cy.js | 55 -- .../cypress/fixtures/notebook_template.ipynb | 51 -- .../cypress/cypress/support/commands.js | 41 - .../jupyterhub/cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 8 - .vib/jupyterhub/goss/goss.yaml | 46 -- .vib/jupyterhub/runtime-parameters.yaml | 45 - .vib/jupyterhub/vib-action.config | 1 - .vib/jupyterhub/vib-publish.json | 47 -- .vib/jupyterhub/vib-verify.json | 80 -- .vib/kafka/ginkgo/go.mod | 58 -- .vib/kafka/ginkgo/go.sum | 151 ---- .vib/kafka/ginkgo/kafka_suite_test.go | 88 -- .vib/kafka/ginkgo/kafka_test.go | 105 --- .vib/kafka/goss/goss.yaml | 39 - .vib/kafka/runtime-parameters.yaml | 45 - .vib/kafka/vib-publish.json | 47 -- .vib/kafka/vib-verify.json | 79 -- .vib/keycloak/cypress/cypress.config.js | 14 - .../cypress/cypress/e2e/keycloak.cy.js | 43 - .../fixtures/empty-localization-file.json | 1 - .../cypress/cypress/fixtures/import-data.json | 19 - .../cypress/cypress/fixtures/locales.json | 3 - .../cypress/cypress/fixtures/users.json | 15 - .../cypress/cypress/support/commands.js | 41 - .vib/keycloak/cypress/cypress/support/e2e.js | 25 - .../keycloak/cypress/cypress/support/utils.js | 8 - .vib/keycloak/goss/goss.yaml | 64 -- .vib/keycloak/runtime-parameters.yaml | 34 - .vib/keycloak/vib-publish.json | 47 -- .vib/keycloak/vib-verify.json | 80 -- .vib/keydb/ginkgo/go.mod | 58 -- .vib/keydb/ginkgo/go.sum | 151 ---- .vib/keydb/ginkgo/keydb_suite_test.go | 109 --- .vib/keydb/ginkgo/keydb_test.go | 113 --- .vib/keydb/goss/goss.yaml | 59 -- .vib/keydb/runtime-parameters.yaml | 51 -- .vib/keydb/vib-publish.json | 47 -- .vib/keydb/vib-verify.json | 80 -- .vib/kiam/vib-publish.json | 47 -- .vib/kiam/vib-verify.json | 51 -- .vib/kibana/cypress/cypress.config.js | 9 - .vib/kibana/cypress/cypress/e2e/kibana.cy.js | 61 -- .../cypress/cypress/fixtures/dashboards.json | 6 - .../cypress/cypress/fixtures/indexes.json | 5 - .../fixtures/test-data-to-import.ndjson | 193 ----- .../cypress/fixtures/visualizations.json | 6 - .../cypress/cypress/support/commands.js | 43 - .vib/kibana/cypress/cypress/support/e2e.js | 25 - .vib/kibana/cypress/cypress/support/utils.js | 19 - .vib/kibana/goss/goss.yaml | 35 - .vib/kibana/runtime-parameters.yaml | 29 - .vib/kibana/vib-publish.json | 47 -- .vib/kibana/vib-verify.json | 76 -- .vib/kong/cypress/cypress.config.js | 12 - .vib/kong/cypress/cypress/e2e/kong.cy.js | 88 -- .../kong/cypress/cypress/fixtures/routes.json | 5 - .../cypress/cypress/fixtures/services.json | 6 - .vib/kong/cypress/cypress/support/e2e.js | 25 - .vib/kong/cypress/cypress/support/utils.js | 8 - .vib/kong/goss/goss.yaml | 36 - .vib/kong/runtime-parameters.yaml | 114 --- .vib/kong/vib-publish.json | 47 -- .vib/kong/vib-verify.json | 82 -- .vib/kube-arangodb/cypress/cypress.config.js | 11 - .../cypress/cypress/e2e/kube-arangodb.cy.js | 48 -- .../cypress/cypress/fixtures/deployments.json | 6 - .../cypress/cypress/support/commands.js | 29 - .../cypress/cypress/support/e2e.js | 25 - .vib/kube-arangodb/goss/goss.yaml | 45 - .vib/kube-arangodb/runtime-parameters.yaml | 45 - .vib/kube-arangodb/vib-publish.json | 47 -- .vib/kube-arangodb/vib-verify.json | 80 -- .../kube-prometheus/cypress/cypress.config.js | 7 - .vib/kube-prometheus/cypress/cypress.env.json | 41 - .../cypress/cypress/e2e/kube_prometheus.cy.js | 41 - .../cypress/cypress/support/e2e.js | 25 - .vib/kube-prometheus/goss/goss.yaml | 29 - .vib/kube-prometheus/runtime-parameters.yaml | 67 -- .vib/kube-prometheus/vib-action.config | 1 - .vib/kube-prometheus/vib-publish.json | 47 -- .vib/kube-prometheus/vib-verify.json | 76 -- .vib/kube-state-metrics/goss/goss.yaml | 29 - .../runtime-parameters.yaml | 21 - .vib/kube-state-metrics/vib-publish.json | 47 -- .vib/kube-state-metrics/vib-verify.json | 66 -- .vib/kuberay/cypress/cypress.config.js | 8 - .../kuberay/cypress/cypress/e2e/kuberay.cy.js | 40 - .../cypress/cypress/fixtures/clusters.json | 6 - .../cypress/cypress/fixtures/scripts.json | 5 - .../cypress/cypress/support/commands.js | 29 - .vib/kuberay/cypress/cypress/support/e2e.js | 25 - .vib/kuberay/goss/goss.yaml | 47 -- .vib/kuberay/runtime-parameters.yaml | 129 --- .vib/kuberay/vib-action.config | 1 - .vib/kuberay/vib-publish.json | 47 -- .vib/kuberay/vib-verify.json | 76 -- .vib/kubernetes-event-exporter/ginkgo/go.mod | 62 -- .vib/kubernetes-event-exporter/ginkgo/go.sum | 673 --------------- .../ginkgo/integration_suite_test.go | 188 ----- .../ginkgo/kubernetes_event_exporter.go | 57 -- .vib/kubernetes-event-exporter/goss/goss.yaml | 37 - .../runtime-parameters.yaml | 30 - .../vib-publish.json | 47 -- .../kubernetes-event-exporter/vib-verify.json | 78 -- .vib/logstash/cypress/cypress.config.js | 7 - .../cypress/cypress/e2e/logstash.cy.js | 17 - .vib/logstash/cypress/cypress/support/e2e.js | 25 - .vib/logstash/goss/goss.yaml | 43 - .vib/logstash/runtime-parameters.yaml | 48 -- .vib/logstash/vib-publish.json | 47 -- .vib/logstash/vib-verify.json | 76 -- .vib/mariadb-galera/ginkgo/go.mod | 58 -- .vib/mariadb-galera/ginkgo/go.sum | 151 ---- .../ginkgo/mariadb_suite_test.go | 102 --- .vib/mariadb-galera/ginkgo/mariadb_test.go | 107 --- .vib/mariadb-galera/goss/goss.yaml | 46 -- .vib/mariadb-galera/runtime-parameters.yaml | 26 - .vib/mariadb-galera/vib-publish.json | 47 -- .vib/mariadb-galera/vib-verify.json | 81 -- .vib/mariadb/ginkgo/go.mod | 58 -- .vib/mariadb/ginkgo/go.sum | 151 ---- .vib/mariadb/ginkgo/mariadb_suite_test.go | 100 --- .vib/mariadb/ginkgo/mariadb_test.go | 104 --- .vib/mariadb/goss/goss.yaml | 28 - .vib/mariadb/runtime-parameters.yaml | 16 - .vib/mariadb/vib-publish.json | 47 -- .vib/mariadb/vib-verify.json | 81 -- .vib/mastodon/cypress/cypress.config.js | 15 - .../cypress/cypress/e2e/mastodon.cy.js | 27 - .../cypress/fixtures/images/test_image.jpeg | Bin 12265 -> 0 bytes .../cypress/cypress/fixtures/tweets.json | 3 - .../cypress/cypress/support/commands.js | 35 - .vib/mastodon/cypress/cypress/support/e2e.js | 25 - .../mastodon/cypress/cypress/support/utils.js | 8 - .vib/mastodon/goss/goss.yaml | 52 -- .vib/mastodon/runtime-parameters.yaml | 63 -- .vib/mastodon/vib-action.config | 1 - .vib/mastodon/vib-publish.json | 47 -- .vib/mastodon/vib-verify.json | 80 -- .vib/matomo/cypress/cypress.config.js | 12 - .vib/matomo/cypress/cypress/e2e/matomo.cy.js | 80 -- .../cypress/cypress/fixtures/websites.json | 6 - .../cypress/cypress/support/commands.js | 40 - .vib/matomo/cypress/cypress/support/e2e.js | 25 - .vib/matomo/cypress/cypress/support/utils.js | 8 - .vib/matomo/goss/goss.yaml | 9 - .vib/matomo/runtime-parameters.yaml | 16 - .vib/matomo/vib-publish.json | 47 -- .vib/matomo/vib-verify.json | 79 -- .vib/memcached/goss/goss.yaml | 25 - .vib/memcached/runtime-parameters.yaml | 12 - .vib/memcached/vib-publish.json | 47 -- .vib/memcached/vib-verify.json | 73 -- .vib/metallb/ginkgo/go.mod | 62 -- .vib/metallb/ginkgo/go.sum | 673 --------------- .vib/metallb/ginkgo/integration_suite_test.go | 200 ----- .vib/metallb/ginkgo/metallb_test.go | 89 -- .vib/metallb/goss/goss.yaml | 29 - .vib/metallb/runtime-parameters.yaml | 14 - .vib/metallb/vib-action.config | 1 - .vib/metallb/vib-publish.json | 47 -- .vib/metallb/vib-verify.json | 78 -- .vib/metrics-server/goss/goss.yaml | 28 - .vib/metrics-server/runtime-parameters.yaml | 18 - .vib/metrics-server/vib-publish.json | 47 -- .vib/metrics-server/vib-verify.json | 66 -- .vib/milvus/cypress/cypress.config.js | 12 - .vib/milvus/cypress/cypress/e2e/milvus.cy.js | 37 - .../cypress/cypress/fixtures/collection.json | 7 - .../cypress/cypress/support/commands.js | 46 -- .vib/milvus/cypress/cypress/support/e2e.js | 25 - .vib/milvus/cypress/cypress/support/utils.js | 8 - .vib/milvus/goss/goss.yaml | 80 -- .vib/milvus/runtime-parameters.yaml | 75 -- .vib/milvus/vib-action.config | 2 - .vib/milvus/vib-publish.json | 47 -- .vib/milvus/vib-verify.json | 80 -- .vib/minio-operator/goss/goss.yaml | 20 - .vib/minio-operator/runtime-parameters.yaml | 112 --- .vib/minio-operator/vib-publish.json | 47 -- .vib/minio-operator/vib-verify.json | 66 -- .vib/minio/cypress/cypress.config.js | 11 - .vib/minio/cypress/cypress/e2e/minio.cy.js | 39 - .../cypress/cypress/fixtures/buckets.json | 5 - .../cypress/cypress/fixtures/example.json | 3 - .../minio/cypress/cypress/support/commands.js | 28 - .vib/minio/cypress/cypress/support/e2e.js | 25 - .vib/minio/cypress/cypress/support/utils.js | 8 - .vib/minio/ginkgo/go.mod | 58 -- .vib/minio/ginkgo/go.sum | 151 ---- .vib/minio/ginkgo/minio_suite_test.go | 102 --- .vib/minio/ginkgo/minio_test.go | 103 --- .vib/minio/goss/goss.yaml | 47 -- .vib/minio/runtime-parameters.yaml | 26 - .vib/minio/vib-publish.json | 47 -- .vib/minio/vib-verify.json | 95 --- .vib/mlflow/cypress/cypress.config.js | 12 - .vib/mlflow/cypress/cypress/e2e/mlflow.cy.js | 43 - .../cypress/cypress/fixtures/scripts.json | 6 - .../cypress/cypress/support/commands.js | 34 - .vib/mlflow/cypress/cypress/support/e2e.js | 25 - .vib/mlflow/goss/goss-wait.yaml | 12 - .vib/mlflow/goss/goss.yaml | 117 --- .vib/mlflow/runtime-parameters.yaml | 62 -- .vib/mlflow/vib-publish.json | 47 -- .vib/mlflow/vib-verify.json | 83 -- .vib/mongodb-sharded/ginkgo/go.mod | 58 -- .vib/mongodb-sharded/ginkgo/go.sum | 151 ---- .../ginkgo/mongodb_suite_test.go | 86 -- .vib/mongodb-sharded/ginkgo/mongodb_test.go | 122 --- .vib/mongodb-sharded/goss/goss.yaml | 45 - .vib/mongodb-sharded/runtime-parameters.yaml | 45 - .vib/mongodb-sharded/vib-action.config | 1 - .vib/mongodb-sharded/vib-publish.json | 47 -- .vib/mongodb-sharded/vib-verify.json | 82 -- .vib/mongodb/ginkgo/go.mod | 58 -- .vib/mongodb/ginkgo/go.sum | 151 ---- .vib/mongodb/ginkgo/mongodb_suite_test.go | 99 --- .vib/mongodb/ginkgo/mongodb_test.go | 103 --- .vib/mongodb/goss/goss.yaml | 41 - .vib/mongodb/runtime-parameters.yaml | 29 - .vib/mongodb/vib-publish.json | 47 -- .vib/mongodb/vib-verify.json | 81 -- .vib/moodle/cypress/cypress.config.js | 11 - .vib/moodle/cypress/cypress/e2e/moodle.cy.js | 30 - .../cypress/cypress/fixtures/courses.json | 6 - .../cypress/fixtures/images/test_image.jpeg | Bin 12265 -> 0 bytes .../cypress/cypress/support/commands.js | 29 - .vib/moodle/cypress/cypress/support/e2e.js | 25 - .vib/moodle/cypress/cypress/support/utils.js | 8 - .vib/moodle/goss/goss.yaml | 20 - .vib/moodle/runtime-parameters.yaml | 21 - .vib/moodle/vib-publish.json | 47 -- .vib/moodle/vib-verify.json | 80 -- .vib/multus-cni/goss/goss.yaml | 35 - .vib/multus-cni/runtime-parameters.yaml | 10 - .vib/multus-cni/vib-publish.json | 47 -- .vib/multus-cni/vib-verify.json | 66 -- .vib/mysql/ginkgo/go.mod | 58 -- .vib/mysql/ginkgo/go.sum | 151 ---- .vib/mysql/ginkgo/mysql_suite_test.go | 99 --- .vib/mysql/ginkgo/mysql_test.go | 104 --- .vib/mysql/goss/goss.yaml | 28 - .vib/mysql/runtime-parameters.yaml | 16 - .vib/mysql/vib-publish.json | 47 -- .vib/mysql/vib-verify.json | 81 -- .vib/nats/cypress/cypress.config.js | 6 - .vib/nats/cypress/cypress.env.json | 8 - .vib/nats/cypress/cypress/e2e/nats.cy.js | 20 - .vib/nats/cypress/cypress/support/e2e.js | 25 - .vib/nats/ginkgo/go.mod | 58 -- .vib/nats/ginkgo/go.sum | 151 ---- .vib/nats/ginkgo/nats_suite_test.go | 139 ---- .vib/nats/ginkgo/nats_test.go | 140 ---- .vib/nats/runtime-parameters.yaml | 45 - .vib/nats/vib-publish.json | 47 -- .vib/nats/vib-verify.json | 76 -- .vib/neo4j/cypress/cypress.config.js | 14 - .vib/neo4j/cypress/cypress/e2e/neo4j.cy.js | 28 - .../neo4j/cypress/cypress/fixtures/users.json | 6 - .../neo4j/cypress/cypress/support/commands.js | 36 - .vib/neo4j/cypress/cypress/support/e2e.js | 25 - .vib/neo4j/cypress/cypress/support/utils.js | 8 - .vib/neo4j/goss/goss.yaml | 26 - .vib/neo4j/runtime-parameters.yaml | 24 - .vib/neo4j/vib-publish.json | 47 -- .vib/neo4j/vib-verify.json | 80 -- .vib/nessie/cypress/cypress.config.js | 7 - .vib/nessie/cypress/cypress/e2e/nessie.cy.js | 15 - .../nessie/cypress/cypress/fixtures/tags.json | 3 - .vib/nessie/cypress/cypress/support/e2e.js | 25 - .vib/nessie/ginkgo/go.mod | 58 -- .vib/nessie/ginkgo/go.sum | 151 ---- .vib/nessie/ginkgo/nessie_suite_test.go | 80 -- .vib/nessie/ginkgo/nessie_test.go | 103 --- .vib/nessie/goss/goss.yaml | 48 -- .vib/nessie/runtime-parameters.yaml | 119 --- .vib/nessie/vib-publish.json | 47 -- .vib/nessie/vib-verify.json | 89 -- .vib/nginx-ingress-controller/ginkgo/go.mod | 62 -- .vib/nginx-ingress-controller/ginkgo/go.sum | 673 --------------- .../ginkgo/integration_suite_test.go | 221 ----- .../ginkgo/nginx_ingress_controller_test.go | 75 -- .vib/nginx-ingress-controller/goss/goss.yaml | 27 - .../runtime-parameters.yaml | 87 -- .../vib-action.config | 1 - .../nginx-ingress-controller/vib-publish.json | 47 -- .vib/nginx-ingress-controller/vib-verify.json | 80 -- .vib/nginx/cypress/cypress.config.js | 6 - .vib/nginx/cypress/cypress/e2e/nginx.cy.js | 11 - .vib/nginx/cypress/cypress/support/e2e.js | 25 - .vib/nginx/goss/goss.yaml | 22 - .vib/nginx/runtime-parameters.yaml | 17 - .vib/nginx/vib-publish.json | 47 -- .vib/nginx/vib-verify.json | 76 -- .vib/node-exporter/cypress/cypress.config.js | 6 - .../cypress/cypress/e2e/node_exporter.cy.js | 17 - .../cypress/cypress/support/e2e.js | 25 - .vib/node-exporter/goss/goss.yaml | 29 - .vib/node-exporter/runtime-parameters.yaml | 18 - .vib/node-exporter/vib-publish.json | 47 -- .vib/node-exporter/vib-verify.json | 76 -- .vib/oauth2-proxy/cypress/cypress.config.js | 14 - .../cypress/cypress/e2e/oauth2-proxy.cy.js | 23 - .../cypress/cypress/support/commands.js | 26 - .../cypress/cypress/support/e2e.js | 25 - .vib/oauth2-proxy/goss/goss.yaml | 24 - .vib/oauth2-proxy/runtime-parameters.yaml | 89 -- .vib/oauth2-proxy/vib-publish.json | 47 -- .vib/oauth2-proxy/vib-verify.json | 81 -- .vib/odoo/cypress/cypress.config.js | 12 - .vib/odoo/cypress/cypress/e2e/odoo.cy.js | 50 -- .vib/odoo/cypress/cypress/fixtures/users.json | 5 - .vib/odoo/cypress/cypress/support/commands.js | 39 - .vib/odoo/cypress/cypress/support/e2e.js | 25 - .vib/odoo/cypress/cypress/support/utils.js | 8 - .vib/odoo/goss/goss.yaml | 19 - .vib/odoo/runtime-parameters.yaml | 11 - .vib/odoo/vib-publish.json | 47 -- .vib/odoo/vib-verify.json | 80 -- .vib/opensearch/cypress/cypress.config.js | 10 - .../cypress/cypress/e2e/opensearch.cy.js | 64 -- .../cypress/cypress/fixtures/documents.json | 4 - .../opensearch/cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 10 - .vib/opensearch/ginkgo/go.mod | 58 -- .vib/opensearch/ginkgo/go.sum | 151 ---- .../ginkgo/opensearch_suite_test.go | 78 -- .vib/opensearch/ginkgo/opensearch_test.go | 104 --- .vib/opensearch/goss/goss.yaml | 32 - .vib/opensearch/runtime-parameters.yaml | 33 - .vib/opensearch/vib-action.config | 1 - .vib/opensearch/vib-publish.json | 47 -- .vib/opensearch/vib-verify.json | 89 -- .vib/parse/cypress/cypress.config.js | 10 - .vib/parse/cypress/cypress/e2e/parse.cy.js | 35 - .../cypress/fixtures/high_score_stats.json | 4 - .vib/parse/cypress/cypress/support/e2e.js | 25 - .vib/parse/cypress/cypress/support/utils.js | 8 - .vib/parse/goss/dashboard/goss.yaml | 32 - .vib/parse/goss/server/goss.yaml | 31 - .vib/parse/runtime-parameters.yaml | 44 - .vib/parse/vib-publish.json | 47 -- .vib/parse/vib-verify.json | 95 --- .vib/phpmyadmin/cypress/cypress.config.js | 12 - .../cypress/cypress/e2e/phpmyadmin.cy.js | 28 - .../cypress/cypress/fixtures/testdata.json | 9 - .../cypress/cypress/support/commands.js | 29 - .../phpmyadmin/cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 8 - .vib/phpmyadmin/goss/goss.yaml | 26 - .vib/phpmyadmin/runtime-parameters.yaml | 23 - .vib/phpmyadmin/vib-publish.json | 47 -- .vib/phpmyadmin/vib-verify.json | 80 -- .vib/pinniped/ginkgo/go.mod | 60 -- .vib/pinniped/ginkgo/go.sum | 771 ------------------ .../pinniped/ginkgo/integration_suite_test.go | 220 ----- .vib/pinniped/ginkgo/pinniped_test.go | 122 --- .vib/pinniped/ginkgo/scripts/pinniped-auth.sh | 9 - .vib/pinniped/runtime-parameters.yaml | 193 ----- .vib/pinniped/vib-action.config | 1 - .vib/pinniped/vib-publish.json | 47 -- .vib/pinniped/vib-verify.json | 65 -- .vib/postgresql-ha/ginkgo/go.mod | 58 -- .vib/postgresql-ha/ginkgo/go.sum | 151 ---- .../ginkgo/postgresql_suite_test.go | 87 -- .vib/postgresql-ha/ginkgo/postgresql_test.go | 113 --- .vib/postgresql-ha/goss/pgpool/goss.yaml | 42 - .vib/postgresql-ha/goss/repmgr/goss.yaml | 42 - .vib/postgresql-ha/runtime-parameters.yaml | 36 - .vib/postgresql-ha/vib-publish.json | 47 -- .vib/postgresql-ha/vib-verify.json | 96 --- .vib/postgresql/ginkgo/go.mod | 58 -- .vib/postgresql/ginkgo/go.sum | 151 ---- .../ginkgo/postgresql_suite_test.go | 87 -- .vib/postgresql/ginkgo/postgresql_test.go | 105 --- .vib/postgresql/goss/goss.yaml | 52 -- .vib/postgresql/runtime-parameters.yaml | 35 - .vib/postgresql/vib-publish.json | 47 -- .vib/postgresql/vib-verify.json | 81 -- .vib/prometheus/cypress/cypress.config.js | 7 - .vib/prometheus/cypress/cypress.env.json | 19 - .../cypress/cypress/e2e/prometheus.cy.js | 29 - .../prometheus/cypress/cypress/support/e2e.js | 25 - .vib/prometheus/goss/goss.yaml | 78 -- .vib/prometheus/runtime-parameters.yaml | 68 -- .vib/prometheus/vib-publish.json | 47 -- .vib/prometheus/vib-verify.json | 76 -- .vib/pytorch/goss/goss.yaml | 21 - .vib/pytorch/goss/testfiles/README.md | 3 - .../goss/testfiles/polynomial_tensor.py | 63 -- .vib/pytorch/runtime-parameters.yaml | 10 - .vib/pytorch/vib-publish.json | 47 -- .vib/pytorch/vib-verify.json | 66 -- .../cypress/cypress.config.js | 10 - .../e2e/rabbitmq_cluster_operator.cy.js | 38 - .../cypress/fixtures/broker-definitions.json | 1 - .../cypress/cypress/fixtures/exchanges.json | 7 - .../cypress/cypress/fixtures/messages.json | 5 - .../cypress/cypress/support/commands.js | 38 - .../cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 8 - .vib/rabbitmq-cluster-operator/goss/goss.yaml | 25 - .../runtime-parameters.yaml | 44 - .../vib-publish.json | 47 -- .../rabbitmq-cluster-operator/vib-verify.json | 80 -- .vib/rabbitmq/cypress/cypress.config.js | 10 - .../cypress/cypress/e2e/rabbitmq.cy.js | 38 - .../cypress/fixtures/broker-definitions.json | 1 - .../cypress/cypress/fixtures/exchanges.json | 7 - .../cypress/cypress/fixtures/messages.json | 5 - .../cypress/cypress/support/commands.js | 38 - .vib/rabbitmq/cypress/cypress/support/e2e.js | 25 - .../rabbitmq/cypress/cypress/support/utils.js | 8 - .vib/rabbitmq/ginkgo/go.mod | 58 -- .vib/rabbitmq/ginkgo/go.sum | 151 ---- .vib/rabbitmq/ginkgo/rabbitmq_suite_test.go | 98 --- .vib/rabbitmq/ginkgo/rabbitmq_test.go | 114 --- .vib/rabbitmq/goss/goss.yaml | 60 -- .vib/rabbitmq/runtime-parameters.yaml | 35 - .vib/rabbitmq/vib-publish.json | 47 -- .vib/rabbitmq/vib-verify.json | 95 --- .vib/redis-cluster/ginkgo/go.mod | 58 -- .vib/redis-cluster/ginkgo/go.sum | 151 ---- .vib/redis-cluster/ginkgo/redis_suite_test.go | 88 -- .vib/redis-cluster/ginkgo/redis_test.go | 109 --- .vib/redis-cluster/goss/goss.yaml | 49 -- .vib/redis-cluster/runtime-parameters.yaml | 22 - .vib/redis-cluster/vib-publish.json | 47 -- .vib/redis-cluster/vib-verify.json | 80 -- .vib/redis/ginkgo/go.mod | 58 -- .vib/redis/ginkgo/go.sum | 151 ---- .vib/redis/ginkgo/redis_suite_test.go | 88 -- .vib/redis/ginkgo/redis_test.go | 108 --- .vib/redis/goss/goss.yaml | 63 -- .vib/redis/runtime-parameters.yaml | 47 -- .vib/redis/vib-publish.json | 47 -- .vib/redis/vib-verify.json | 80 -- .vib/redmine/cypress/cypress.config.js | 12 - .../redmine/cypress/cypress/e2e/redmine.cy.js | 35 - .../cypress/cypress/fixtures/issues.json | 6 - .../cypress/cypress/fixtures/projects.json | 6 - .../cypress/cypress/support/commands.js | 28 - .vib/redmine/cypress/cypress/support/e2e.js | 25 - .vib/redmine/cypress/cypress/support/utils.js | 8 - .vib/redmine/goss/goss.yaml | 17 - .vib/redmine/runtime-parameters.yaml | 11 - .vib/redmine/vib-publish.json | 47 -- .vib/redmine/vib-verify.json | 80 -- .../schema-registry/cypress/cypress.config.js | 10 - .../cypress/cypress/e2e/schema_registry.cy.js | 41 - .../cypress/cypress/fixtures/schema.json | 3 - .../cypress/cypress/support/e2e.js | 25 - .vib/schema-registry/goss/goss.yaml | 19 - .vib/schema-registry/runtime-parameters.yaml | 9 - .vib/schema-registry/vib-publish.json | 47 -- .vib/schema-registry/vib-verify.json | 76 -- .vib/scylladb/ginkgo/go.mod | 58 -- .vib/scylladb/ginkgo/go.sum | 151 ---- .vib/scylladb/ginkgo/scylladb_suite_test.go | 92 --- .vib/scylladb/ginkgo/scylladb_test.go | 113 --- .vib/scylladb/goss/goss.yaml | 43 - .vib/scylladb/runtime-parameters.yaml | 29 - .vib/scylladb/vib-action.config | 1 - .vib/scylladb/vib-publish.json | 47 -- .vib/scylladb/vib-verify.json | 81 -- .vib/sealed-secrets/cypress/cypress.config.js | 6 - .../cypress/cypress/e2e/sealed_secrets.cy.js | 14 - .../cypress/cypress/support/e2e.js | 25 - .vib/sealed-secrets/ginkgo/go.mod | 62 -- .vib/sealed-secrets/ginkgo/go.sum | 673 --------------- .../ginkgo/integration_suite_test.go | 112 --- .../ginkgo/sealed_secrets_test.go | 75 -- .vib/sealed-secrets/runtime-parameters.yaml | 17 - .vib/sealed-secrets/vib-action.config | 1 - .vib/sealed-secrets/vib-publish.json | 47 -- .vib/sealed-secrets/vib-verify.json | 73 -- .vib/seaweedfs/cypress/cypress.config.js | 17 - .../cypress/cypress/e2e/seaweedfs.cy.js | 13 - .vib/seaweedfs/cypress/cypress/support/e2e.js | 25 - .vib/seaweedfs/ginkgo/go.mod | 58 -- .vib/seaweedfs/ginkgo/go.sum | 151 ---- .vib/seaweedfs/ginkgo/seaweedfs_suite_test.go | 234 ------ .vib/seaweedfs/ginkgo/seaweedfs_test.go | 129 --- .vib/seaweedfs/runtime-parameters.yaml | 11 - .vib/seaweedfs/vib-publish.json | 47 -- .vib/seaweedfs/vib-verify.json | 84 -- .vib/solr/cypress/cypress.config.js | 7 - .vib/solr/cypress/cypress.env.json | 9 - .vib/solr/cypress/cypress/e2e/solr.cy.js | 85 -- .vib/solr/cypress/cypress/fixtures/books.json | 37 - .vib/solr/cypress/cypress/fixtures/users.json | 6 - .vib/solr/cypress/cypress/support/commands.js | 33 - .vib/solr/cypress/cypress/support/e2e.js | 25 - .vib/solr/cypress/cypress/support/utils.js | 13 - .vib/solr/ginkgo/go.mod | 58 -- .vib/solr/ginkgo/go.sum | 151 ---- .vib/solr/ginkgo/solr_suite_test.go | 99 --- .vib/solr/ginkgo/solr_test.go | 105 --- .vib/solr/goss/goss.yaml | 41 - .vib/solr/runtime-parameters.yaml | 27 - .vib/solr/vib-publish.json | 47 -- .vib/solr/vib-verify.json | 91 --- .vib/sonarqube/cypress/cypress.config.js | 10 - .../cypress/cypress/e2e/sonarqube.cy.js | 58 -- .../cypress/cypress/fixtures/projects.json | 5 - .../cypress/fixtures/quality-gates.json | 7 - .../cypress/cypress/support/commands.js | 39 - .vib/sonarqube/cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 8 - .vib/sonarqube/goss/goss.yaml | 33 - .vib/sonarqube/runtime-parameters.yaml | 33 - .vib/sonarqube/vib-publish.json | 47 -- .vib/sonarqube/vib-verify.json | 80 -- .vib/spark/cypress/cypress.config.js | 10 - .vib/spark/cypress/cypress/e2e/spark.cy.js | 11 - .vib/spark/cypress/cypress/support/e2e.js | 25 - .vib/spark/goss/goss.yaml | 8 - .vib/spark/runtime-parameters.yaml | 9 - .vib/spark/vib-publish.json | 47 -- .vib/spark/vib-verify.json | 79 -- .vib/superset/cypress/cypress.config.js | 12 - .../cypress/cypress/e2e/superset.cy.js | 49 -- .../cypress/cypress/fixtures/users.json | 9 - .../cypress/cypress/support/commands.js | 31 - .vib/superset/cypress/cypress/support/e2e.js | 25 - .../superset/cypress/cypress/support/utils.js | 8 - .vib/superset/goss/goss.yaml | 36 - .vib/superset/runtime-parameters.yaml | 32 - .vib/superset/vib-publish.json | 47 -- .vib/superset/vib-verify.json | 80 -- .../cypress/cypress.config.js | 6 - .../cypress/e2e/tensorflow_resnet.cy.js | 60 -- .../cypress/cypress/fixtures/persian_cat.jpeg | Bin 16593 -> 0 bytes .../cypress/cypress/support/commands.js | 17 - .../cypress/cypress/support/e2e.js | 25 - .vib/tensorflow-resnet/goss/goss.yaml | 24 - .../tensorflow-resnet/runtime-parameters.yaml | 15 - .vib/tensorflow-resnet/vib-publish.json | 47 -- .vib/tensorflow-resnet/vib-verify.json | 76 -- .vib/thanos/cypress/cypress.config.js | 11 - .vib/thanos/cypress/cypress/e2e/thanos.cy.js | 27 - .../cypress/cypress/support/commands.js | 18 - .vib/thanos/cypress/cypress/support/e2e.js | 25 - .vib/thanos/runtime-parameters.yaml | 37 - .vib/thanos/vib-publish.json | 47 -- .vib/thanos/vib-verify.json | 65 -- .vib/tomcat/cypress/cypress.config.js | 11 - .vib/tomcat/cypress/cypress/e2e/tomcat.cy.js | 20 - .../cypress/cypress/fixtures/sample.war | Bin 4606 -> 0 bytes .../cypress/cypress/support/commands.js | 32 - .vib/tomcat/cypress/cypress/support/e2e.js | 25 - .vib/tomcat/cypress/cypress/support/utils.js | 8 - .vib/tomcat/goss/goss.yaml | 17 - .vib/tomcat/runtime-parameters.yaml | 17 - .vib/tomcat/vib-publish.json | 47 -- .vib/tomcat/vib-verify.json | 80 -- .vib/valkey-cluster/ginkgo/go.mod | 58 -- .vib/valkey-cluster/ginkgo/go.sum | 151 ---- .../ginkgo/valkey_suite_test.go | 85 -- .vib/valkey-cluster/ginkgo/valkey_test.go | 106 --- .vib/valkey-cluster/goss/goss.yaml | 49 -- .vib/valkey-cluster/runtime-parameters.yaml | 22 - .vib/valkey-cluster/vib-publish.json | 47 -- .vib/valkey-cluster/vib-verify.json | 80 -- .vib/valkey/ginkgo/go.mod | 58 -- .vib/valkey/ginkgo/go.sum | 151 ---- .vib/valkey/ginkgo/valkey_suite_test.go | 85 -- .vib/valkey/ginkgo/valkey_test.go | 105 --- .vib/valkey/goss/goss.yaml | 63 -- .vib/valkey/runtime-parameters.yaml | 47 -- .vib/valkey/vib-publish.json | 47 -- .vib/valkey/vib-verify.json | 80 -- .vib/vault/cypress/cypress.config.js | 13 - .vib/vault/cypress/cypress/e2e/vault.cy.js | 20 - .../cypress/cypress/fixtures/operation.json | 6 - .../vault/cypress/cypress/support/commands.js | 40 - .vib/vault/cypress/cypress/support/e2e.js | 25 - .vib/vault/cypress/cypress/support/utils.js | 8 - .vib/vault/goss/goss.yaml | 60 -- .vib/vault/runtime-parameters.yaml | 116 --- .vib/vault/vib-publish.json | 47 -- .vib/vault/vib-verify.json | 80 -- .../victoriametrics/cypress/cypress.config.js | 7 - .../cypress/cypress/e2e/victoriametrics.cy.js | 55 -- .../cypress/fixtures/ingest_metric.json | 5 - .../cypress/fixtures/vmagent_metric.json | 4 - .../cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 8 - .vib/victoriametrics/runtime-parameters.yaml | 10 - .vib/victoriametrics/vib-publish.json | 47 -- .vib/victoriametrics/vib-verify.json | 61 -- .vib/whereabouts/goss/goss.yaml | 29 - .vib/whereabouts/runtime-parameters.yaml | 10 - .vib/whereabouts/vib-publish.json | 47 -- .vib/whereabouts/vib-verify.json | 66 -- .vib/wildfly/cypress/cypress.config.js | 7 - .../wildfly/cypress/cypress/e2e/wildfly.cy.js | 11 - .vib/wildfly/cypress/cypress/support/e2e.js | 25 - .vib/wildfly/goss/goss.yaml | 15 - .vib/wildfly/goss/testfiles/README.md | 8 - .vib/wildfly/goss/testfiles/helloworld.sh | 21 - .vib/wildfly/goss/testfiles/helloworld.war | Bin 7525 -> 0 bytes .vib/wildfly/runtime-parameters.yaml | 8 - .vib/wildfly/vib-publish.json | 47 -- .vib/wildfly/vib-verify.json | 76 -- .vib/wordpress/cypress/cypress.config.js | 12 - .../cypress/cypress/e2e/wordpress.cy.js | 39 - .../cypress/fixtures/images/test_image.jpeg | Bin 12265 -> 0 bytes .../cypress/cypress/fixtures/posts.json | 5 - .../cypress/cypress/support/commands.js | 31 - .vib/wordpress/cypress/cypress/support/e2e.js | 25 - .../cypress/cypress/support/utils.js | 36 - .vib/wordpress/goss/goss-wait.yaml | 7 - .vib/wordpress/goss/goss.yaml | 32 - .vib/wordpress/jmeter/wordpress.jmx | 520 ------------ .vib/wordpress/runtime-parameters.yaml | 27 - .vib/wordpress/vib-publish.json | 47 -- .vib/wordpress/vib-verify.json | 98 --- .vib/zipkin/cypress/cypress.config.js | 7 - .vib/zipkin/cypress/cypress/e2e/zipkin.cy.js | 16 - .../cypress/cypress/fixtures/services.json | 3 - .vib/zipkin/cypress/cypress/support/e2e.js | 25 - .vib/zipkin/goss/goss.yaml | 42 - .vib/zipkin/runtime-parameters.yaml | 474 ----------- .vib/zipkin/vib-action.config | 1 - .vib/zipkin/vib-publish.json | 47 -- .vib/zipkin/vib-verify.json | 76 -- .vib/zookeeper/ginkgo/go.mod | 58 -- .vib/zookeeper/ginkgo/go.sum | 151 ---- .vib/zookeeper/ginkgo/zookeeper_suite_test.go | 80 -- .vib/zookeeper/ginkgo/zookeeper_test.go | 106 --- .vib/zookeeper/goss/goss.yaml | 18 - .vib/zookeeper/runtime-parameters.yaml | 12 - .vib/zookeeper/vib-publish.json | 47 -- .vib/zookeeper/vib-verify.json | 66 -- CONTRIBUTING.md | 46 +- README.md | 1 - TESTING.md | 527 ------------ 1053 files changed, 2 insertions(+), 55279 deletions(-) delete mode 100644 .vib/airflow/cypress/cypress.config.js delete mode 100644 .vib/airflow/cypress/cypress/e2e/airflow.cy.js delete mode 100644 .vib/airflow/cypress/cypress/fixtures/DAGs.json delete mode 100644 .vib/airflow/cypress/cypress/fixtures/users.json delete mode 100644 .vib/airflow/cypress/cypress/support/commands.js delete mode 100644 .vib/airflow/cypress/cypress/support/e2e.js delete mode 100644 .vib/airflow/cypress/cypress/support/utils.js delete mode 100644 .vib/airflow/goss/goss.yaml delete mode 100644 .vib/airflow/runtime-parameters.yaml delete mode 100644 .vib/airflow/vib-action.config delete mode 100644 .vib/airflow/vib-publish.json delete mode 100644 .vib/airflow/vib-verify.json delete mode 100644 .vib/apache/cypress/cypress.config.js delete mode 100644 .vib/apache/cypress/cypress/e2e/apache.cy.js delete mode 100644 .vib/apache/cypress/cypress/support/e2e.js delete mode 100644 .vib/apache/goss/goss.yaml delete mode 100644 .vib/apache/runtime-parameters.yaml delete mode 100644 .vib/apache/vib-publish.json delete mode 100644 .vib/apache/vib-verify.json delete mode 100644 .vib/apisix/cypress/cypress.config.js delete mode 100644 .vib/apisix/cypress/cypress/e2e/apisix.cy.js delete mode 100644 .vib/apisix/cypress/cypress/fixtures/service.json delete mode 100644 .vib/apisix/cypress/cypress/support/commands.js delete mode 100644 .vib/apisix/cypress/cypress/support/e2e.js delete mode 100644 .vib/apisix/cypress/cypress/support/utils.js delete mode 100644 .vib/apisix/goss/goss.yaml delete mode 100644 .vib/apisix/runtime-parameters.yaml delete mode 100644 .vib/apisix/vib-action.config delete mode 100644 .vib/apisix/vib-publish.json delete mode 100644 .vib/apisix/vib-verify.json delete mode 100644 .vib/appsmith/cypress/cypress.config.js delete mode 100644 .vib/appsmith/cypress/cypress/e2e/appsmith.cy.js delete mode 100644 .vib/appsmith/cypress/cypress/fixtures/app.json delete mode 100644 .vib/appsmith/cypress/cypress/fixtures/user-settings.json delete mode 100644 .vib/appsmith/cypress/cypress/support/commands.js delete mode 100644 .vib/appsmith/cypress/cypress/support/e2e.js delete mode 100644 .vib/appsmith/cypress/cypress/support/utils.js delete mode 100644 .vib/appsmith/goss/goss.yaml delete mode 100644 .vib/appsmith/runtime-parameters.yaml delete mode 100644 .vib/appsmith/vib-action.config delete mode 100644 .vib/appsmith/vib-publish.json delete mode 100644 .vib/appsmith/vib-verify.json delete mode 100644 .vib/argo-cd/cypress/cypress.config.js delete mode 100644 .vib/argo-cd/cypress/cypress/e2e/argo_cd.cy.js delete mode 100644 .vib/argo-cd/cypress/cypress/fixtures/applications.json delete mode 100644 .vib/argo-cd/cypress/cypress/fixtures/projects.json delete mode 100644 .vib/argo-cd/cypress/cypress/support/commands.js delete mode 100644 .vib/argo-cd/cypress/cypress/support/e2e.js delete mode 100644 .vib/argo-cd/cypress/cypress/support/utils.js delete mode 100644 .vib/argo-cd/goss/goss.yaml delete mode 100644 .vib/argo-cd/runtime-parameters.yaml delete mode 100644 .vib/argo-cd/vib-publish.json delete mode 100644 .vib/argo-cd/vib-verify.json delete mode 100644 .vib/argo-workflows/cypress/cypress.config.js delete mode 100644 .vib/argo-workflows/cypress/cypress/e2e/argo_workflows.cy.js delete mode 100644 .vib/argo-workflows/cypress/cypress/fixtures/workflow-template.json delete mode 100644 .vib/argo-workflows/cypress/cypress/support/commands.js delete mode 100644 .vib/argo-workflows/cypress/cypress/support/e2e.js delete mode 100644 .vib/argo-workflows/cypress/cypress/support/utils.js delete mode 100644 .vib/argo-workflows/runtime-parameters.yaml delete mode 100644 .vib/argo-workflows/vib-publish.json delete mode 100644 .vib/argo-workflows/vib-verify.json delete mode 100644 .vib/aspnet-core/cypress/cypress.config.js delete mode 100644 .vib/aspnet-core/cypress/cypress/e2e/aspnet-core.cy.js delete mode 100644 .vib/aspnet-core/cypress/cypress/support/e2e.js delete mode 100644 .vib/aspnet-core/goss/goss.yaml delete mode 100644 .vib/aspnet-core/runtime-parameters.yaml delete mode 100644 .vib/aspnet-core/vib-publish.json delete mode 100644 .vib/aspnet-core/vib-verify.json delete mode 100644 .vib/cadvisor/goss/goss.yaml delete mode 100644 .vib/cadvisor/runtime-parameters.yaml delete mode 100644 .vib/cadvisor/vib-publish.json delete mode 100644 .vib/cadvisor/vib-verify.json delete mode 100644 .vib/cassandra/ginkgo/cassandra_suite_test.go delete mode 100644 .vib/cassandra/ginkgo/cassandra_test.go delete mode 100644 .vib/cassandra/ginkgo/go.mod delete mode 100644 .vib/cassandra/ginkgo/go.sum delete mode 100644 .vib/cassandra/goss/goss.yaml delete mode 100644 .vib/cassandra/runtime-parameters.yaml delete mode 100644 .vib/cassandra/vib-action.config delete mode 100644 .vib/cassandra/vib-publish.json delete mode 100644 .vib/cassandra/vib-verify.json delete mode 100644 .vib/cert-manager/ginkgo/certmanager_test.go delete mode 100644 .vib/cert-manager/ginkgo/go.mod delete mode 100644 .vib/cert-manager/ginkgo/go.sum delete mode 100644 .vib/cert-manager/ginkgo/integration_suite_test.go delete mode 100644 .vib/cert-manager/goss/goss.yaml delete mode 100644 .vib/cert-manager/runtime-parameters.yaml delete mode 100644 .vib/cert-manager/vib-action.config delete mode 100644 .vib/cert-manager/vib-publish.json delete mode 100644 .vib/cert-manager/vib-verify.json delete mode 100644 .vib/chainloop/ginkgo/chainloop_suite_test.go delete mode 100644 .vib/chainloop/ginkgo/chainloop_test.go delete mode 100644 .vib/chainloop/ginkgo/go.mod delete mode 100644 .vib/chainloop/ginkgo/go.sum delete mode 100644 .vib/chainloop/runtime-parameters.yaml delete mode 100644 .vib/chainloop/vib-publish.json delete mode 100644 .vib/chainloop/vib-verify.json delete mode 100644 .vib/cilium/cypress/cypress.config.js delete mode 100644 .vib/cilium/cypress/cypress/e2e/hubble-ui.cy.js delete mode 100644 .vib/cilium/cypress/cypress/support/commands.js delete mode 100644 .vib/cilium/cypress/cypress/support/e2e.js delete mode 100644 .vib/cilium/ginkgo/cilium_suite_test.go delete mode 100644 .vib/cilium/ginkgo/cilium_test.go delete mode 100644 .vib/cilium/ginkgo/go.mod delete mode 100644 .vib/cilium/ginkgo/go.sum delete mode 100644 .vib/cilium/goss/goss-wait.yaml delete mode 100644 .vib/cilium/goss/goss.yaml delete mode 100644 .vib/cilium/runtime-parameters.yaml delete mode 100644 .vib/cilium/vib-action.config delete mode 100644 .vib/cilium/vib-publish.json delete mode 100644 .vib/cilium/vib-verify.json delete mode 100644 .vib/clickhouse-operator/goss/goss.yaml delete mode 100644 .vib/clickhouse-operator/runtime-parameters.yaml delete mode 100644 .vib/clickhouse-operator/vib-publish.json delete mode 100644 .vib/clickhouse-operator/vib-verify.json delete mode 100644 .vib/clickhouse/cypress/cypress.config.js delete mode 100644 .vib/clickhouse/cypress/cypress/e2e/clickhouse.cy.js delete mode 100644 .vib/clickhouse/cypress/cypress/fixtures/queries.json delete mode 100644 .vib/clickhouse/cypress/cypress/support/commands.js delete mode 100644 .vib/clickhouse/cypress/cypress/support/e2e.js delete mode 100644 .vib/clickhouse/ginkgo/clickhouse_suite_test.go delete mode 100644 .vib/clickhouse/ginkgo/clickhouse_test.go delete mode 100644 .vib/clickhouse/ginkgo/go.mod delete mode 100644 .vib/clickhouse/ginkgo/go.sum delete mode 100644 .vib/clickhouse/goss/goss.yaml delete mode 100644 .vib/clickhouse/runtime-parameters.yaml delete mode 100644 .vib/clickhouse/vib-publish.json delete mode 100644 .vib/clickhouse/vib-verify.json delete mode 100644 .vib/cloudnative-pg/goss/goss.yaml delete mode 100644 .vib/cloudnative-pg/runtime-parameters.yaml delete mode 100644 .vib/cloudnative-pg/vib-publish.json delete mode 100644 .vib/cloudnative-pg/vib-verify.json delete mode 100644 .vib/common-tests/ginkgo-utils/go.mod delete mode 100644 .vib/common-tests/ginkgo-utils/go.sum delete mode 100644 .vib/common-tests/ginkgo-utils/k8s.go delete mode 100644 .vib/common-tests/ginkgo-utils/utils.go delete mode 100644 .vib/common/vib-publish.json delete mode 100644 .vib/common/vib-verify.json delete mode 100644 .vib/concourse/cypress/cypress.config.js delete mode 100644 .vib/concourse/cypress/cypress/e2e/concourse.cy.js delete mode 100644 .vib/concourse/cypress/cypress/support/commands.js delete mode 100644 .vib/concourse/cypress/cypress/support/e2e.js delete mode 100644 .vib/concourse/goss/web/goss.yaml delete mode 100644 .vib/concourse/goss/worker/goss.yaml delete mode 100644 .vib/concourse/runtime-parameters.yaml delete mode 100644 .vib/concourse/vib-publish.json delete mode 100644 .vib/concourse/vib-verify.json delete mode 100644 .vib/consul/cypress/cypress.config.js delete mode 100644 .vib/consul/cypress/cypress/e2e/consul.cy.js delete mode 100644 .vib/consul/cypress/cypress/fixtures/keys.json delete mode 100644 .vib/consul/cypress/cypress/support/commands.js delete mode 100644 .vib/consul/cypress/cypress/support/e2e.js delete mode 100644 .vib/consul/cypress/cypress/support/utils.js delete mode 100644 .vib/consul/ginkgo/consul_suite_test.go delete mode 100644 .vib/consul/ginkgo/consul_test.go delete mode 100644 .vib/consul/ginkgo/go.mod delete mode 100644 .vib/consul/ginkgo/go.sum delete mode 100644 .vib/consul/goss/goss.yaml delete mode 100644 .vib/consul/runtime-parameters.yaml delete mode 100644 .vib/consul/vib-publish.json delete mode 100644 .vib/consul/vib-verify.json delete mode 100644 .vib/contour/ginkgo/contour.go delete mode 100644 .vib/contour/ginkgo/go.mod delete mode 100644 .vib/contour/ginkgo/go.sum delete mode 100644 .vib/contour/ginkgo/integration_suite_test.go delete mode 100644 .vib/contour/goss/goss.yaml delete mode 100644 .vib/contour/runtime-parameters.yaml delete mode 100644 .vib/contour/vib-action.config delete mode 100644 .vib/contour/vib-publish.json delete mode 100644 .vib/contour/vib-verify.json delete mode 100644 .vib/deepspeed/goss/goss.yaml delete mode 100644 .vib/deepspeed/runtime-parameters.yaml delete mode 100644 .vib/deepspeed/vib-publish.json delete mode 100644 .vib/deepspeed/vib-verify.json delete mode 100644 .vib/discourse/cypress/cypress.config.js delete mode 100644 .vib/discourse/cypress/cypress/e2e/discourse.cy.js delete mode 100644 .vib/discourse/cypress/cypress/fixtures/topics.json delete mode 100644 .vib/discourse/cypress/cypress/fixtures/users.json delete mode 100644 .vib/discourse/cypress/cypress/support/commands.js delete mode 100644 .vib/discourse/cypress/cypress/support/e2e.js delete mode 100644 .vib/discourse/cypress/cypress/support/utils.js delete mode 100644 .vib/discourse/goss/goss.yaml delete mode 100644 .vib/discourse/runtime-parameters.yaml delete mode 100644 .vib/discourse/vib-action.config delete mode 100644 .vib/discourse/vib-publish.json delete mode 100644 .vib/discourse/vib-verify.json delete mode 100644 .vib/dremio/cypress/cypress.config.js delete mode 100644 .vib/dremio/cypress/cypress/e2e/dremio.cy.js delete mode 100644 .vib/dremio/cypress/cypress/fixtures/database.json delete mode 100644 .vib/dremio/cypress/cypress/support/commands.js delete mode 100644 .vib/dremio/cypress/cypress/support/e2e.js delete mode 100644 .vib/dremio/cypress/cypress/support/utils.js delete mode 100644 .vib/dremio/goss/goss.yaml delete mode 100644 .vib/dremio/runtime-parameters.yaml delete mode 100644 .vib/dremio/vib-action.config delete mode 100644 .vib/dremio/vib-publish.json delete mode 100644 .vib/dremio/vib-verify.json delete mode 100644 .vib/drupal/cypress/cypress.config.js delete mode 100644 .vib/drupal/cypress/cypress/e2e/drupal.cy.js delete mode 100644 .vib/drupal/cypress/cypress/fixtures/articles.json delete mode 100644 .vib/drupal/cypress/cypress/fixtures/images/test_image.jpeg delete mode 100644 .vib/drupal/cypress/cypress/support/commands.js delete mode 100644 .vib/drupal/cypress/cypress/support/e2e.js delete mode 100644 .vib/drupal/cypress/cypress/support/utils.js delete mode 100644 .vib/drupal/goss/goss.yaml delete mode 100644 .vib/drupal/runtime-parameters.yaml delete mode 100644 .vib/drupal/vib-publish.json delete mode 100644 .vib/drupal/vib-verify.json delete mode 100644 .vib/ejbca/cypress/cypress.config.js delete mode 100644 .vib/ejbca/cypress/cypress/e2e/ejbca.cy.js delete mode 100644 .vib/ejbca/cypress/cypress/fixtures/certs.json delete mode 100644 .vib/ejbca/cypress/cypress/plugins/index.js delete mode 100644 .vib/ejbca/cypress/cypress/support/commands.js delete mode 100644 .vib/ejbca/cypress/cypress/support/e2e.js delete mode 100644 .vib/ejbca/goss/goss-wait.yaml delete mode 100644 .vib/ejbca/goss/goss.yaml delete mode 100644 .vib/ejbca/runtime-parameters.yaml delete mode 100644 .vib/ejbca/vib-publish.json delete mode 100644 .vib/ejbca/vib-verify.json delete mode 100644 .vib/elasticsearch/cypress/cypress.config.js delete mode 100644 .vib/elasticsearch/cypress/cypress/e2e/elasticsearch.cy.js delete mode 100644 .vib/elasticsearch/cypress/cypress/fixtures/documents.json delete mode 100644 .vib/elasticsearch/cypress/cypress/support/e2e.js delete mode 100644 .vib/elasticsearch/cypress/cypress/support/utils.js delete mode 100644 .vib/elasticsearch/ginkgo/elasticsearch_suite_test.go delete mode 100644 .vib/elasticsearch/ginkgo/elasticsearch_test.go delete mode 100644 .vib/elasticsearch/ginkgo/go.mod delete mode 100644 .vib/elasticsearch/ginkgo/go.sum delete mode 100644 .vib/elasticsearch/goss/goss.yaml delete mode 100644 .vib/elasticsearch/runtime-parameters.yaml delete mode 100644 .vib/elasticsearch/vib-publish.json delete mode 100644 .vib/elasticsearch/vib-verify.json delete mode 100644 .vib/envoy-gateway/goss/goss.yaml delete mode 100644 .vib/envoy-gateway/runtime-parameters.yaml delete mode 100644 .vib/envoy-gateway/vib-publish.json delete mode 100644 .vib/envoy-gateway/vib-verify.json delete mode 100644 .vib/etcd/ginkgo/etcd_suite_test.go delete mode 100644 .vib/etcd/ginkgo/etcd_test.go delete mode 100644 .vib/etcd/ginkgo/go.mod delete mode 100644 .vib/etcd/ginkgo/go.sum delete mode 100644 .vib/etcd/goss/goss.yaml delete mode 100644 .vib/etcd/runtime-parameters.yaml delete mode 100644 .vib/etcd/vib-publish.json delete mode 100644 .vib/etcd/vib-verify.json delete mode 100644 .vib/external-dns/cypress/cypress.config.js delete mode 100644 .vib/external-dns/cypress/cypress/e2e/external_dns.cy.js delete mode 100644 .vib/external-dns/cypress/cypress/support/e2e.js delete mode 100644 .vib/external-dns/goss/goss.yaml delete mode 100644 .vib/external-dns/runtime-parameters.yaml delete mode 100644 .vib/external-dns/vib-publish.json delete mode 100644 .vib/external-dns/vib-verify.json delete mode 100644 .vib/flink/cypress/cypress.config.js delete mode 100644 .vib/flink/cypress/cypress/e2e/flink.cy.js delete mode 100644 .vib/flink/cypress/cypress/support/e2e.js delete mode 100644 .vib/flink/goss/goss.yaml delete mode 100644 .vib/flink/runtime-parameters.yaml delete mode 100644 .vib/flink/vib-publish.json delete mode 100644 .vib/flink/vib-verify.json delete mode 100644 .vib/fluent-bit/goss/goss.yaml delete mode 100644 .vib/fluent-bit/runtime-parameters.yaml delete mode 100644 .vib/fluent-bit/vib-publish.json delete mode 100644 .vib/fluent-bit/vib-verify.json delete mode 100644 .vib/fluentd/goss/goss-wait.yaml delete mode 100644 .vib/fluentd/goss/goss.yaml delete mode 100644 .vib/fluentd/runtime-parameters.yaml delete mode 100644 .vib/fluentd/vib-publish.json delete mode 100644 .vib/fluentd/vib-verify.json delete mode 100644 .vib/flux/goss/goss-wait.yaml delete mode 100644 .vib/flux/goss/goss.yaml delete mode 100644 .vib/flux/runtime-parameters.yaml delete mode 100644 .vib/flux/vib-publish.json delete mode 100644 .vib/flux/vib-verify.json delete mode 100644 .vib/ghost/cypress/cypress.config.js delete mode 100644 .vib/ghost/cypress/cypress/e2e/ghost.cy.js delete mode 100644 .vib/ghost/cypress/cypress/fixtures/images/test_image.jpeg delete mode 100644 .vib/ghost/cypress/cypress/fixtures/posts.json delete mode 100644 .vib/ghost/cypress/cypress/support/commands.js delete mode 100644 .vib/ghost/cypress/cypress/support/e2e.js delete mode 100644 .vib/ghost/cypress/cypress/support/utils.js delete mode 100644 .vib/ghost/goss/goss.yaml delete mode 100644 .vib/ghost/runtime-parameters.yaml delete mode 100644 .vib/ghost/vib-publish.json delete mode 100644 .vib/ghost/vib-verify.json delete mode 100644 .vib/gitea/cypress/cypress.config.js delete mode 100644 .vib/gitea/cypress/cypress/e2e/gitea.cy.js delete mode 100644 .vib/gitea/cypress/cypress/fixtures/repo.json delete mode 100644 .vib/gitea/cypress/cypress/support/commands.js delete mode 100644 .vib/gitea/cypress/cypress/support/e2e.js delete mode 100644 .vib/gitea/cypress/cypress/support/utils.js delete mode 100644 .vib/gitea/goss/goss-wait.yaml delete mode 100644 .vib/gitea/goss/goss.yaml delete mode 100644 .vib/gitea/runtime-parameters.yaml delete mode 100644 .vib/gitea/vib-publish.json delete mode 100644 .vib/gitea/vib-verify.json delete mode 100644 .vib/gitlab-runner/goss/goss.yaml delete mode 100644 .vib/gitlab-runner/runtime-parameters.yaml delete mode 100644 .vib/gitlab-runner/vib-publish.json delete mode 100644 .vib/gitlab-runner/vib-verify.json delete mode 100644 .vib/grafana-alloy/cypress/cypress.config.js delete mode 100644 .vib/grafana-alloy/cypress/cypress/e2e/grafana_alloy.cy.js delete mode 100644 .vib/grafana-alloy/cypress/cypress/support/commands.js delete mode 100644 .vib/grafana-alloy/cypress/cypress/support/e2e.js delete mode 100644 .vib/grafana-alloy/goss/goss.yaml delete mode 100644 .vib/grafana-alloy/runtime-parameters.yaml delete mode 100644 .vib/grafana-alloy/vib-publish.json delete mode 100644 .vib/grafana-alloy/vib-verify.json delete mode 100644 .vib/grafana-k6-operator/goss/goss.yaml delete mode 100644 .vib/grafana-k6-operator/runtime-parameters.yaml delete mode 100644 .vib/grafana-k6-operator/vib-publish.json delete mode 100644 .vib/grafana-k6-operator/vib-verify.json delete mode 100644 .vib/grafana-loki/cypress/cypress.config.js delete mode 100644 .vib/grafana-loki/cypress/cypress/e2e/grafana_loki.cy.js delete mode 100644 .vib/grafana-loki/cypress/cypress/fixtures/logs-body.json delete mode 100644 .vib/grafana-loki/cypress/cypress/support/e2e.js delete mode 100644 .vib/grafana-loki/cypress/cypress/support/utils.js delete mode 100644 .vib/grafana-loki/goss/alloy/goss.yaml delete mode 100644 .vib/grafana-loki/goss/querier/goss.yaml delete mode 100644 .vib/grafana-loki/runtime-parameters.yaml delete mode 100644 .vib/grafana-loki/vib-publish.json delete mode 100644 .vib/grafana-loki/vib-verify.json delete mode 100644 .vib/grafana-mimir/cypress/cypress.config.js delete mode 100644 .vib/grafana-mimir/cypress/cypress/e2e/grafana_mimir.cy.js delete mode 100644 .vib/grafana-mimir/cypress/cypress/fixtures/metric-body.json delete mode 100644 .vib/grafana-mimir/cypress/cypress/support/e2e.js delete mode 100644 .vib/grafana-mimir/cypress/cypress/support/utils.js delete mode 100644 .vib/grafana-mimir/goss/goss.yaml delete mode 100644 .vib/grafana-mimir/runtime-parameters.yaml delete mode 100644 .vib/grafana-mimir/vib-action.config delete mode 100644 .vib/grafana-mimir/vib-publish.json delete mode 100644 .vib/grafana-mimir/vib-verify.json delete mode 100644 .vib/grafana-operator/cypress/cypress.config.js delete mode 100644 .vib/grafana-operator/cypress/cypress/e2e/grafana_operator.cy.js delete mode 100644 .vib/grafana-operator/cypress/cypress/fixtures/dashboards.json delete mode 100644 .vib/grafana-operator/cypress/cypress/fixtures/datasources.json delete mode 100644 .vib/grafana-operator/cypress/cypress/fixtures/test-dashboard.json delete mode 100644 .vib/grafana-operator/cypress/cypress/support/commands.js delete mode 100644 .vib/grafana-operator/cypress/cypress/support/e2e.js delete mode 100644 .vib/grafana-operator/cypress/cypress/support/utils.js delete mode 100644 .vib/grafana-operator/goss/goss.yaml delete mode 100644 .vib/grafana-operator/runtime-parameters.yaml delete mode 100644 .vib/grafana-operator/vib-publish.json delete mode 100644 .vib/grafana-operator/vib-verify.json delete mode 100644 .vib/grafana-tempo/cypress/cypress.config.js delete mode 100644 .vib/grafana-tempo/cypress/cypress/e2e/grafana_tempo.cy.js delete mode 100644 .vib/grafana-tempo/cypress/cypress/plugins/index.js delete mode 100644 .vib/grafana-tempo/cypress/cypress/support/e2e.js delete mode 100644 .vib/grafana-tempo/goss/goss.yaml delete mode 100644 .vib/grafana-tempo/runtime-parameters.yaml delete mode 100644 .vib/grafana-tempo/vib-publish.json delete mode 100644 .vib/grafana-tempo/vib-verify.json delete mode 100644 .vib/grafana/cypress/cypress.config.js delete mode 100644 .vib/grafana/cypress/cypress/e2e/grafana.cy.js delete mode 100644 .vib/grafana/cypress/cypress/fixtures/dashboards.json delete mode 100644 .vib/grafana/cypress/cypress/fixtures/datasources.json delete mode 100644 .vib/grafana/cypress/cypress/fixtures/test-dashboard.json delete mode 100644 .vib/grafana/cypress/cypress/support/commands.js delete mode 100644 .vib/grafana/cypress/cypress/support/e2e.js delete mode 100644 .vib/grafana/cypress/cypress/support/utils.js delete mode 100644 .vib/grafana/goss/goss.yaml delete mode 100644 .vib/grafana/runtime-parameters.yaml delete mode 100644 .vib/grafana/vib-publish.json delete mode 100644 .vib/grafana/vib-verify.json delete mode 100644 .vib/haproxy/cypress/cypress.config.js delete mode 100644 .vib/haproxy/cypress/cypress/e2e/haproxy.cy.js delete mode 100644 .vib/haproxy/cypress/cypress/support/e2e.js delete mode 100644 .vib/haproxy/goss/goss.yaml delete mode 100644 .vib/haproxy/runtime-parameters.yaml delete mode 100644 .vib/haproxy/vib-publish.json delete mode 100644 .vib/haproxy/vib-verify.json delete mode 100644 .vib/harbor/cypress/cypress.config.js delete mode 100644 .vib/harbor/cypress/cypress/e2e/harbor.cy.js delete mode 100644 .vib/harbor/cypress/cypress/fixtures/projects.json delete mode 100644 .vib/harbor/cypress/cypress/fixtures/registries.json delete mode 100644 .vib/harbor/cypress/cypress/support/commands.js delete mode 100644 .vib/harbor/cypress/cypress/support/e2e.js delete mode 100644 .vib/harbor/cypress/cypress/support/utils.js delete mode 100644 .vib/harbor/goss/goss.yaml delete mode 100644 .vib/harbor/runtime-parameters.yaml delete mode 100644 .vib/harbor/vib-publish.json delete mode 100644 .vib/harbor/vib-verify.json delete mode 100644 .vib/influxdb/ginkgo/go.mod delete mode 100644 .vib/influxdb/ginkgo/go.sum delete mode 100644 .vib/influxdb/ginkgo/influxdb_suite_test.go delete mode 100644 .vib/influxdb/ginkgo/influxdb_test.go delete mode 100644 .vib/influxdb/goss/goss.yaml delete mode 100644 .vib/influxdb/runtime-parameters.yaml delete mode 100644 .vib/influxdb/vib-publish.json delete mode 100644 .vib/influxdb/vib-verify.json delete mode 100644 .vib/jaeger/cypress/cypress.config.js delete mode 100644 .vib/jaeger/cypress/cypress/e2e/jaeger.cy.js delete mode 100644 .vib/jaeger/cypress/cypress/support/e2e.js delete mode 100644 .vib/jaeger/goss/goss.yaml delete mode 100644 .vib/jaeger/runtime-parameters.yaml delete mode 100644 .vib/jaeger/vib-action.config delete mode 100644 .vib/jaeger/vib-publish.json delete mode 100644 .vib/jaeger/vib-verify.json delete mode 100644 .vib/janusgraph/goss/goss.yaml delete mode 100755 .vib/janusgraph/goss/testfiles/test.groovy delete mode 100644 .vib/janusgraph/runtime-parameters.yaml delete mode 100644 .vib/janusgraph/vib-publish.json delete mode 100644 .vib/janusgraph/vib-verify.json delete mode 100644 .vib/jenkins/cypress/cypress.config.js delete mode 100644 .vib/jenkins/cypress/cypress/e2e/jenkins.cy.js delete mode 100644 .vib/jenkins/cypress/cypress/fixtures/items.json delete mode 100644 .vib/jenkins/cypress/cypress/support/commands.js delete mode 100644 .vib/jenkins/cypress/cypress/support/e2e.js delete mode 100644 .vib/jenkins/cypress/cypress/support/utils.js delete mode 100644 .vib/jenkins/goss/goss.yaml delete mode 100644 .vib/jenkins/runtime-parameters.yaml delete mode 100644 .vib/jenkins/vib-publish.json delete mode 100644 .vib/jenkins/vib-verify.json delete mode 100644 .vib/jupyterhub/cypress/cypress.config.js delete mode 100644 .vib/jupyterhub/cypress/cypress/e2e/jupyterhub.cy.js delete mode 100644 .vib/jupyterhub/cypress/cypress/fixtures/notebook_template.ipynb delete mode 100644 .vib/jupyterhub/cypress/cypress/support/commands.js delete mode 100644 .vib/jupyterhub/cypress/cypress/support/e2e.js delete mode 100644 .vib/jupyterhub/cypress/cypress/support/utils.js delete mode 100644 .vib/jupyterhub/goss/goss.yaml delete mode 100644 .vib/jupyterhub/runtime-parameters.yaml delete mode 100644 .vib/jupyterhub/vib-action.config delete mode 100644 .vib/jupyterhub/vib-publish.json delete mode 100644 .vib/jupyterhub/vib-verify.json delete mode 100644 .vib/kafka/ginkgo/go.mod delete mode 100644 .vib/kafka/ginkgo/go.sum delete mode 100644 .vib/kafka/ginkgo/kafka_suite_test.go delete mode 100644 .vib/kafka/ginkgo/kafka_test.go delete mode 100644 .vib/kafka/goss/goss.yaml delete mode 100644 .vib/kafka/runtime-parameters.yaml delete mode 100644 .vib/kafka/vib-publish.json delete mode 100644 .vib/kafka/vib-verify.json delete mode 100644 .vib/keycloak/cypress/cypress.config.js delete mode 100644 .vib/keycloak/cypress/cypress/e2e/keycloak.cy.js delete mode 100644 .vib/keycloak/cypress/cypress/fixtures/empty-localization-file.json delete mode 100644 .vib/keycloak/cypress/cypress/fixtures/import-data.json delete mode 100644 .vib/keycloak/cypress/cypress/fixtures/locales.json delete mode 100644 .vib/keycloak/cypress/cypress/fixtures/users.json delete mode 100644 .vib/keycloak/cypress/cypress/support/commands.js delete mode 100644 .vib/keycloak/cypress/cypress/support/e2e.js delete mode 100644 .vib/keycloak/cypress/cypress/support/utils.js delete mode 100644 .vib/keycloak/goss/goss.yaml delete mode 100644 .vib/keycloak/runtime-parameters.yaml delete mode 100644 .vib/keycloak/vib-publish.json delete mode 100644 .vib/keycloak/vib-verify.json delete mode 100644 .vib/keydb/ginkgo/go.mod delete mode 100644 .vib/keydb/ginkgo/go.sum delete mode 100644 .vib/keydb/ginkgo/keydb_suite_test.go delete mode 100644 .vib/keydb/ginkgo/keydb_test.go delete mode 100644 .vib/keydb/goss/goss.yaml delete mode 100644 .vib/keydb/runtime-parameters.yaml delete mode 100644 .vib/keydb/vib-publish.json delete mode 100644 .vib/keydb/vib-verify.json delete mode 100644 .vib/kiam/vib-publish.json delete mode 100644 .vib/kiam/vib-verify.json delete mode 100644 .vib/kibana/cypress/cypress.config.js delete mode 100644 .vib/kibana/cypress/cypress/e2e/kibana.cy.js delete mode 100644 .vib/kibana/cypress/cypress/fixtures/dashboards.json delete mode 100644 .vib/kibana/cypress/cypress/fixtures/indexes.json delete mode 100644 .vib/kibana/cypress/cypress/fixtures/test-data-to-import.ndjson delete mode 100644 .vib/kibana/cypress/cypress/fixtures/visualizations.json delete mode 100644 .vib/kibana/cypress/cypress/support/commands.js delete mode 100644 .vib/kibana/cypress/cypress/support/e2e.js delete mode 100644 .vib/kibana/cypress/cypress/support/utils.js delete mode 100644 .vib/kibana/goss/goss.yaml delete mode 100644 .vib/kibana/runtime-parameters.yaml delete mode 100644 .vib/kibana/vib-publish.json delete mode 100644 .vib/kibana/vib-verify.json delete mode 100644 .vib/kong/cypress/cypress.config.js delete mode 100644 .vib/kong/cypress/cypress/e2e/kong.cy.js delete mode 100644 .vib/kong/cypress/cypress/fixtures/routes.json delete mode 100644 .vib/kong/cypress/cypress/fixtures/services.json delete mode 100644 .vib/kong/cypress/cypress/support/e2e.js delete mode 100644 .vib/kong/cypress/cypress/support/utils.js delete mode 100644 .vib/kong/goss/goss.yaml delete mode 100644 .vib/kong/runtime-parameters.yaml delete mode 100644 .vib/kong/vib-publish.json delete mode 100644 .vib/kong/vib-verify.json delete mode 100644 .vib/kube-arangodb/cypress/cypress.config.js delete mode 100644 .vib/kube-arangodb/cypress/cypress/e2e/kube-arangodb.cy.js delete mode 100644 .vib/kube-arangodb/cypress/cypress/fixtures/deployments.json delete mode 100644 .vib/kube-arangodb/cypress/cypress/support/commands.js delete mode 100644 .vib/kube-arangodb/cypress/cypress/support/e2e.js delete mode 100644 .vib/kube-arangodb/goss/goss.yaml delete mode 100644 .vib/kube-arangodb/runtime-parameters.yaml delete mode 100644 .vib/kube-arangodb/vib-publish.json delete mode 100644 .vib/kube-arangodb/vib-verify.json delete mode 100644 .vib/kube-prometheus/cypress/cypress.config.js delete mode 100644 .vib/kube-prometheus/cypress/cypress.env.json delete mode 100644 .vib/kube-prometheus/cypress/cypress/e2e/kube_prometheus.cy.js delete mode 100644 .vib/kube-prometheus/cypress/cypress/support/e2e.js delete mode 100644 .vib/kube-prometheus/goss/goss.yaml delete mode 100644 .vib/kube-prometheus/runtime-parameters.yaml delete mode 100644 .vib/kube-prometheus/vib-action.config delete mode 100644 .vib/kube-prometheus/vib-publish.json delete mode 100644 .vib/kube-prometheus/vib-verify.json delete mode 100644 .vib/kube-state-metrics/goss/goss.yaml delete mode 100644 .vib/kube-state-metrics/runtime-parameters.yaml delete mode 100644 .vib/kube-state-metrics/vib-publish.json delete mode 100644 .vib/kube-state-metrics/vib-verify.json delete mode 100644 .vib/kuberay/cypress/cypress.config.js delete mode 100644 .vib/kuberay/cypress/cypress/e2e/kuberay.cy.js delete mode 100644 .vib/kuberay/cypress/cypress/fixtures/clusters.json delete mode 100644 .vib/kuberay/cypress/cypress/fixtures/scripts.json delete mode 100644 .vib/kuberay/cypress/cypress/support/commands.js delete mode 100644 .vib/kuberay/cypress/cypress/support/e2e.js delete mode 100644 .vib/kuberay/goss/goss.yaml delete mode 100644 .vib/kuberay/runtime-parameters.yaml delete mode 100644 .vib/kuberay/vib-action.config delete mode 100644 .vib/kuberay/vib-publish.json delete mode 100644 .vib/kuberay/vib-verify.json delete mode 100644 .vib/kubernetes-event-exporter/ginkgo/go.mod delete mode 100644 .vib/kubernetes-event-exporter/ginkgo/go.sum delete mode 100644 .vib/kubernetes-event-exporter/ginkgo/integration_suite_test.go delete mode 100644 .vib/kubernetes-event-exporter/ginkgo/kubernetes_event_exporter.go delete mode 100644 .vib/kubernetes-event-exporter/goss/goss.yaml delete mode 100644 .vib/kubernetes-event-exporter/runtime-parameters.yaml delete mode 100644 .vib/kubernetes-event-exporter/vib-publish.json delete mode 100644 .vib/kubernetes-event-exporter/vib-verify.json delete mode 100644 .vib/logstash/cypress/cypress.config.js delete mode 100644 .vib/logstash/cypress/cypress/e2e/logstash.cy.js delete mode 100644 .vib/logstash/cypress/cypress/support/e2e.js delete mode 100644 .vib/logstash/goss/goss.yaml delete mode 100644 .vib/logstash/runtime-parameters.yaml delete mode 100644 .vib/logstash/vib-publish.json delete mode 100644 .vib/logstash/vib-verify.json delete mode 100644 .vib/mariadb-galera/ginkgo/go.mod delete mode 100644 .vib/mariadb-galera/ginkgo/go.sum delete mode 100644 .vib/mariadb-galera/ginkgo/mariadb_suite_test.go delete mode 100644 .vib/mariadb-galera/ginkgo/mariadb_test.go delete mode 100644 .vib/mariadb-galera/goss/goss.yaml delete mode 100644 .vib/mariadb-galera/runtime-parameters.yaml delete mode 100644 .vib/mariadb-galera/vib-publish.json delete mode 100644 .vib/mariadb-galera/vib-verify.json delete mode 100644 .vib/mariadb/ginkgo/go.mod delete mode 100644 .vib/mariadb/ginkgo/go.sum delete mode 100644 .vib/mariadb/ginkgo/mariadb_suite_test.go delete mode 100644 .vib/mariadb/ginkgo/mariadb_test.go delete mode 100644 .vib/mariadb/goss/goss.yaml delete mode 100644 .vib/mariadb/runtime-parameters.yaml delete mode 100644 .vib/mariadb/vib-publish.json delete mode 100644 .vib/mariadb/vib-verify.json delete mode 100644 .vib/mastodon/cypress/cypress.config.js delete mode 100644 .vib/mastodon/cypress/cypress/e2e/mastodon.cy.js delete mode 100644 .vib/mastodon/cypress/cypress/fixtures/images/test_image.jpeg delete mode 100644 .vib/mastodon/cypress/cypress/fixtures/tweets.json delete mode 100644 .vib/mastodon/cypress/cypress/support/commands.js delete mode 100644 .vib/mastodon/cypress/cypress/support/e2e.js delete mode 100644 .vib/mastodon/cypress/cypress/support/utils.js delete mode 100644 .vib/mastodon/goss/goss.yaml delete mode 100644 .vib/mastodon/runtime-parameters.yaml delete mode 100644 .vib/mastodon/vib-action.config delete mode 100644 .vib/mastodon/vib-publish.json delete mode 100644 .vib/mastodon/vib-verify.json delete mode 100644 .vib/matomo/cypress/cypress.config.js delete mode 100644 .vib/matomo/cypress/cypress/e2e/matomo.cy.js delete mode 100644 .vib/matomo/cypress/cypress/fixtures/websites.json delete mode 100644 .vib/matomo/cypress/cypress/support/commands.js delete mode 100644 .vib/matomo/cypress/cypress/support/e2e.js delete mode 100644 .vib/matomo/cypress/cypress/support/utils.js delete mode 100644 .vib/matomo/goss/goss.yaml delete mode 100644 .vib/matomo/runtime-parameters.yaml delete mode 100644 .vib/matomo/vib-publish.json delete mode 100644 .vib/matomo/vib-verify.json delete mode 100644 .vib/memcached/goss/goss.yaml delete mode 100644 .vib/memcached/runtime-parameters.yaml delete mode 100644 .vib/memcached/vib-publish.json delete mode 100644 .vib/memcached/vib-verify.json delete mode 100644 .vib/metallb/ginkgo/go.mod delete mode 100644 .vib/metallb/ginkgo/go.sum delete mode 100644 .vib/metallb/ginkgo/integration_suite_test.go delete mode 100644 .vib/metallb/ginkgo/metallb_test.go delete mode 100644 .vib/metallb/goss/goss.yaml delete mode 100644 .vib/metallb/runtime-parameters.yaml delete mode 100644 .vib/metallb/vib-action.config delete mode 100644 .vib/metallb/vib-publish.json delete mode 100644 .vib/metallb/vib-verify.json delete mode 100644 .vib/metrics-server/goss/goss.yaml delete mode 100644 .vib/metrics-server/runtime-parameters.yaml delete mode 100644 .vib/metrics-server/vib-publish.json delete mode 100644 .vib/metrics-server/vib-verify.json delete mode 100644 .vib/milvus/cypress/cypress.config.js delete mode 100644 .vib/milvus/cypress/cypress/e2e/milvus.cy.js delete mode 100644 .vib/milvus/cypress/cypress/fixtures/collection.json delete mode 100644 .vib/milvus/cypress/cypress/support/commands.js delete mode 100644 .vib/milvus/cypress/cypress/support/e2e.js delete mode 100644 .vib/milvus/cypress/cypress/support/utils.js delete mode 100644 .vib/milvus/goss/goss.yaml delete mode 100644 .vib/milvus/runtime-parameters.yaml delete mode 100644 .vib/milvus/vib-action.config delete mode 100644 .vib/milvus/vib-publish.json delete mode 100644 .vib/milvus/vib-verify.json delete mode 100644 .vib/minio-operator/goss/goss.yaml delete mode 100644 .vib/minio-operator/runtime-parameters.yaml delete mode 100644 .vib/minio-operator/vib-publish.json delete mode 100644 .vib/minio-operator/vib-verify.json delete mode 100644 .vib/minio/cypress/cypress.config.js delete mode 100644 .vib/minio/cypress/cypress/e2e/minio.cy.js delete mode 100644 .vib/minio/cypress/cypress/fixtures/buckets.json delete mode 100644 .vib/minio/cypress/cypress/fixtures/example.json delete mode 100644 .vib/minio/cypress/cypress/support/commands.js delete mode 100644 .vib/minio/cypress/cypress/support/e2e.js delete mode 100644 .vib/minio/cypress/cypress/support/utils.js delete mode 100644 .vib/minio/ginkgo/go.mod delete mode 100644 .vib/minio/ginkgo/go.sum delete mode 100644 .vib/minio/ginkgo/minio_suite_test.go delete mode 100644 .vib/minio/ginkgo/minio_test.go delete mode 100644 .vib/minio/goss/goss.yaml delete mode 100644 .vib/minio/runtime-parameters.yaml delete mode 100644 .vib/minio/vib-publish.json delete mode 100644 .vib/minio/vib-verify.json delete mode 100644 .vib/mlflow/cypress/cypress.config.js delete mode 100644 .vib/mlflow/cypress/cypress/e2e/mlflow.cy.js delete mode 100644 .vib/mlflow/cypress/cypress/fixtures/scripts.json delete mode 100644 .vib/mlflow/cypress/cypress/support/commands.js delete mode 100644 .vib/mlflow/cypress/cypress/support/e2e.js delete mode 100644 .vib/mlflow/goss/goss-wait.yaml delete mode 100644 .vib/mlflow/goss/goss.yaml delete mode 100644 .vib/mlflow/runtime-parameters.yaml delete mode 100644 .vib/mlflow/vib-publish.json delete mode 100644 .vib/mlflow/vib-verify.json delete mode 100644 .vib/mongodb-sharded/ginkgo/go.mod delete mode 100644 .vib/mongodb-sharded/ginkgo/go.sum delete mode 100644 .vib/mongodb-sharded/ginkgo/mongodb_suite_test.go delete mode 100644 .vib/mongodb-sharded/ginkgo/mongodb_test.go delete mode 100644 .vib/mongodb-sharded/goss/goss.yaml delete mode 100644 .vib/mongodb-sharded/runtime-parameters.yaml delete mode 100644 .vib/mongodb-sharded/vib-action.config delete mode 100644 .vib/mongodb-sharded/vib-publish.json delete mode 100644 .vib/mongodb-sharded/vib-verify.json delete mode 100644 .vib/mongodb/ginkgo/go.mod delete mode 100644 .vib/mongodb/ginkgo/go.sum delete mode 100644 .vib/mongodb/ginkgo/mongodb_suite_test.go delete mode 100644 .vib/mongodb/ginkgo/mongodb_test.go delete mode 100644 .vib/mongodb/goss/goss.yaml delete mode 100644 .vib/mongodb/runtime-parameters.yaml delete mode 100644 .vib/mongodb/vib-publish.json delete mode 100644 .vib/mongodb/vib-verify.json delete mode 100644 .vib/moodle/cypress/cypress.config.js delete mode 100644 .vib/moodle/cypress/cypress/e2e/moodle.cy.js delete mode 100644 .vib/moodle/cypress/cypress/fixtures/courses.json delete mode 100644 .vib/moodle/cypress/cypress/fixtures/images/test_image.jpeg delete mode 100644 .vib/moodle/cypress/cypress/support/commands.js delete mode 100644 .vib/moodle/cypress/cypress/support/e2e.js delete mode 100644 .vib/moodle/cypress/cypress/support/utils.js delete mode 100644 .vib/moodle/goss/goss.yaml delete mode 100644 .vib/moodle/runtime-parameters.yaml delete mode 100644 .vib/moodle/vib-publish.json delete mode 100644 .vib/moodle/vib-verify.json delete mode 100644 .vib/multus-cni/goss/goss.yaml delete mode 100644 .vib/multus-cni/runtime-parameters.yaml delete mode 100644 .vib/multus-cni/vib-publish.json delete mode 100644 .vib/multus-cni/vib-verify.json delete mode 100644 .vib/mysql/ginkgo/go.mod delete mode 100644 .vib/mysql/ginkgo/go.sum delete mode 100644 .vib/mysql/ginkgo/mysql_suite_test.go delete mode 100644 .vib/mysql/ginkgo/mysql_test.go delete mode 100644 .vib/mysql/goss/goss.yaml delete mode 100644 .vib/mysql/runtime-parameters.yaml delete mode 100644 .vib/mysql/vib-publish.json delete mode 100644 .vib/mysql/vib-verify.json delete mode 100644 .vib/nats/cypress/cypress.config.js delete mode 100644 .vib/nats/cypress/cypress.env.json delete mode 100644 .vib/nats/cypress/cypress/e2e/nats.cy.js delete mode 100644 .vib/nats/cypress/cypress/support/e2e.js delete mode 100644 .vib/nats/ginkgo/go.mod delete mode 100644 .vib/nats/ginkgo/go.sum delete mode 100644 .vib/nats/ginkgo/nats_suite_test.go delete mode 100644 .vib/nats/ginkgo/nats_test.go delete mode 100644 .vib/nats/runtime-parameters.yaml delete mode 100644 .vib/nats/vib-publish.json delete mode 100644 .vib/nats/vib-verify.json delete mode 100644 .vib/neo4j/cypress/cypress.config.js delete mode 100644 .vib/neo4j/cypress/cypress/e2e/neo4j.cy.js delete mode 100644 .vib/neo4j/cypress/cypress/fixtures/users.json delete mode 100644 .vib/neo4j/cypress/cypress/support/commands.js delete mode 100644 .vib/neo4j/cypress/cypress/support/e2e.js delete mode 100644 .vib/neo4j/cypress/cypress/support/utils.js delete mode 100644 .vib/neo4j/goss/goss.yaml delete mode 100644 .vib/neo4j/runtime-parameters.yaml delete mode 100644 .vib/neo4j/vib-publish.json delete mode 100644 .vib/neo4j/vib-verify.json delete mode 100644 .vib/nessie/cypress/cypress.config.js delete mode 100644 .vib/nessie/cypress/cypress/e2e/nessie.cy.js delete mode 100644 .vib/nessie/cypress/cypress/fixtures/tags.json delete mode 100644 .vib/nessie/cypress/cypress/support/e2e.js delete mode 100644 .vib/nessie/ginkgo/go.mod delete mode 100644 .vib/nessie/ginkgo/go.sum delete mode 100644 .vib/nessie/ginkgo/nessie_suite_test.go delete mode 100644 .vib/nessie/ginkgo/nessie_test.go delete mode 100644 .vib/nessie/goss/goss.yaml delete mode 100644 .vib/nessie/runtime-parameters.yaml delete mode 100644 .vib/nessie/vib-publish.json delete mode 100644 .vib/nessie/vib-verify.json delete mode 100644 .vib/nginx-ingress-controller/ginkgo/go.mod delete mode 100644 .vib/nginx-ingress-controller/ginkgo/go.sum delete mode 100644 .vib/nginx-ingress-controller/ginkgo/integration_suite_test.go delete mode 100644 .vib/nginx-ingress-controller/ginkgo/nginx_ingress_controller_test.go delete mode 100644 .vib/nginx-ingress-controller/goss/goss.yaml delete mode 100644 .vib/nginx-ingress-controller/runtime-parameters.yaml delete mode 100644 .vib/nginx-ingress-controller/vib-action.config delete mode 100644 .vib/nginx-ingress-controller/vib-publish.json delete mode 100644 .vib/nginx-ingress-controller/vib-verify.json delete mode 100644 .vib/nginx/cypress/cypress.config.js delete mode 100644 .vib/nginx/cypress/cypress/e2e/nginx.cy.js delete mode 100644 .vib/nginx/cypress/cypress/support/e2e.js delete mode 100644 .vib/nginx/goss/goss.yaml delete mode 100644 .vib/nginx/runtime-parameters.yaml delete mode 100644 .vib/nginx/vib-publish.json delete mode 100644 .vib/nginx/vib-verify.json delete mode 100644 .vib/node-exporter/cypress/cypress.config.js delete mode 100644 .vib/node-exporter/cypress/cypress/e2e/node_exporter.cy.js delete mode 100644 .vib/node-exporter/cypress/cypress/support/e2e.js delete mode 100644 .vib/node-exporter/goss/goss.yaml delete mode 100644 .vib/node-exporter/runtime-parameters.yaml delete mode 100644 .vib/node-exporter/vib-publish.json delete mode 100644 .vib/node-exporter/vib-verify.json delete mode 100644 .vib/oauth2-proxy/cypress/cypress.config.js delete mode 100644 .vib/oauth2-proxy/cypress/cypress/e2e/oauth2-proxy.cy.js delete mode 100644 .vib/oauth2-proxy/cypress/cypress/support/commands.js delete mode 100644 .vib/oauth2-proxy/cypress/cypress/support/e2e.js delete mode 100644 .vib/oauth2-proxy/goss/goss.yaml delete mode 100644 .vib/oauth2-proxy/runtime-parameters.yaml delete mode 100644 .vib/oauth2-proxy/vib-publish.json delete mode 100644 .vib/oauth2-proxy/vib-verify.json delete mode 100644 .vib/odoo/cypress/cypress.config.js delete mode 100644 .vib/odoo/cypress/cypress/e2e/odoo.cy.js delete mode 100644 .vib/odoo/cypress/cypress/fixtures/users.json delete mode 100644 .vib/odoo/cypress/cypress/support/commands.js delete mode 100644 .vib/odoo/cypress/cypress/support/e2e.js delete mode 100644 .vib/odoo/cypress/cypress/support/utils.js delete mode 100644 .vib/odoo/goss/goss.yaml delete mode 100644 .vib/odoo/runtime-parameters.yaml delete mode 100644 .vib/odoo/vib-publish.json delete mode 100644 .vib/odoo/vib-verify.json delete mode 100644 .vib/opensearch/cypress/cypress.config.js delete mode 100644 .vib/opensearch/cypress/cypress/e2e/opensearch.cy.js delete mode 100644 .vib/opensearch/cypress/cypress/fixtures/documents.json delete mode 100644 .vib/opensearch/cypress/cypress/support/e2e.js delete mode 100644 .vib/opensearch/cypress/cypress/support/utils.js delete mode 100644 .vib/opensearch/ginkgo/go.mod delete mode 100644 .vib/opensearch/ginkgo/go.sum delete mode 100644 .vib/opensearch/ginkgo/opensearch_suite_test.go delete mode 100644 .vib/opensearch/ginkgo/opensearch_test.go delete mode 100644 .vib/opensearch/goss/goss.yaml delete mode 100644 .vib/opensearch/runtime-parameters.yaml delete mode 100644 .vib/opensearch/vib-action.config delete mode 100644 .vib/opensearch/vib-publish.json delete mode 100644 .vib/opensearch/vib-verify.json delete mode 100644 .vib/parse/cypress/cypress.config.js delete mode 100644 .vib/parse/cypress/cypress/e2e/parse.cy.js delete mode 100644 .vib/parse/cypress/cypress/fixtures/high_score_stats.json delete mode 100644 .vib/parse/cypress/cypress/support/e2e.js delete mode 100644 .vib/parse/cypress/cypress/support/utils.js delete mode 100644 .vib/parse/goss/dashboard/goss.yaml delete mode 100644 .vib/parse/goss/server/goss.yaml delete mode 100644 .vib/parse/runtime-parameters.yaml delete mode 100644 .vib/parse/vib-publish.json delete mode 100644 .vib/parse/vib-verify.json delete mode 100644 .vib/phpmyadmin/cypress/cypress.config.js delete mode 100644 .vib/phpmyadmin/cypress/cypress/e2e/phpmyadmin.cy.js delete mode 100644 .vib/phpmyadmin/cypress/cypress/fixtures/testdata.json delete mode 100644 .vib/phpmyadmin/cypress/cypress/support/commands.js delete mode 100644 .vib/phpmyadmin/cypress/cypress/support/e2e.js delete mode 100644 .vib/phpmyadmin/cypress/cypress/support/utils.js delete mode 100644 .vib/phpmyadmin/goss/goss.yaml delete mode 100644 .vib/phpmyadmin/runtime-parameters.yaml delete mode 100644 .vib/phpmyadmin/vib-publish.json delete mode 100644 .vib/phpmyadmin/vib-verify.json delete mode 100644 .vib/pinniped/ginkgo/go.mod delete mode 100644 .vib/pinniped/ginkgo/go.sum delete mode 100644 .vib/pinniped/ginkgo/integration_suite_test.go delete mode 100644 .vib/pinniped/ginkgo/pinniped_test.go delete mode 100644 .vib/pinniped/ginkgo/scripts/pinniped-auth.sh delete mode 100644 .vib/pinniped/runtime-parameters.yaml delete mode 100644 .vib/pinniped/vib-action.config delete mode 100644 .vib/pinniped/vib-publish.json delete mode 100644 .vib/pinniped/vib-verify.json delete mode 100644 .vib/postgresql-ha/ginkgo/go.mod delete mode 100644 .vib/postgresql-ha/ginkgo/go.sum delete mode 100644 .vib/postgresql-ha/ginkgo/postgresql_suite_test.go delete mode 100644 .vib/postgresql-ha/ginkgo/postgresql_test.go delete mode 100644 .vib/postgresql-ha/goss/pgpool/goss.yaml delete mode 100644 .vib/postgresql-ha/goss/repmgr/goss.yaml delete mode 100644 .vib/postgresql-ha/runtime-parameters.yaml delete mode 100644 .vib/postgresql-ha/vib-publish.json delete mode 100644 .vib/postgresql-ha/vib-verify.json delete mode 100644 .vib/postgresql/ginkgo/go.mod delete mode 100644 .vib/postgresql/ginkgo/go.sum delete mode 100644 .vib/postgresql/ginkgo/postgresql_suite_test.go delete mode 100644 .vib/postgresql/ginkgo/postgresql_test.go delete mode 100644 .vib/postgresql/goss/goss.yaml delete mode 100644 .vib/postgresql/runtime-parameters.yaml delete mode 100644 .vib/postgresql/vib-publish.json delete mode 100644 .vib/postgresql/vib-verify.json delete mode 100644 .vib/prometheus/cypress/cypress.config.js delete mode 100644 .vib/prometheus/cypress/cypress.env.json delete mode 100644 .vib/prometheus/cypress/cypress/e2e/prometheus.cy.js delete mode 100644 .vib/prometheus/cypress/cypress/support/e2e.js delete mode 100644 .vib/prometheus/goss/goss.yaml delete mode 100644 .vib/prometheus/runtime-parameters.yaml delete mode 100644 .vib/prometheus/vib-publish.json delete mode 100644 .vib/prometheus/vib-verify.json delete mode 100644 .vib/pytorch/goss/goss.yaml delete mode 100644 .vib/pytorch/goss/testfiles/README.md delete mode 100755 .vib/pytorch/goss/testfiles/polynomial_tensor.py delete mode 100644 .vib/pytorch/runtime-parameters.yaml delete mode 100644 .vib/pytorch/vib-publish.json delete mode 100644 .vib/pytorch/vib-verify.json delete mode 100644 .vib/rabbitmq-cluster-operator/cypress/cypress.config.js delete mode 100644 .vib/rabbitmq-cluster-operator/cypress/cypress/e2e/rabbitmq_cluster_operator.cy.js delete mode 100644 .vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/broker-definitions.json delete mode 100644 .vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/exchanges.json delete mode 100644 .vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/messages.json delete mode 100644 .vib/rabbitmq-cluster-operator/cypress/cypress/support/commands.js delete mode 100644 .vib/rabbitmq-cluster-operator/cypress/cypress/support/e2e.js delete mode 100644 .vib/rabbitmq-cluster-operator/cypress/cypress/support/utils.js delete mode 100644 .vib/rabbitmq-cluster-operator/goss/goss.yaml delete mode 100644 .vib/rabbitmq-cluster-operator/runtime-parameters.yaml delete mode 100644 .vib/rabbitmq-cluster-operator/vib-publish.json delete mode 100644 .vib/rabbitmq-cluster-operator/vib-verify.json delete mode 100644 .vib/rabbitmq/cypress/cypress.config.js delete mode 100644 .vib/rabbitmq/cypress/cypress/e2e/rabbitmq.cy.js delete mode 100644 .vib/rabbitmq/cypress/cypress/fixtures/broker-definitions.json delete mode 100644 .vib/rabbitmq/cypress/cypress/fixtures/exchanges.json delete mode 100644 .vib/rabbitmq/cypress/cypress/fixtures/messages.json delete mode 100644 .vib/rabbitmq/cypress/cypress/support/commands.js delete mode 100644 .vib/rabbitmq/cypress/cypress/support/e2e.js delete mode 100644 .vib/rabbitmq/cypress/cypress/support/utils.js delete mode 100644 .vib/rabbitmq/ginkgo/go.mod delete mode 100644 .vib/rabbitmq/ginkgo/go.sum delete mode 100644 .vib/rabbitmq/ginkgo/rabbitmq_suite_test.go delete mode 100644 .vib/rabbitmq/ginkgo/rabbitmq_test.go delete mode 100644 .vib/rabbitmq/goss/goss.yaml delete mode 100644 .vib/rabbitmq/runtime-parameters.yaml delete mode 100644 .vib/rabbitmq/vib-publish.json delete mode 100644 .vib/rabbitmq/vib-verify.json delete mode 100644 .vib/redis-cluster/ginkgo/go.mod delete mode 100644 .vib/redis-cluster/ginkgo/go.sum delete mode 100644 .vib/redis-cluster/ginkgo/redis_suite_test.go delete mode 100644 .vib/redis-cluster/ginkgo/redis_test.go delete mode 100644 .vib/redis-cluster/goss/goss.yaml delete mode 100644 .vib/redis-cluster/runtime-parameters.yaml delete mode 100644 .vib/redis-cluster/vib-publish.json delete mode 100644 .vib/redis-cluster/vib-verify.json delete mode 100644 .vib/redis/ginkgo/go.mod delete mode 100644 .vib/redis/ginkgo/go.sum delete mode 100644 .vib/redis/ginkgo/redis_suite_test.go delete mode 100644 .vib/redis/ginkgo/redis_test.go delete mode 100644 .vib/redis/goss/goss.yaml delete mode 100644 .vib/redis/runtime-parameters.yaml delete mode 100644 .vib/redis/vib-publish.json delete mode 100644 .vib/redis/vib-verify.json delete mode 100644 .vib/redmine/cypress/cypress.config.js delete mode 100644 .vib/redmine/cypress/cypress/e2e/redmine.cy.js delete mode 100644 .vib/redmine/cypress/cypress/fixtures/issues.json delete mode 100644 .vib/redmine/cypress/cypress/fixtures/projects.json delete mode 100644 .vib/redmine/cypress/cypress/support/commands.js delete mode 100644 .vib/redmine/cypress/cypress/support/e2e.js delete mode 100644 .vib/redmine/cypress/cypress/support/utils.js delete mode 100644 .vib/redmine/goss/goss.yaml delete mode 100644 .vib/redmine/runtime-parameters.yaml delete mode 100644 .vib/redmine/vib-publish.json delete mode 100644 .vib/redmine/vib-verify.json delete mode 100644 .vib/schema-registry/cypress/cypress.config.js delete mode 100644 .vib/schema-registry/cypress/cypress/e2e/schema_registry.cy.js delete mode 100644 .vib/schema-registry/cypress/cypress/fixtures/schema.json delete mode 100644 .vib/schema-registry/cypress/cypress/support/e2e.js delete mode 100644 .vib/schema-registry/goss/goss.yaml delete mode 100644 .vib/schema-registry/runtime-parameters.yaml delete mode 100644 .vib/schema-registry/vib-publish.json delete mode 100644 .vib/schema-registry/vib-verify.json delete mode 100644 .vib/scylladb/ginkgo/go.mod delete mode 100644 .vib/scylladb/ginkgo/go.sum delete mode 100644 .vib/scylladb/ginkgo/scylladb_suite_test.go delete mode 100644 .vib/scylladb/ginkgo/scylladb_test.go delete mode 100644 .vib/scylladb/goss/goss.yaml delete mode 100644 .vib/scylladb/runtime-parameters.yaml delete mode 100644 .vib/scylladb/vib-action.config delete mode 100644 .vib/scylladb/vib-publish.json delete mode 100644 .vib/scylladb/vib-verify.json delete mode 100644 .vib/sealed-secrets/cypress/cypress.config.js delete mode 100644 .vib/sealed-secrets/cypress/cypress/e2e/sealed_secrets.cy.js delete mode 100644 .vib/sealed-secrets/cypress/cypress/support/e2e.js delete mode 100644 .vib/sealed-secrets/ginkgo/go.mod delete mode 100644 .vib/sealed-secrets/ginkgo/go.sum delete mode 100644 .vib/sealed-secrets/ginkgo/integration_suite_test.go delete mode 100644 .vib/sealed-secrets/ginkgo/sealed_secrets_test.go delete mode 100644 .vib/sealed-secrets/runtime-parameters.yaml delete mode 100644 .vib/sealed-secrets/vib-action.config delete mode 100644 .vib/sealed-secrets/vib-publish.json delete mode 100644 .vib/sealed-secrets/vib-verify.json delete mode 100644 .vib/seaweedfs/cypress/cypress.config.js delete mode 100644 .vib/seaweedfs/cypress/cypress/e2e/seaweedfs.cy.js delete mode 100644 .vib/seaweedfs/cypress/cypress/support/e2e.js delete mode 100644 .vib/seaweedfs/ginkgo/go.mod delete mode 100644 .vib/seaweedfs/ginkgo/go.sum delete mode 100644 .vib/seaweedfs/ginkgo/seaweedfs_suite_test.go delete mode 100644 .vib/seaweedfs/ginkgo/seaweedfs_test.go delete mode 100644 .vib/seaweedfs/runtime-parameters.yaml delete mode 100644 .vib/seaweedfs/vib-publish.json delete mode 100644 .vib/seaweedfs/vib-verify.json delete mode 100644 .vib/solr/cypress/cypress.config.js delete mode 100644 .vib/solr/cypress/cypress.env.json delete mode 100644 .vib/solr/cypress/cypress/e2e/solr.cy.js delete mode 100644 .vib/solr/cypress/cypress/fixtures/books.json delete mode 100644 .vib/solr/cypress/cypress/fixtures/users.json delete mode 100644 .vib/solr/cypress/cypress/support/commands.js delete mode 100644 .vib/solr/cypress/cypress/support/e2e.js delete mode 100644 .vib/solr/cypress/cypress/support/utils.js delete mode 100644 .vib/solr/ginkgo/go.mod delete mode 100644 .vib/solr/ginkgo/go.sum delete mode 100644 .vib/solr/ginkgo/solr_suite_test.go delete mode 100644 .vib/solr/ginkgo/solr_test.go delete mode 100644 .vib/solr/goss/goss.yaml delete mode 100644 .vib/solr/runtime-parameters.yaml delete mode 100644 .vib/solr/vib-publish.json delete mode 100644 .vib/solr/vib-verify.json delete mode 100644 .vib/sonarqube/cypress/cypress.config.js delete mode 100644 .vib/sonarqube/cypress/cypress/e2e/sonarqube.cy.js delete mode 100644 .vib/sonarqube/cypress/cypress/fixtures/projects.json delete mode 100644 .vib/sonarqube/cypress/cypress/fixtures/quality-gates.json delete mode 100644 .vib/sonarqube/cypress/cypress/support/commands.js delete mode 100644 .vib/sonarqube/cypress/cypress/support/e2e.js delete mode 100644 .vib/sonarqube/cypress/cypress/support/utils.js delete mode 100644 .vib/sonarqube/goss/goss.yaml delete mode 100644 .vib/sonarqube/runtime-parameters.yaml delete mode 100644 .vib/sonarqube/vib-publish.json delete mode 100644 .vib/sonarqube/vib-verify.json delete mode 100644 .vib/spark/cypress/cypress.config.js delete mode 100644 .vib/spark/cypress/cypress/e2e/spark.cy.js delete mode 100644 .vib/spark/cypress/cypress/support/e2e.js delete mode 100644 .vib/spark/goss/goss.yaml delete mode 100644 .vib/spark/runtime-parameters.yaml delete mode 100644 .vib/spark/vib-publish.json delete mode 100644 .vib/spark/vib-verify.json delete mode 100644 .vib/superset/cypress/cypress.config.js delete mode 100644 .vib/superset/cypress/cypress/e2e/superset.cy.js delete mode 100644 .vib/superset/cypress/cypress/fixtures/users.json delete mode 100644 .vib/superset/cypress/cypress/support/commands.js delete mode 100644 .vib/superset/cypress/cypress/support/e2e.js delete mode 100644 .vib/superset/cypress/cypress/support/utils.js delete mode 100644 .vib/superset/goss/goss.yaml delete mode 100644 .vib/superset/runtime-parameters.yaml delete mode 100644 .vib/superset/vib-publish.json delete mode 100644 .vib/superset/vib-verify.json delete mode 100644 .vib/tensorflow-resnet/cypress/cypress.config.js delete mode 100644 .vib/tensorflow-resnet/cypress/cypress/e2e/tensorflow_resnet.cy.js delete mode 100644 .vib/tensorflow-resnet/cypress/cypress/fixtures/persian_cat.jpeg delete mode 100644 .vib/tensorflow-resnet/cypress/cypress/support/commands.js delete mode 100644 .vib/tensorflow-resnet/cypress/cypress/support/e2e.js delete mode 100644 .vib/tensorflow-resnet/goss/goss.yaml delete mode 100644 .vib/tensorflow-resnet/runtime-parameters.yaml delete mode 100644 .vib/tensorflow-resnet/vib-publish.json delete mode 100644 .vib/tensorflow-resnet/vib-verify.json delete mode 100644 .vib/thanos/cypress/cypress.config.js delete mode 100644 .vib/thanos/cypress/cypress/e2e/thanos.cy.js delete mode 100644 .vib/thanos/cypress/cypress/support/commands.js delete mode 100644 .vib/thanos/cypress/cypress/support/e2e.js delete mode 100644 .vib/thanos/runtime-parameters.yaml delete mode 100644 .vib/thanos/vib-publish.json delete mode 100644 .vib/thanos/vib-verify.json delete mode 100644 .vib/tomcat/cypress/cypress.config.js delete mode 100644 .vib/tomcat/cypress/cypress/e2e/tomcat.cy.js delete mode 100644 .vib/tomcat/cypress/cypress/fixtures/sample.war delete mode 100644 .vib/tomcat/cypress/cypress/support/commands.js delete mode 100644 .vib/tomcat/cypress/cypress/support/e2e.js delete mode 100644 .vib/tomcat/cypress/cypress/support/utils.js delete mode 100644 .vib/tomcat/goss/goss.yaml delete mode 100644 .vib/tomcat/runtime-parameters.yaml delete mode 100644 .vib/tomcat/vib-publish.json delete mode 100644 .vib/tomcat/vib-verify.json delete mode 100644 .vib/valkey-cluster/ginkgo/go.mod delete mode 100644 .vib/valkey-cluster/ginkgo/go.sum delete mode 100644 .vib/valkey-cluster/ginkgo/valkey_suite_test.go delete mode 100644 .vib/valkey-cluster/ginkgo/valkey_test.go delete mode 100644 .vib/valkey-cluster/goss/goss.yaml delete mode 100644 .vib/valkey-cluster/runtime-parameters.yaml delete mode 100644 .vib/valkey-cluster/vib-publish.json delete mode 100644 .vib/valkey-cluster/vib-verify.json delete mode 100644 .vib/valkey/ginkgo/go.mod delete mode 100644 .vib/valkey/ginkgo/go.sum delete mode 100644 .vib/valkey/ginkgo/valkey_suite_test.go delete mode 100644 .vib/valkey/ginkgo/valkey_test.go delete mode 100644 .vib/valkey/goss/goss.yaml delete mode 100644 .vib/valkey/runtime-parameters.yaml delete mode 100644 .vib/valkey/vib-publish.json delete mode 100644 .vib/valkey/vib-verify.json delete mode 100644 .vib/vault/cypress/cypress.config.js delete mode 100644 .vib/vault/cypress/cypress/e2e/vault.cy.js delete mode 100644 .vib/vault/cypress/cypress/fixtures/operation.json delete mode 100644 .vib/vault/cypress/cypress/support/commands.js delete mode 100644 .vib/vault/cypress/cypress/support/e2e.js delete mode 100644 .vib/vault/cypress/cypress/support/utils.js delete mode 100644 .vib/vault/goss/goss.yaml delete mode 100644 .vib/vault/runtime-parameters.yaml delete mode 100644 .vib/vault/vib-publish.json delete mode 100644 .vib/vault/vib-verify.json delete mode 100644 .vib/victoriametrics/cypress/cypress.config.js delete mode 100644 .vib/victoriametrics/cypress/cypress/e2e/victoriametrics.cy.js delete mode 100644 .vib/victoriametrics/cypress/cypress/fixtures/ingest_metric.json delete mode 100644 .vib/victoriametrics/cypress/cypress/fixtures/vmagent_metric.json delete mode 100644 .vib/victoriametrics/cypress/cypress/support/e2e.js delete mode 100644 .vib/victoriametrics/cypress/cypress/support/utils.js delete mode 100644 .vib/victoriametrics/runtime-parameters.yaml delete mode 100644 .vib/victoriametrics/vib-publish.json delete mode 100644 .vib/victoriametrics/vib-verify.json delete mode 100644 .vib/whereabouts/goss/goss.yaml delete mode 100644 .vib/whereabouts/runtime-parameters.yaml delete mode 100644 .vib/whereabouts/vib-publish.json delete mode 100644 .vib/whereabouts/vib-verify.json delete mode 100644 .vib/wildfly/cypress/cypress.config.js delete mode 100644 .vib/wildfly/cypress/cypress/e2e/wildfly.cy.js delete mode 100644 .vib/wildfly/cypress/cypress/support/e2e.js delete mode 100644 .vib/wildfly/goss/goss.yaml delete mode 100644 .vib/wildfly/goss/testfiles/README.md delete mode 100755 .vib/wildfly/goss/testfiles/helloworld.sh delete mode 100644 .vib/wildfly/goss/testfiles/helloworld.war delete mode 100644 .vib/wildfly/runtime-parameters.yaml delete mode 100644 .vib/wildfly/vib-publish.json delete mode 100644 .vib/wildfly/vib-verify.json delete mode 100644 .vib/wordpress/cypress/cypress.config.js delete mode 100644 .vib/wordpress/cypress/cypress/e2e/wordpress.cy.js delete mode 100644 .vib/wordpress/cypress/cypress/fixtures/images/test_image.jpeg delete mode 100644 .vib/wordpress/cypress/cypress/fixtures/posts.json delete mode 100644 .vib/wordpress/cypress/cypress/support/commands.js delete mode 100644 .vib/wordpress/cypress/cypress/support/e2e.js delete mode 100644 .vib/wordpress/cypress/cypress/support/utils.js delete mode 100644 .vib/wordpress/goss/goss-wait.yaml delete mode 100644 .vib/wordpress/goss/goss.yaml delete mode 100644 .vib/wordpress/jmeter/wordpress.jmx delete mode 100644 .vib/wordpress/runtime-parameters.yaml delete mode 100644 .vib/wordpress/vib-publish.json delete mode 100644 .vib/wordpress/vib-verify.json delete mode 100644 .vib/zipkin/cypress/cypress.config.js delete mode 100644 .vib/zipkin/cypress/cypress/e2e/zipkin.cy.js delete mode 100644 .vib/zipkin/cypress/cypress/fixtures/services.json delete mode 100644 .vib/zipkin/cypress/cypress/support/e2e.js delete mode 100644 .vib/zipkin/goss/goss.yaml delete mode 100644 .vib/zipkin/runtime-parameters.yaml delete mode 100644 .vib/zipkin/vib-action.config delete mode 100644 .vib/zipkin/vib-publish.json delete mode 100644 .vib/zipkin/vib-verify.json delete mode 100644 .vib/zookeeper/ginkgo/go.mod delete mode 100644 .vib/zookeeper/ginkgo/go.sum delete mode 100644 .vib/zookeeper/ginkgo/zookeeper_suite_test.go delete mode 100644 .vib/zookeeper/ginkgo/zookeeper_test.go delete mode 100644 .vib/zookeeper/goss/goss.yaml delete mode 100644 .vib/zookeeper/runtime-parameters.yaml delete mode 100644 .vib/zookeeper/vib-publish.json delete mode 100644 .vib/zookeeper/vib-verify.json delete mode 100644 TESTING.md diff --git a/.vib/airflow/cypress/cypress.config.js b/.vib/airflow/cypress/cypress.config.js deleted file mode 100644 index c520f589a1640a..00000000000000 --- a/.vib/airflow/cypress/cypress.config.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - viewportWidth: 1920, - viewportHeight: 1080, - chromeWebSecurity: false, - pageLoadTimeout: 240000, - defaultCommandTimeout: 80000, - env: { - username: 'user', - password: 'ComplicatedPassword123!4', - baseUrl: 'http://vmware-airflow.my', - }, - e2e: { - setupNodeEvents(on, config) {}, - }, - hosts: { - 'vmware-airflow.my': '{{ TARGET_IP }}', - }, -} diff --git a/.vib/airflow/cypress/cypress/e2e/airflow.cy.js b/.vib/airflow/cypress/cypress/e2e/airflow.cy.js deleted file mode 100644 index d7f6893f957412..00000000000000 --- a/.vib/airflow/cypress/cypress/e2e/airflow.cy.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows triggering execution of a sample DAG', () => { - cy.login(); - cy.fixture('DAGs').then((dags) => { - cy.visit(`/dags/${dags.triggered.id}`); - cy.get('[aria-label="Trigger Dag"]').click({force: true}); - // Trigger button text is prefixed by a white space - cy.get('button').contains(' Trigger').click({force: true}); - - // Verify the DAG was scheduled - cy.wait(10000); - cy.visit('/dags'); - cy.get(`[href='/dags/${dags.triggered.id}']`); - cy.get('div').contains(new Date().toISOString().split('T')[0]); - }); -}); -it('allows to create a user', () => { - cy.login(); - cy.visit('/auth/users/add'); - cy.fixture('users').then((users) => { - cy.get('#first_name').type(users.newUser.firstName); - cy.get('#last_name').type(users.newUser.lastName); - cy.get('#username').type(`${users.newUser.username}.${random}`); - cy.get('#email').type(`${users.newUser.username}.${random}@email.com`); - cy.get('select[id="roles"]').select(`${users.newUser.role}`, {force: true}); - cy.get('#password').type(users.newUser.password); - cy.get('#conf_password').type(users.newUser.password); - cy.contains('Save').click(); - }); - // Verify the user was created successfully - cy.visit('/auth/users/add'); - cy.contains('div', 'Added Row'); -}); diff --git a/.vib/airflow/cypress/cypress/fixtures/DAGs.json b/.vib/airflow/cypress/cypress/fixtures/DAGs.json deleted file mode 100644 index 1c2338fab638d0..00000000000000 --- a/.vib/airflow/cypress/cypress/fixtures/DAGs.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "triggered": { - "id": "UI_dag" - } -} diff --git a/.vib/airflow/cypress/cypress/fixtures/users.json b/.vib/airflow/cypress/cypress/fixtures/users.json deleted file mode 100644 index 0fa440c02950bb..00000000000000 --- a/.vib/airflow/cypress/cypress/fixtures/users.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "newUser": { - "firstName": "Jane Jessica", - "lastName": "Doe", - "username": "janedoe", - "password": "someComplicatedPass12345!", - "role": "User" - } -} diff --git a/.vib/airflow/cypress/cypress/support/commands.js b/.vib/airflow/cypress/cypress/support/commands.js deleted file mode 100644 index 76185f667ab5c9..00000000000000 --- a/.vib/airflow/cypress/cypress/support/commands.js +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -// Due to a bug when using "hosts" in Cypress, we cannot set a "baseUrl" in the -// cypress.json file. Workaround this by modifying the "visit" command to preprend -// the base URL. -// -// Further details: https://github.com/cypress-io/cypress/issues/20647 -Cypress.Commands.overwrite('visit', (originalFn, url, options) => { - // Only replace relative URLs - const targetUrl = url.includes('://') ? url : `${Cypress.env('baseUrl')}${url}`; - return originalFn(targetUrl, options); -}); - - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - // Wait for DOM content to load - cy.wait(5000); - cy.get('form[name="login"]').should('exist').and('be.visible'); // Needed to ensure stability of the test - cy.get('input#username').type(username); - cy.get('input#password').type(password); - cy.get('input[type="submit"]').click(); - } -); - -Cypress.on('uncaught:exception', (err, runnable) => { - // Skip all exceptions - return false; -}); diff --git a/.vib/airflow/cypress/cypress/support/e2e.js b/.vib/airflow/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/airflow/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/airflow/cypress/cypress/support/utils.js b/.vib/airflow/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/airflow/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/airflow/goss/goss.yaml b/.vib/airflow/goss/goss.yaml deleted file mode 100644 index 686b0b4eddc9a5..00000000000000 --- a/.vib/airflow/goss/goss.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - airflow-trigger-dag: - exec: airflow dags trigger UI_dag - exit-status: 0 - timeout: 40000 - {{- $uid := .Vars.web.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.web.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 -file: - /opt/bitnami/airflow/airflow.cfg: - mode: "0644" - filetype: file - exists: true - contents: - - /statsd_port.*{{ .Vars.metrics.service.ports.ingest }}/ - # Ensure overwritten configuration is applied - - /colored_console_log.*True/ - /opt/bitnami/airflow/webserver_config.py: - mode: "0644" - filetype: file - exists: true - # Ensure extra configuration is applied - contents: - - /APP_THEME = "amelia.css"/ - /opt/bitnami/airflow/dags: - filetype: directory - exists: true -http: - http://127.0.0.1:{{ .Vars.web.containerPorts.http }}: - status: 200 - {{- if .Vars.metrics.enabled }} - http://airflow-statsd-metrics:{{ .Vars.metrics.service.ports.metrics }}/metrics: - status: 200 - timeout: 30000 - {{- end }} diff --git a/.vib/airflow/runtime-parameters.yaml b/.vib/airflow/runtime-parameters.yaml deleted file mode 100644 index c88958c93d055f..00000000000000 --- a/.vib/airflow/runtime-parameters.yaml +++ /dev/null @@ -1,97 +0,0 @@ -auth: - password: ComplicatedPassword123!4 -overrideConfiguration: - logging: - colored_console_log: 'True' -loadExamples: false -defaultInitContainers: - prepareConfig: - containerSecurityContext: - runAsUser: 1002 - waitForDBMigrations: - containerSecurityContext: - runAsUser: 1002 - loadDAGsPlugins: - containerSecurityContext: - runAsUser: 1002 -defaultSidecars: - syncDAGsPlugins: - containerSecurityContext: - runAsUser: 1002 -scheduler: - podSecurityContext: - fsGroup: 1002 - containerSecurityContext: - runAsUser: 1002 - livenessProbe: - periodSeconds: 30 - timeoutSeconds: 20 - readinessProbe: - periodSeconds: 30 - timeoutSeconds: 20 -web: - baseUrl: 'http://vmware-airflow.my' - extraConfiguration: | - # Theme CONFIG - APP_THEME = "amelia.css" - containerPorts: - http: 8080 - podSecurityContext: - fsGroup: 1002 - containerSecurityContext: - runAsUser: 1002 - # Give some extra time for the service to start - startupProbe: - enabled: true - failureThreshold: 60 - periodSeconds: 10 - resourcesPreset: large -worker: - podSecurityContext: - fsGroup: 1002 - containerSecurityContext: - runAsUser: 1002 -service: - ports: - http: 80 - type: LoadBalancer -dagProcessor: - enabled: true - podSecurityContext: - fsGroup: 1002 - containerSecurityContext: - runAsUser: 1002 - livenessProbe: - periodSeconds: 30 - timeoutSeconds: 20 - readinessProbe: - periodSeconds: 30 - timeoutSeconds: 20 -triggerer: - enabled: true - podSecurityContext: - fsGroup: 1002 - containerSecurityContext: - runAsUser: 1002 - livenessProbe: - periodSeconds: 30 - timeoutSeconds: 20 - readinessProbe: - periodSeconds: 30 - timeoutSeconds: 20 -dags: - enabled: true - repositories: - - repository: https://github.com/astronomer/2-10-example-dags - branch: main - name: UI - path: dags/UI -metrics: - enabled: true - service: - ports: - ingest: 9125 - metrics: 9102 -postgresql: - primary: - resourcesPreset: "micro" diff --git a/.vib/airflow/vib-action.config b/.vib/airflow/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/airflow/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/airflow/vib-publish.json b/.vib/airflow/vib-publish.json deleted file mode 100644 index 6e7a8f18cdaeb8..00000000000000 --- a/.vib/airflow/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/airflow" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/airflow/vib-verify.json b/.vib/airflow/vib-verify.json deleted file mode 100644 index 318bd13d0e85a8..00000000000000 --- a/.vib/airflow/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/airflow" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/airflow" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "airflow/goss/goss.yaml", - "vars_file": "airflow/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-airflow-web" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/airflow/cypress" - }, - "endpoint": "lb-airflow-web-http", - "app_protocol": "HTTP", - "port": 80, - "env": { - "username": "user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/apache/cypress/cypress.config.js b/.vib/apache/cypress/cypress.config.js deleted file mode 100644 index e36fc00336e10e..00000000000000 --- a/.vib/apache/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/apache/cypress/cypress/e2e/apache.cy.js b/.vib/apache/cypress/cypress/e2e/apache.cy.js deleted file mode 100644 index 6a08e48867f7e8..00000000000000 --- a/.vib/apache/cypress/cypress/e2e/apache.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('visits the apache start page', () => { - cy.visit('/'); - cy.contains('It works'); -}); - diff --git a/.vib/apache/cypress/cypress/support/e2e.js b/.vib/apache/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/apache/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/apache/goss/goss.yaml b/.vib/apache/goss/goss.yaml deleted file mode 100644 index 8e572dc21885f6..00000000000000 --- a/.vib/apache/goss/goss.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://apache:{{ .Vars.service.ports.https }}: - status: 200 - allow-insecure: true -file: - /etc/hosts: - exists: true - filetype: file - contents: - {{ range .Vars.hostAliases }} - {{ $ip := .ip }} - {{ range $host := .hostnames }} - - /{{ $ip }}.*{{$host}}/ - {{ end }} - {{ end }} -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/apache/runtime-parameters.yaml b/.vib/apache/runtime-parameters.yaml deleted file mode 100644 index 6664f113bb5185..00000000000000 --- a/.vib/apache/runtime-parameters.yaml +++ /dev/null @@ -1,18 +0,0 @@ -service: - type: LoadBalancer - ports: - http: 80 - https: 444 -containerPorts: - http: 8081 - https: 8444 -hostAliases: - - ip: 127.0.0.1 - hostnames: - - status.localhost -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 \ No newline at end of file diff --git a/.vib/apache/vib-publish.json b/.vib/apache/vib-publish.json deleted file mode 100644 index 917fdaa7095763..00000000000000 --- a/.vib/apache/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/apache" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/apache/vib-verify.json b/.vib/apache/vib-verify.json deleted file mode 100644 index 93a1780750a302..00000000000000 --- a/.vib/apache/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/apache" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/apache" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "apache/goss/goss.yaml", - "vars_file": "apache/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-apache" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/apache/cypress" - }, - "endpoint": "lb-apache-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/apisix/cypress/cypress.config.js b/.vib/apisix/cypress/cypress.config.js deleted file mode 100644 index e193f3bfb50a49..00000000000000 --- a/.vib/apisix/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - env: { - token: 'deadbeefdeadbeefdeadbeef', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'https://localhost', - }, - retries: 5 -} diff --git a/.vib/apisix/cypress/cypress/e2e/apisix.cy.js b/.vib/apisix/cypress/cypress/e2e/apisix.cy.js deleted file mode 100644 index 995a731b381c9e..00000000000000 --- a/.vib/apisix/cypress/cypress/e2e/apisix.cy.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { - random, -} from '../support/utils'; - -it('allows to create a service in the dashboard', () => { - cy.login(); - // Go to the services page - cy.get('span').contains('Services').click(); - // Create a service - cy.fixture('service').then((svc) => { - cy.get('button').contains('Add Service').click(); - cy.get('[name="name"]').type(`${svc.service.name}${random}`); - cy.get('button').contains('Add a Node').click(); - cy.get('input[placeholder*="Please enter"]').should('have.length', 4).then((elements) => { - cy.wrap(elements.eq(0)).type(`${svc.service.host}`) - cy.wrap(elements.eq(1)).clear().type(80); - }) - // Submission randomly fails with network error - let retries = 5; - do { - try { - cy.get('button[type="submit"]').click(); - retries = 0; - } catch (e) { - if (retries === 0) { - throw new Error('Service submit failed.'); - } else { - cy.wait(2000); - } - } - } while (--retries >= 0); - - cy.contains('Service Detail'); - cy.get('span').contains('Services').click(); - cy.get('tr').contains(`${svc.service.name}${random}`); - }); -}); diff --git a/.vib/apisix/cypress/cypress/fixtures/service.json b/.vib/apisix/cypress/cypress/fixtures/service.json deleted file mode 100644 index 11c2e0d6e1ea51..00000000000000 --- a/.vib/apisix/cypress/cypress/fixtures/service.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "service": { - "name": "vib-svc", - "host": "google.com" - } -} diff --git a/.vib/apisix/cypress/cypress/support/commands.js b/.vib/apisix/cypress/cypress/support/commands.js deleted file mode 100644 index 31219b41ad2651..00000000000000 --- a/.vib/apisix/cypress/cypress/support/commands.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (token = Cypress.env('token')) => { - cy.visit('/ui/'); - cy.get('label').contains('Admin Key'); - cy.get('input').should('be.enabled').type(token); - cy.visit('/ui/'); - } -); - -Cypress.on('uncaught:exception', (err) => { - // We expect an error "Failed to execute 'observe' on 'IntersectionObserver'" - // during the installation of a template so we add an exception - if (err.message.includes("Failed to execute 'observe' on 'IntersectionObserver'")) { - return false; - } - // We expect an issue with a map object but it the operation does not fail because of - // that - if (err.message.includes("reading 'map'")) { - return false; - } - - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/apisix/cypress/cypress/support/e2e.js b/.vib/apisix/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/apisix/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/apisix/cypress/cypress/support/utils.js b/.vib/apisix/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/apisix/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/apisix/goss/goss.yaml b/.vib/apisix/goss/goss.yaml deleted file mode 100644 index 66dcf4563ee72c..00000000000000 --- a/.vib/apisix/goss/goss.yaml +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://apisix-data-plane:{{ .Vars.dataPlane.service.ports.http }}: - # The proxy does respond but the route is not registered - status: 404 - http://apisix-data-plane:{{ .Vars.dataPlane.service.ports.metrics }}/apisix/prometheus/metrics: - status: 200 - body: - - /apisix_nginx_.*/ - http://127.0.0.1:{{ .Vars.dataPlane.containerPorts.metrics }}/apisix/prometheus/metrics: - status: 200 - body: - - /apisix_nginx_.*/ - http://127.0.0.1:{{ .Vars.dataPlane.containerPorts.http }}: - # The proxy does respond but the route is not registered - status: 404 - http://127.0.0.1:{{ .Vars.dataPlane.containerPorts.control }}/v1/healthcheck: - status: 200 - https://apisix-control-plane:{{ .Vars.controlPlane.service.ports.adminAPI }}/apisix/admin/routes: - status: 200 - request-headers: - - "X-API-KEY: {{ .Vars.controlPlane.apiTokenAdmin }}" - allow-insecure: true - http://apisix-control-plane:{{ .Vars.controlPlane.service.ports.metrics }}/apisix/prometheus/metrics: - status: 200 - body: - - /apisix_nginx_.*/ - https://apisix-control-plane:{{ .Vars.controlPlane.service.ports.adminAPI }}/ui/: - status: 200 - http://apisix-ingress-controller:{{ .Vars.ingressController.service.ports.http }}/metrics: - status: 200 - body: - - /apisix_ingress_controller.*/ -addr: - # The user needs to add objects of type SSL using the API in order for the radixtree SSL provider to work - tcp://apisix-data-plane:{{ .Vars.dataPlane.service.ports.https }}: - reachable: true - timeout: 500 - tcp://127.0.0.1:{{ .Vars.dataPlane.containerPorts.https }}: - reachable: true - timeout: 500 -file: - /usr/local/apisix/conf/config.yaml: - exists: true - filetype: file - mode: '0644' - contents: - - /max_running_timers.*{{ .Vars.dataPlane.extraConfig.nginx_config.max_running_timers }}/ - - /apisix-control-plane.*{{ .Vars.controlPlane.service.ports.configServer }}/ - - /node_listen.*{{ .Vars.dataPlane.containerPorts.http }}/ - - /role.*data_plane/ - /usr/local/apisix/conf/nginx.conf: - exists: true - filetype: file - mode: '0644' - contents: - - /listen.*{{ .Vars.dataPlane.containerPorts.http }}/ - - /listen.*{{ .Vars.dataPlane.containerPorts.https }}.*ssl/ - - /listen.*{{ .Vars.dataPlane.containerPorts.control }}/ - - /listen.*{{ .Vars.dataPlane.containerPorts.metrics }}/ - /etc/hosts: - exists: true - filetype: file - contents: - {{ range .Vars.dataPlane.hostAliases }} - {{ $ip := .ip }} - {{ range $host := .hostnames }} - - /{{ $ip }}.*{{$host}}/ - {{ end }} - {{ end }} -command: - {{- $uid := .Vars.dataPlane.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.dataPlane.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the def -import { - random, -} from '../support/utils'; - -it('allows to create a new app from template', () => { - cy.login(); - cy.fixture('app').then((app) => { - // Create new app - cy.contains('Create new').click(); - cy.get('div[data-testid="t--workspace-action-create-app-from-template"]').click(); - // Create an application from the Product Catalog CRUD template - cy.contains('[data-testid="template-card"]', 'Product Catalog CRUD').click() - cy.contains('Use template').click(); - // Rename application - cy.get('.t--application-name').click(); - cy.contains('Rename').click(); - cy.get('.t--application-name').type(`${app.appName}-${random}{enter}`); - // Check if the application exists in the applications page - cy.visit('/applications'); - cy.contains(`${app.appName}-${random}`); - }); -}); - -it('allows to change workspace settings', () => { - cy.login(); - cy.get('.t--options-icon').click(); - cy.contains('Settings').click(); - - cy.fixture('user-settings').then(($us) => { - cy.get('input[placeholder="Workspace name"]') - .clear() - .type(`${$us.instanceName}-${random}`, { force: true }); - cy.get('h2').contains(`${$us.instanceName}-${random}`); - }); -}); diff --git a/.vib/appsmith/cypress/cypress/fixtures/app.json b/.vib/appsmith/cypress/cypress/fixtures/app.json deleted file mode 100644 index 4137a2f0d5120c..00000000000000 --- a/.vib/appsmith/cypress/cypress/fixtures/app.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "appName": "TestSmith" -} diff --git a/.vib/appsmith/cypress/cypress/fixtures/user-settings.json b/.vib/appsmith/cypress/cypress/fixtures/user-settings.json deleted file mode 100644 index aeebc9d7e371ca..00000000000000 --- a/.vib/appsmith/cypress/cypress/fixtures/user-settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "instanceName": "TestSmith" -} diff --git a/.vib/appsmith/cypress/cypress/support/commands.js b/.vib/appsmith/cypress/cypress/support/commands.js deleted file mode 100644 index 338b266c4b14dc..00000000000000 --- a/.vib/appsmith/cypress/cypress/support/commands.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.contains('Sign in to your account').should('be.visible'); - cy.get('[type="email"]').should('be.enabled').type(username); - cy.get('[type="password"]').should('be.enabled').type(password); - cy.contains('button', 'Sign in').click(); - cy.contains('Workspaces').should('be.visible'); - } -); - -Cypress.on('uncaught:exception', (err) => { - // We expect an error "Failed to execute 'observe' on 'IntersectionObserver'" - // during the installation of a template so we add an exception - if (err.message.includes("Failed to execute 'observe' on 'IntersectionObserver'")) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/appsmith/cypress/cypress/support/e2e.js b/.vib/appsmith/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/appsmith/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/appsmith/cypress/cypress/support/utils.js b/.vib/appsmith/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/appsmith/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/appsmith/goss/goss.yaml b/.vib/appsmith/goss/goss.yaml deleted file mode 100644 index fc58de44eb50d9..00000000000000 --- a/.vib/appsmith/goss/goss.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://appsmith:{{ .Vars.client.service.ports.http }}: - status: 200 - body: - - __APPSMITH - http://127.0.0.1:{{ .Vars.client.containerPorts.http }}: - status: 200 - body: - - __APPSMITH - http://appsmith:{{ .Vars.client.service.ports.http }}/api/v1/users/me: - status: 200 - http://appsmith-backend:{{ .Vars.backend.service.ports.http }}/api/v1/users/me: - status: 200 - http://appsmith:{{ .Vars.client.service.ports.http }}/rts-api/v1/health-check: - status: 200 - http://appsmith-rts:{{ .Vars.rts.service.ports.http }}/rts-api/v1/health-check: - status: 200 -command: - {{ if .Vars.client.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} - {{- $uid := .Vars.client.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.client.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/appsmith/runtime-parameters.yaml b/.vib/appsmith/runtime-parameters.yaml deleted file mode 100644 index 9d8c60e1b18a60..00000000000000 --- a/.vib/appsmith/runtime-parameters.yaml +++ /dev/null @@ -1,22 +0,0 @@ -backend: - adminPassword: bitnami!1234567 - adminEmail: vibuser@example.com - service: - ports: - http: 8083 -rts: - service: - ports: - http: 8085 -client: - service: - type: LoadBalancer - ports: - http: 80 - automountServiceAccountToken: true - containerSecurityContext: - runAsUser: 1002 - podSecurityContext: - fsGroup: 1002 - containerPorts: - http: 8022 diff --git a/.vib/appsmith/vib-action.config b/.vib/appsmith/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/appsmith/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/appsmith/vib-publish.json b/.vib/appsmith/vib-publish.json deleted file mode 100644 index 864b155a5843e2..00000000000000 --- a/.vib/appsmith/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/appsmith" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/appsmith/vib-verify.json b/.vib/appsmith/vib-verify.json deleted file mode 100644 index bad3f01f48cba2..00000000000000 --- a/.vib/appsmith/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/appsmith" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/appsmith" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "appsmith/goss/goss.yaml", - "vars_file": "appsmith/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-appsmith" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/appsmith/cypress" - }, - "endpoint": "lb-appsmith-http", - "app_protocol": "HTTP", - "env": { - "email": "user@example.com", - "password": "bitnami!1234567" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/argo-cd/cypress/cypress.config.js b/.vib/argo-cd/cypress/cypress.config.js deleted file mode 100644 index b9621c7384f8e6..00000000000000 --- a/.vib/argo-cd/cypress/cypress.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - env: { - username: 'admin', - password: 'ComplicatedPassword123!4', - }, - defaultCommandTimeout: 30000, - pageLoadTimeout: 120000, - viewportWidth: 1920, - viewportHeight: 1080, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'https://localhost', - }, -} diff --git a/.vib/argo-cd/cypress/cypress/e2e/argo_cd.cy.js b/.vib/argo-cd/cypress/cypress/e2e/argo_cd.cy.js deleted file mode 100644 index 44d39e9e0b80c9..00000000000000 --- a/.vib/argo-cd/cypress/cypress/e2e/argo_cd.cy.js +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows deploying a healthy app for a new project', () => { - cy.login(); - - cy.visit('/settings/projects?add=true'); - cy.fixture('projects').then((projects) => { - cy.contains('Project Name').type(`${projects.newProject.name}-${random}`); - }); - cy.contains('button', 'Create').click(); - cy.contains('div', 'DESTINATIONS').within(() => { - cy.contains('Edit').click(); - cy.contains('ADD DESTINATION').click(); - cy.contains('Save').click(); - // Checking the edit button is visible again ensures the changes are properly saved - cy.contains('Edit').should('be.visible'); - }); - - cy.contains('div', 'SOURCE REPOSITORIES').within(() => { - cy.contains('Edit').click(); - cy.contains('ADD SOURCE').click(); - cy.contains('Save').click(); - cy.contains('Edit').should('be.visible'); - }); - - cy.visit('/applications'); - cy.get('[qe-id="applications-list-button-new-app"]').click({ force: true }); - cy.fixture('applications').then((applications) => { - cy.get('[qeid="application-create-field-app-name"]').type( - `${applications.newApplication.name}-${random}` - ); - cy.fixture('projects').then((projects) => { - cy.get('[qe-id="application-create-field-project"]').type( - `${projects.newProject.name}-${random}` - ); - }); - cy.get('[qe-id="application-create-field-repository-url"]').type( - applications.newApplication.repoUrl - ); - cy.get('[qe-id="application-create-field-cluster-url"]').type( - applications.newApplication.clusterUrl - ); - cy.get('[qeid="application-create-field-namespace"]').type( - applications.newApplication.namespace - ); - cy.get('[qe-id="application-create-field-path"]').type( - applications.newApplication.repoPath - ); - cy.get('[qe-id="applications-list-button-create"]').click(); - - cy.get('.applications-list').within(() => { - cy.contains(`${applications.newApplication.name}-${random}`, {timeout: 60000}).click({force: true}); - }); - }); - // Wait and reload to prevent stationary issues - cy.wait(5000); - cy.reload(); - // Ensure that UI shows the basic K8s objects - cy.contains('svc'); - cy.contains('deploy'); - cy.get('i[class*="fa-sync"]').click(); - cy.get('[qe-id="application-sync-panel-button-synchronize"]').click(); - cy.contains('Succeeded a few seconds ago', {timeout: 120000}); - cy.get('[class*="application-details__status-panel"]').within(() => { - cy.get('[title="Healthy"]', {timeout: 120000}); - }); -}); diff --git a/.vib/argo-cd/cypress/cypress/fixtures/applications.json b/.vib/argo-cd/cypress/cypress/fixtures/applications.json deleted file mode 100644 index 4a52dfb2ad0dce..00000000000000 --- a/.vib/argo-cd/cypress/cypress/fixtures/applications.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "newApplication": { - "name": "all-new-app-number", - "repoUrl": "https://github.com/javsalgar/charts-repo-actions-demo.git", - "repoPath": "charts/example-v2", - "clusterUrl": "https://kubernetes.default.svc", - "namespace": "default" - } -} diff --git a/.vib/argo-cd/cypress/cypress/fixtures/projects.json b/.vib/argo-cd/cypress/cypress/fixtures/projects.json deleted file mode 100644 index d720a8bfa50afb..00000000000000 --- a/.vib/argo-cd/cypress/cypress/fixtures/projects.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newProject": { - "name": "super-project" - } -} diff --git a/.vib/argo-cd/cypress/cypress/support/commands.js b/.vib/argo-cd/cypress/cypress/support/commands.js deleted file mode 100644 index 0e46bbe276ef3f..00000000000000 --- a/.vib/argo-cd/cypress/cypress/support/commands.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/login'); - - // Checking for UI elements before and after login avoids race-condition errors - cy.get('.login__box'); - - cy.contains('Username').type(username); - cy.contains('Password').type(password); - cy.contains('Sign In').click(); - - cy.contains('Log out'); - } -); - -Cypress.on('uncaught:exception', (err, runnable) => { - // we expect a 3rd party library error with message 'list not defined' - // and don't want to fail the test so we return false - if ( - err.message.includes('Cannot set properties of undefined') || - err.message.includes('Cannot read properties of null') - ) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/argo-cd/cypress/cypress/support/e2e.js b/.vib/argo-cd/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/argo-cd/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/argo-cd/cypress/cypress/support/utils.js b/.vib/argo-cd/cypress/cypress/support/utils.js deleted file mode 100644 index df0ce1257a4c74..00000000000000 --- a/.vib/argo-cd/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7).toLowerCase(); diff --git a/.vib/argo-cd/goss/goss.yaml b/.vib/argo-cd/goss/goss.yaml deleted file mode 100644 index 2092c275b59f04..00000000000000 --- a/.vib/argo-cd/goss/goss.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://argo-cd-server:{{ .Vars.server.service.ports.http }}: - status: 307 - no-follow-redirects: true - http://argo-cd-app-controller:{{ .Vars.controller.service.ports.metrics }}/healthz: - status: 200 -addr: - tcp://argo-cd-repo-server:{{ .Vars.repoServer.service.ports.repoServer }}: - reachable: true -file: - /app/config/ssh: - exists: true - filetype: directory - mode: "2777" - owner: root - /app/config/server/tls: - exists: true - filetype: directory - mode: "3777" - owner: root -command: - {{- $password := .Vars.config.secret.argocdServerAdminPassword }} - check-argocd-cli: - exec: HOME=/tmp argocd login argo-cd-server --insecure --username admin --password {{ $password }} - exit-status: 0 - {{- if .Vars.server.containerSecurityContext.enabled }} - check-no-capabilities: - exec: cat /proc/1/status - exit-status: 0 - stdout: - - "CapInh: 0000000000000000" - - "CapPrm: 0000000000000000" - - "CapEff: 0000000000000000" - - "CapBnd: 0000000000000000" - - "CapAmb: 0000000000000000" - {{- end }} - {{- $uid := .Vars.server.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.server.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.server.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/argo-cd/runtime-parameters.yaml b/.vib/argo-cd/runtime-parameters.yaml deleted file mode 100644 index 33b122990aedf5..00000000000000 --- a/.vib/argo-cd/runtime-parameters.yaml +++ /dev/null @@ -1,47 +0,0 @@ -config: - knownHosts: | - github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== - secret: - create: true - argocdServerAdminPassword: ComplicatedPassword123!4 -controller: - clusterAdminAccess: true - service: - ports: - metrics: 8083 -server: - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - readOnlyRootFilesystem: false - capabilities: - drop: - - ALL - insecure: false - configEnabled: true - containerPorts: - http: 8080 - https: 8443 - service: - ports: - http: 81 - https: 443 - type: LoadBalancer - serviceAccount: - create: true - automountServiceAccountToken: true -repoServer: - service: - ports: - repoServer: 8080 -rbac: - create: true -redis: - enabled: true - auth: - enabled: true - password: someComplicatedPass12345! - architecture: standalone diff --git a/.vib/argo-cd/vib-publish.json b/.vib/argo-cd/vib-publish.json deleted file mode 100644 index 9f79a5861f8a65..00000000000000 --- a/.vib/argo-cd/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/argo-cd" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/argo-cd/vib-verify.json b/.vib/argo-cd/vib-verify.json deleted file mode 100644 index 2c0ebd476ec161..00000000000000 --- a/.vib/argo-cd/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/argo-cd" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/argo-cd" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "argo-cd/goss/goss.yaml", - "vars_file": "argo-cd/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-argo-cd-server" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/argo-cd/cypress" - }, - "endpoint": "lb-argo-cd-server-https", - "app_protocol": "HTTPS", - "env": { - "username": "admin", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/argo-workflows/cypress/cypress.config.js b/.vib/argo-workflows/cypress/cypress.config.js deleted file mode 100644 index 4a59af089dbd3c..00000000000000 --- a/.vib/argo-workflows/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 80000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/argo-workflows/cypress/cypress/e2e/argo_workflows.cy.js b/.vib/argo-workflows/cypress/cypress/e2e/argo_workflows.cy.js deleted file mode 100644 index d59281cbd46d8c..00000000000000 --- a/.vib/argo-workflows/cypress/cypress/e2e/argo_workflows.cy.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows submitting a workflow using a template created from a file', () => { - cy.visit('/workflow-templates'); - // Closes walkthrough pop-ups - cy.get('[class="modal-close"]').click(); - cy.get('[class="modal-close"]').click(); - - cy.contains('New Workflow Template').click(); - const newWorkflow = 'cypress/fixtures/workflow-template.json'; - const workflowName = `vib-testing-template-${random}` - cy.readFile(newWorkflow).then((obj) => { - obj.metadata.name = workflowName; - cy.writeFile(newWorkflow, obj); - }); - cy.get('.sliding-panel__body').should('be.visible').within(() => { - cy.get('[type="file"]').selectFile(newWorkflow, { force: true }); - cy.contains('Create').click(); - }); - cy.get('.top-bar').first().should('be.visible').within(() => { - cy.contains(workflowName); - }); - - cy.visit('/workflows/default'); - - cy.contains('Submit New').click({ force: true }); - - cy.get('.sliding-panel__body').should('be.visible').within(() => { - cy.get('.select').click(); - cy.contains(workflowName).click(); - cy.contains('button', 'Submit').click(); - }); - cy.get('[class*="node Succeeded"]').click(); -}); diff --git a/.vib/argo-workflows/cypress/cypress/fixtures/workflow-template.json b/.vib/argo-workflows/cypress/cypress/fixtures/workflow-template.json deleted file mode 100644 index bf40af6470920f..00000000000000 --- a/.vib/argo-workflows/cypress/cypress/fixtures/workflow-template.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "metadata": { - "name": "vib-testing-template-7t1b6", - "namespace": "default", - "labels": { - "vib": "testing" - } - }, - "spec": { - "workflowMetadata": { - "labels": { - "vib": "testing" - } - }, - "securityContext" : { - "runAsNonRoot": true, - "seccompProfile": { - "type": "RuntimeDefault" - } - }, - "entrypoint": "echo", - "arguments": { - "parameters": [ - { - "name": "message", - "value": "hello world" - } - ] - }, - "templates": [ - { - "name": "echo", - "inputs": { - "parameters": [ - { - "name": "message", - "value": "{{workflow.parameters.message}}" - } - ] - }, - "container": { - "name": "main", - "image": "bitnami/minideb", - "command": [ - "echo" - ], - "args": [ - "{{inputs.parameters.message}}" - ], - "securityContext": { - "runAsUser": 1001, - "runAsGroup": 1001, - "allowPrivilegeEscalation": false, - "capabilities": { - "drop": [ "ALL"] - } - } - } - } - ], - "ttlStrategy": { - "secondsAfterCompletion": 300 - }, - "podGC": { - "strategy": "OnPodCompletion" - } - } -} diff --git a/.vib/argo-workflows/cypress/cypress/support/commands.js b/.vib/argo-workflows/cypress/cypress/support/commands.js deleted file mode 100644 index 690f2bf9817cb7..00000000000000 --- a/.vib/argo-workflows/cypress/cypress/support/commands.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} diff --git a/.vib/argo-workflows/cypress/cypress/support/e2e.js b/.vib/argo-workflows/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/argo-workflows/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/argo-workflows/cypress/cypress/support/utils.js b/.vib/argo-workflows/cypress/cypress/support/utils.js deleted file mode 100644 index df0ce1257a4c74..00000000000000 --- a/.vib/argo-workflows/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7).toLowerCase(); diff --git a/.vib/argo-workflows/runtime-parameters.yaml b/.vib/argo-workflows/runtime-parameters.yaml deleted file mode 100644 index 78b04b25de3407..00000000000000 --- a/.vib/argo-workflows/runtime-parameters.yaml +++ /dev/null @@ -1,45 +0,0 @@ -rbac: - singleNamespace: false -createAggregateRoles: true -server: - enabled: true - rbac: - create: true - auth: - enabled: true - mode: server - clusterWorkflowTemplates: - enabled: true - enableEditing: true - secure: false - service: - ports: - http: 80 - type: LoadBalancer -workflows: - rbac: - create: true -postgresql: - enabled: true - service: - ports: - postgresql: 5432 -mysql: - enabled: false -# The service account running the workflows needs to have 'patch' privileges on pods for the given namespace -# In our tests, that combination is 'default/default' -extraDeploy: - - | - apiVersion: rbac.authorization.k8s.io/v1 - kind: RoleBinding - metadata: - name: default-cluster-admin - namespace: default - roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin - subjects: - - kind: ServiceAccount - name: default - namespace: default diff --git a/.vib/argo-workflows/vib-publish.json b/.vib/argo-workflows/vib-publish.json deleted file mode 100644 index 784695bbe97cdb..00000000000000 --- a/.vib/argo-workflows/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/argo-workflows" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/argo-workflows/vib-verify.json b/.vib/argo-workflows/vib-verify.json deleted file mode 100644 index d5488114ab6420..00000000000000 --- a/.vib/argo-workflows/vib-verify.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/argo-workflows" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/argo-workflows" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/argo-workflows/cypress" - }, - "endpoint": "lb-argo-workflows-server-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/aspnet-core/cypress/cypress.config.js b/.vib/aspnet-core/cypress/cypress.config.js deleted file mode 100644 index 9535289193c52f..00000000000000 --- a/.vib/aspnet-core/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/aspnet-core/cypress/cypress/e2e/aspnet-core.cy.js b/.vib/aspnet-core/cypress/cypress/e2e/aspnet-core.cy.js deleted file mode 100644 index 1e5a570b99fb90..00000000000000 --- a/.vib/aspnet-core/cypress/cypress/e2e/aspnet-core.cy.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('renders application correctly', () => { - cy.request('/').then((response) => { - expect(response.status).to.eq(200); - expect(response.headers['content-type']).to.eq('text/html'); - expect(response.body).to.contain('Generated at'); - }); -}); diff --git a/.vib/aspnet-core/cypress/cypress/support/e2e.js b/.vib/aspnet-core/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/aspnet-core/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/aspnet-core/goss/goss.yaml b/.vib/aspnet-core/goss/goss.yaml deleted file mode 100644 index 5abcf8bbf36d8e..00000000000000 --- a/.vib/aspnet-core/goss/goss.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /app: - exists: true - filetype: directory - mode: "2777" -command: - {{- if and .Vars.serviceAccount.create .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{- end }} diff --git a/.vib/aspnet-core/runtime-parameters.yaml b/.vib/aspnet-core/runtime-parameters.yaml deleted file mode 100644 index 6c364cf33e749e..00000000000000 --- a/.vib/aspnet-core/runtime-parameters.yaml +++ /dev/null @@ -1,18 +0,0 @@ -appFromExternalRepo: - enabled: true - clone: - repository: https://github.com/dotnet/AspNetCore.Docs.git - revision: main - depth: 1 - publish: - subFolder: aspnetcore/performance/caching/output/samples/9.x/OCControllers/ - startCommand: [dotnet, OCControllers.dll] -containerPorts: - http: 8080 -serviceAccount: - create: true -automountServiceAccountToken: true -service: - type: LoadBalancer - ports: - http: 80 diff --git a/.vib/aspnet-core/vib-publish.json b/.vib/aspnet-core/vib-publish.json deleted file mode 100644 index abc50455f70ac3..00000000000000 --- a/.vib/aspnet-core/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/aspnet-core" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/aspnet-core/vib-verify.json b/.vib/aspnet-core/vib-verify.json deleted file mode 100644 index e02d3c35a2dfc9..00000000000000 --- a/.vib/aspnet-core/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/aspnet-core" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/aspnet-core" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "aspnet-core/goss/goss.yaml", - "vars_file": "aspnet-core/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-aspnet-core" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/aspnet-core/cypress" - }, - "endpoint": "lb-aspnet-core-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/cadvisor/goss/goss.yaml b/.vib/cadvisor/goss/goss.yaml deleted file mode 100644 index 2ab9bd77511432..00000000000000 --- a/.vib/cadvisor/goss/goss.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - check-user-info: - # The UID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ]; then exit 1; fi - exit-status: 0 -http: - http://127.0.0.1:{{ .Vars.containerPorts.http }}/healthz: - status: 200 - http://cadvisor:{{ .Vars.service.ports.http }}/healthz: - status: 200 - http://127.0.0.1:{{ .Vars.containerPorts.http }}/: - status: 200 - body: - - /containers/ - http://cadvisor:{{ .Vars.service.ports.http }}/: - status: 200 - body: - - /containers/ - # cAdvisor generates a huge amount of prometheus metrics, so we - # need to give it extra time to avoid timeout issues in the test - http://127.0.0.1:{{ .Vars.containerPorts.http }}/metrics: - status: 200 - timeout: 20000 - body: - - /container_tasks_state/ - http://cadvisor:{{ .Vars.service.ports.http }}/metrics: - status: 200 - timeout: 20000 - body: - - /container_tasks_state/ diff --git a/.vib/cadvisor/runtime-parameters.yaml b/.vib/cadvisor/runtime-parameters.yaml deleted file mode 100644 index de97f67b68e75e..00000000000000 --- a/.vib/cadvisor/runtime-parameters.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# This application accesses the host filesystem, so it needs to be root -containerSecurityContext: - enabled: true - runAsUser: 0 -containerPorts: - http: 9332 -service: - type: LoadBalancer - ports: - http: 80 -metrics: - enabled: true -extraVolumes: - - name: tmp - emptyDir: {} -extraVolumeMounts: - - name: tmp - mountPath: /tmp \ No newline at end of file diff --git a/.vib/cadvisor/vib-publish.json b/.vib/cadvisor/vib-publish.json deleted file mode 100644 index fe49f46626908e..00000000000000 --- a/.vib/cadvisor/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cadvisor" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/cadvisor/vib-verify.json b/.vib/cadvisor/vib-verify.json deleted file mode 100644 index 335197178344e3..00000000000000 --- a/.vib/cadvisor/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cadvisor" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cadvisor" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "cadvisor/goss/goss.yaml", - "vars_file": "cadvisor/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "ds-cadvisor" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/cassandra/ginkgo/cassandra_suite_test.go b/.vib/cassandra/ginkgo/cassandra_suite_test.go deleted file mode 100644 index 344ac6aff1f7bd..00000000000000 --- a/.vib/cassandra/ginkgo/cassandra_suite_test.go +++ /dev/null @@ -1,92 +0,0 @@ -package cassandra_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - - v1 "k8s.io/api/core/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 600, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestCassandra(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Cassandra Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "cassandra", - Image: image, - Command: []string{"cqlsh", "-u", username, "-p", password, "-e", stmt}, - Env: []v1.EnvVar{ - { - Name: "CQLSH_HOST", - Value: stsName, - }, - { - Name: "CQLSH_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/cassandra/ginkgo/cassandra_test.go b/.vib/cassandra/ginkgo/cassandra_test.go deleted file mode 100644 index 8e80e9457c3a2b..00000000000000 --- a/.vib/cassandra/ginkgo/cassandra_test.go +++ /dev/null @@ -1,113 +0,0 @@ -package cassandra_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Cassandra", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and Cassandra is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - By("checking all the replicas are available") - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getOpts := metav1.GetOptions{} - - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "cql") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "cassandra") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - stsName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("CREATE KEYSPACE %s WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor' : %d };", dbName, origReplicas)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, createDBJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("DROP KEYSPACE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, deleteDBJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/cassandra/ginkgo/go.mod b/.vib/cassandra/ginkgo/go.mod deleted file mode 100644 index 2a61afbef3f49a..00000000000000 --- a/.vib/cassandra/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-cassandra-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/cassandra/ginkgo/go.sum b/.vib/cassandra/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/cassandra/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/cassandra/goss/goss.yaml b/.vib/cassandra/goss/goss.yaml deleted file mode 100644 index 63daead2f93acb..00000000000000 --- a/.vib/cassandra/goss/goss.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root - /opt/bitnami/cassandra/conf/cassandra.yaml: - exists: true - filetype: file - mode: "0644" - contents: - - /num_tokens.*{{ .Vars.cluster.numTokens }}/ -command: - {{- $dbUser := .Vars.dbUser.user }} - {{- $dbPassword := .Vars.dbUser.password }} - {{- $port := .Vars.containerPorts.cql }} - {{- $nodes := .Vars.replicaCount }} - {{- $keyspace := printf "test_%s" (randAlpha 5) }} - manage-keyspace: - exec: "cqlsh -u {{ $dbUser }} -p {{ $dbPassword }} -e 'CREATE KEYSPACE {{ $keyspace }} WITH REPLICATION = { $$class$$: $$SimpleStrategy$$, $$replication_factor$$ : {{ $nodes }} };' cassandra-0.cassandra-headless {{ $port }}{{ range $e, $i := until $nodes }} && cqlsh -u {{ $dbUser }} -p {{ $dbPassword }} -e 'USE {{ $keyspace }};' cassandra-{{ $i }}.cassandra-headless {{ $port }}{{ end }}" - exit-status: 0 - timeout: 60000 - cluster-size: - exec: if [ "$(nodetool status | grep {{ .Vars.cluster.numTokens }} | wc -l)" -ne {{ $nodes }} ]; then exit 1; fi - exit-status: 0 - timeout: 20000 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/cassandra/runtime-parameters.yaml b/.vib/cassandra/runtime-parameters.yaml deleted file mode 100644 index 21feedd35422a4..00000000000000 --- a/.vib/cassandra/runtime-parameters.yaml +++ /dev/null @@ -1,27 +0,0 @@ -dbUser: - user: test_cassandra - password: ComplicatedPassword123!4 -replicaCount: 2 -cluster: - seedCount: 2 - numTokens: 256 -containerPorts: - intra: 7001 - tls: 7002 - jmx: 7198 - cql: 9043 -persistence: - mountPath: /bitnami/cassandra -service: - ports: - cql: 80 - type: LoadBalancer -serviceAccount: - create: true -automountServiceAccountToken: true -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 diff --git a/.vib/cassandra/vib-action.config b/.vib/cassandra/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/cassandra/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/cassandra/vib-publish.json b/.vib/cassandra/vib-publish.json deleted file mode 100644 index d8a0956d78bf63..00000000000000 --- a/.vib/cassandra/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cassandra" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/cassandra/vib-verify.json b/.vib/cassandra/vib-verify.json deleted file mode 100644 index 7da6e121b1ce97..00000000000000 --- a/.vib/cassandra/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cassandra" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cassandra" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "cassandra/goss/goss.yaml", - "vars_file": "cassandra/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-cassandra" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/cassandra/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "cassandra", - "username": "test_cassandra", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/cert-manager/ginkgo/certmanager_test.go b/.vib/cert-manager/ginkgo/certmanager_test.go deleted file mode 100644 index b33c4fa4fe266d..00000000000000 --- a/.vib/cert-manager/ginkgo/certmanager_test.go +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "context" - "time" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/dynamic" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" -) - -var _ = Describe("CertManager", func() { - var typedClient corev1.CoreV1Interface - var dynamicClient dynamic.Interface - var ctx context.Context - - BeforeEach(func() { - typedClient = corev1.NewForConfigOrDie(clusterConfigOrDie()) - dynamicClient = dynamic.NewForConfigOrDie(clusterConfigOrDie()) - ctx = context.Background() - }) - - Context("configured with a namespaced Issuer (CRD)", func() { - var issuer = "vib-test-issuer" - - BeforeEach(func() { - createIssuerResourceOrDie(ctx, dynamicClient, issuer) - }) - AfterEach(func() { - // Not need to panic here if failed, the cluster is expected to clean up with the undeployment - dynamicClient.Resource(issuerType).Namespace(*namespace).Delete(ctx, issuer, metav1.DeleteOptions{}) - }) - - When("a Certificate (CRD) is created", func() { - var isReady bool - var certificateConfig = CertificateConfig{ - name: "vib-test-cert", - issuer: issuer, - secretName: "vib-test-tls-secret", - } - - BeforeEach(func() { - createCertificateResourceOrDie(ctx, dynamicClient, &certificateConfig) - // The Certificate resource takes some time to be ready. Wait (5*1) seconds. - isReady, _ = retry("isCertificateReady", 5, 1*time.Second, func() (bool, error) { return isCertificateReady(ctx, dynamicClient, certificateConfig.name) }) - }) - AfterEach(func() { - // Not need to panic here if failed, the cluster is expected to clean up with the undeployment - dynamicClient.Resource(certificateType).Namespace(*namespace).Delete(ctx, certificateConfig.name, metav1.DeleteOptions{}) - typedClient.Secrets(*namespace).Delete(ctx, certificateConfig.secretName, metav1.DeleteOptions{}) - }) - - It("should be marked as Ready", func() { - Expect(isReady).To(BeTrue()) - }) - It("should have created a Secret with the generated certificates", func() { - var expectedData []string = []string{"ca.crt", "tls.crt", "tls.key"} - - secret, err := typedClient.Secrets(*namespace).Get(ctx, certificateConfig.secretName, metav1.GetOptions{}) - Expect(err).ShouldNot(HaveOccurred()) - - isSecretOk := containsAllKeys(secret.Data, expectedData) - Expect(isSecretOk).To(BeTrue()) - }) - }) - - }) - -}) diff --git a/.vib/cert-manager/ginkgo/go.mod b/.vib/cert-manager/ginkgo/go.mod deleted file mode 100644 index 51f4cbc7e5668e..00000000000000 --- a/.vib/cert-manager/ginkgo/go.mod +++ /dev/null @@ -1,62 +0,0 @@ -module vib-tests - -go 1.23.0 - -toolchain go1.24.1 - -require ( - github.com/onsi/ginkgo/v2 v2.7.0 - github.com/onsi/gomega v1.24.1 - k8s.io/apimachinery v0.25.2 - k8s.io/client-go v0.25.2 -) - -require ( - cloud.google.com/go v0.97.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.27 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.20 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.8.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.5.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.25.2 // indirect - k8s.io/klog/v2 v2.70.1 // indirect - k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 // indirect - k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed // indirect - sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect -) diff --git a/.vib/cert-manager/ginkgo/go.sum b/.vib/cert-manager/ginkgo/go.sum deleted file mode 100644 index f555aed89fe37c..00000000000000 --- a/.vib/cert-manager/ginkgo/go.sum +++ /dev/null @@ -1,673 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0 h1:3DXvAyifywvq64LfkKaMOmkWPS1CikIQdMe2lY9vxU8= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= -github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8vthOeD4VlFRQULxahg= -github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/emicklei/go-restful/v3 v3.8.0 h1:eCZ8ulSerjdAiaNpF7GxXIE7ZCMo1moN1qX+S609eVw= -github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= -github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= -golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.25.2 h1:v6G8RyFcwf0HR5jQGIAYlvtRNrxMJQG1xJzaSeVnIS8= -k8s.io/api v0.25.2/go.mod h1:qP1Rn4sCVFwx/xIhe+we2cwBLTXNcheRyYXwajonhy0= -k8s.io/apimachinery v0.25.2 h1:WbxfAjCx+AeN8Ilp9joWnyJ6xu9OMeS/fsfjK/5zaQs= -k8s.io/apimachinery v0.25.2/go.mod h1:hqqA1X0bsgsxI6dXsJ4HnNTBOmJNxyPp8dw3u2fSHwA= -k8s.io/client-go v0.25.2 h1:SUPp9p5CwM0yXGQrwYurw9LWz+YtMwhWd0GqOsSiefo= -k8s.io/client-go v0.25.2/go.mod h1:i7cNU7N+yGQmJkewcRD2+Vuj4iz7b30kI8OcL3horQ4= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= -k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 h1:MQ8BAZPZlWk3S9K4a9NCkIFQtZShWqoha7snGixVgEA= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/.vib/cert-manager/ginkgo/integration_suite_test.go b/.vib/cert-manager/ginkgo/integration_suite_test.go deleted file mode 100644 index 8fb6a8cbc1458a..00000000000000 --- a/.vib/cert-manager/ginkgo/integration_suite_test.go +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/dynamic" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -const APP_NAME = "CertManager" - -var kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") -var namespace = flag.String("namespace", "", "namespace name in which the application is deployed") - -var issuerType = schema.GroupVersionResource{Group: "cert-manager.io", Version: "v1", Resource: "issuers"} -var certificateType = schema.GroupVersionResource{Group: "cert-manager.io", Version: "v1", Resource: "certificates"} - -type CertificateConfig struct { - name string - issuer string - secretName string -} - -func clusterConfigOrDie() *rest.Config { - var config *rest.Config - var err error - - if *kubeconfig != "" { - config, err = clientcmd.BuildConfigFromFlags("", *kubeconfig) - } else { - config, err = rest.InClusterConfig() - } - if err != nil { - panic(err.Error()) - } - - return config -} - -func createIssuerResourceOrDie(ctx context.Context, dC dynamic.Interface, name string) *unstructured.Unstructured { - payload := &unstructured.Unstructured{ - Object: map[string]interface{}{ - "apiVersion": "cert-manager.io/v1", - "kind": "Issuer", - "metadata": map[string]interface{}{ - "name": name, - "namespace": *namespace, - }, - "spec": map[string]interface{}{ - "selfSigned": map[string]interface{}{}, - }, - }, - } - - res, err := dC.Resource(issuerType).Namespace(*namespace).Create(ctx, payload, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the Issuer resource: %s", err)) - } - - return res -} - -func createCertificateResourceOrDie(ctx context.Context, dC dynamic.Interface, config *CertificateConfig) *unstructured.Unstructured { - payload := &unstructured.Unstructured{ - Object: map[string]interface{}{ - "apiVersion": "cert-manager.io/v1", - "kind": "Certificate", - "metadata": map[string]interface{}{ - "name": config.name, - "namespace": *namespace, - }, - "spec": map[string]interface{}{ - "dnsNames": []string{ - "example.com", - }, - "secretName": config.secretName, - "issuerRef": map[string]interface{}{ - "name": config.issuer, - }, - }, - }, - } - - res, err := dC.Resource(certificateType).Namespace(*namespace).Create(ctx, payload, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the Certificate resource: %s", err)) - } - - return res -} - -func isCertificateReady(ctx context.Context, dC dynamic.Interface, name string) (bool, error) { - var err error - - certificate, err := dC.Resource(certificateType).Namespace(*namespace).Get(ctx, name, metav1.GetOptions{}) - if err != nil { - fmt.Printf("There was an error obtaining the Certificate %q", name) - return false, err - } - conditions, found, err := unstructured.NestedSlice(certificate.Object, "status", "conditions") - if !found { - fmt.Printf("Status conditions for Certificate %q were not found", name) - return false, err - } - - mostRecentConditionUpdate := conditions[len(conditions)-1] - conditionToMap, conversionOk := mostRecentConditionUpdate.(map[string]interface{}) - if !conversionOk { - return false, fmt.Errorf("Error converting last Certificate condition to type map[string]interface{}; got %T", conditionToMap) - } - - return conditionToMap["type"] == "Ready" && conditionToMap["status"] == "True", nil -} - -func retry(name string, attempts int, sleep time.Duration, f func() (bool, error)) (res bool, err error) { - for i := 0; i < attempts; i++ { - fmt.Printf("[retriable] operation %q executing now [attempt %d/%d]\n", name, (i + 1), attempts) - res, err = f() - if res { - fmt.Printf("[retriable] operation %q succedeed [attempt %d/%d]\n", name, (i + 1), attempts) - return res, err - } - fmt.Printf("[retriable] operation %q failed, sleeping for %q now...\n", name, sleep) - time.Sleep(sleep) - } - fmt.Printf("[retriable] operation %q failed [attempt %d/%d]\n", name, attempts, attempts) - return res, err -} - -func containsAllKeys[K comparable, V any](mapToCheck map[K]V, keySet []K) (res bool) { - res = true - for _, k := range keySet { - if _, ok := mapToCheck[k]; !ok { - res = false - break - } - } - return res -} - -func CheckRequirements() { - if *namespace == "" { - panic(fmt.Sprintf("The namespace where %s is deployed must be provided. Use the '--namespace' flag", APP_NAME)) - } -} - -func TestIntegration(t *testing.T) { - RegisterFailHandler(Fail) - CheckRequirements() - RunSpecs(t, fmt.Sprintf("%s Integration Tests", APP_NAME)) -} diff --git a/.vib/cert-manager/goss/goss.yaml b/.vib/cert-manager/goss/goss.yaml deleted file mode 100644 index db84ee118da3ff..00000000000000 --- a/.vib/cert-manager/goss/goss.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $uid := .Vars.controller.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.controller.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.controller.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/cert-manager/runtime-parameters.yaml b/.vib/cert-manager/runtime-parameters.yaml deleted file mode 100644 index a6fe4081560843..00000000000000 --- a/.vib/cert-manager/runtime-parameters.yaml +++ /dev/null @@ -1,22 +0,0 @@ -installCRDs: true -controller: - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - serviceAccount: - create: true - automountServiceAccountToken: true - extraVolumes: - - name: empty-dir - emptyDir: {} - extraVolumeMounts: - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir -webhook: - httpsPort: 443 -rbac: - create: true \ No newline at end of file diff --git a/.vib/cert-manager/vib-action.config b/.vib/cert-manager/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/cert-manager/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/cert-manager/vib-publish.json b/.vib/cert-manager/vib-publish.json deleted file mode 100644 index 2da50a40b0fa6d..00000000000000 --- a/.vib/cert-manager/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cert-manager" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/cert-manager/vib-verify.json b/.vib/cert-manager/vib-verify.json deleted file mode 100644 index 7b5a7d0130b931..00000000000000 --- a/.vib/cert-manager/vib-verify.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cert-manager" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cert-manager" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/cert-manager/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}" - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "cert-manager/goss/goss.yaml", - "vars_file": "cert-manager/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-cert-manager-controller" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/chainloop/ginkgo/chainloop_suite_test.go b/.vib/chainloop/ginkgo/chainloop_suite_test.go deleted file mode 100644 index bc5d43bcd52f4c..00000000000000 --- a/.vib/chainloop/ginkgo/chainloop_suite_test.go +++ /dev/null @@ -1,31 +0,0 @@ -package chainloop_test - -import ( - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" -) - -var ( - kubeconfig string - releaseName string - namespace string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&releaseName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.IntVar(&timeoutSeconds, "timeout", 500, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestChainloop(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Chainloop Persistence Test Suite") -} diff --git a/.vib/chainloop/ginkgo/chainloop_test.go b/.vib/chainloop/ginkgo/chainloop_test.go deleted file mode 100644 index 88ea6fc79b02f3..00000000000000 --- a/.vib/chainloop/ginkgo/chainloop_test.go +++ /dev/null @@ -1,159 +0,0 @@ -package chainloop_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -// portDefinition is a struct to define a port in a service -type portDefinition struct { - name string - number string -} - -var _ = Describe("Chainloop", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("Chainloop chart is fully deployed", func() { - It("cas deployment is running", func() { - getReadyReplicas := func(ss *appsv1.Deployment) int32 { return ss.Status.ReadyReplicas } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - stsName := fmt.Sprintf("%s-cas", releaseName) - dpl, err := c.AppsV1().Deployments(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(dpl.Status.Replicas).NotTo(BeZero()) - origReplicas := *dpl.Spec.Replicas - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getReadyReplicas, Equal(origReplicas))) - - By("checking all the services are available") - svcs := []struct { - name string - ports []portDefinition - }{ - { - name: "cas", - ports: []portDefinition{ - { - name: "http", - number: "80", - }, - }, - }, - { - name: "cas-api", - ports: []portDefinition{ - { - name: "grpc", - number: "80", - }, - }, - }, - } - - for _, inSvc := range svcs { - svcName := fmt.Sprintf("%v-%v", releaseName, inSvc.name) - svc, err := c.CoreV1().Services(namespace).Get(ctx, svcName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) - - for _, port := range inSvc.ports { - outPort, err := utils.SvcGetPortByName(svc, port.name) - Expect(err).NotTo(HaveOccurred()) - Expect(outPort).NotTo(BeNil()) - Expect(outPort).To(Equal(port.number)) - } - } - - By("checking main container image is running") - _, err = utils.DplGetContainerImage(dpl, "cas") - Expect(err).NotTo(HaveOccurred()) - }) - - It("controlplane deployment is running", func() { - getReadyReplicas := func(ss *appsv1.Deployment) int32 { return ss.Status.ReadyReplicas } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - stsName := fmt.Sprintf("%s-controlplane", releaseName) - dpl, err := c.AppsV1().Deployments(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(dpl.Status.Replicas).NotTo(BeZero()) - origReplicas := *dpl.Spec.Replicas - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getReadyReplicas, Equal(origReplicas))) - - By("checking all the services are available") - svcs := []struct { - name string - ports []portDefinition - }{ - { - name: "controlplane", - ports: []portDefinition{ - { - name: "http", - number: "80", - }, - }, - }, - { - name: "controlplane-api", - ports: []portDefinition{ - { - name: "grpc", - number: "80", - }, - }, - }, - } - - for _, inSvc := range svcs { - svcName := fmt.Sprintf("%v-%v", releaseName, inSvc.name) - svc, err := c.CoreV1().Services(namespace).Get(ctx, svcName, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) - - for _, port := range inSvc.ports { - outPort, err := utils.SvcGetPortByName(svc, port.name) - Expect(err).NotTo(HaveOccurred()) - Expect(outPort).NotTo(BeNil()) - Expect(outPort).To(Equal(port.number)) - } - } - - By("checking main container image is running") - _, err = utils.DplGetContainerImage(dpl, "controlplane") - Expect(err).NotTo(HaveOccurred()) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/chainloop/ginkgo/go.mod b/.vib/chainloop/ginkgo/go.mod deleted file mode 100644 index e3d4f6ae1698ab..00000000000000 --- a/.vib/chainloop/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-chainloop-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/chainloop/ginkgo/go.sum b/.vib/chainloop/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/chainloop/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/chainloop/runtime-parameters.yaml b/.vib/chainloop/runtime-parameters.yaml deleted file mode 100644 index e4322437a56f4d..00000000000000 --- a/.vib/chainloop/runtime-parameters.yaml +++ /dev/null @@ -1,6 +0,0 @@ -controlplane: - auth: - oidc: - url: http://chainloop-dex:5556/dex - clientID: chainloop-dev - clientSecret: ZXhhbXBsZS1hcHAtc2VjcmV0 diff --git a/.vib/chainloop/vib-publish.json b/.vib/chainloop/vib-publish.json deleted file mode 100644 index 9197a1b2090864..00000000000000 --- a/.vib/chainloop/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/chainloop" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/.vib/chainloop/vib-verify.json b/.vib/chainloop/vib-verify.json deleted file mode 100644 index 85b6bd0173f29a..00000000000000 --- a/.vib/chainloop/vib-verify.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/chainloop" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/chainloop" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/chainloop/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "chainloop" - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/.vib/cilium/cypress/cypress.config.js b/.vib/cilium/cypress/cypress.config.js deleted file mode 100644 index a3424865cf2e41..00000000000000 --- a/.vib/cilium/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/cilium/cypress/cypress/e2e/hubble-ui.cy.js b/.vib/cilium/cypress/cypress/e2e/hubble-ui.cy.js deleted file mode 100644 index 1667f6b840650f..00000000000000 --- a/.vib/cilium/cypress/cypress/e2e/hubble-ui.cy.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('shows the welcome page', () => { - cy.visit('/'); - cy.contains('Welcome'); -}); - -// TO DO: add tests that browse the UI looking for -// the namespaces observability information diff --git a/.vib/cilium/cypress/cypress/support/commands.js b/.vib/cilium/cypress/cypress/support/commands.js deleted file mode 100644 index 05dbe23595c59d..00000000000000 --- a/.vib/cilium/cypress/cypress/support/commands.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// Added to slow down Cypress test execution without using hardcoded waits. If removed, there will be false positives. -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.on('uncaught:exception', (err) => { - // We expect an error "Cannot read properties of undefined (reading 'includes')" - // during the installation of a template so we add an exception - if (err.message.includes("Cannot read properties of undefined (reading 'includes')")) { - return false; - } - if(err.message.includes("ResizeObserver loop")){ - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/cilium/cypress/cypress/support/e2e.js b/.vib/cilium/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/cilium/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/cilium/ginkgo/cilium_suite_test.go b/.vib/cilium/ginkgo/cilium_suite_test.go deleted file mode 100644 index e95bd9572029a9..00000000000000 --- a/.vib/cilium/ginkgo/cilium_suite_test.go +++ /dev/null @@ -1,208 +0,0 @@ -package cilium_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/util/intstr" - "k8s.io/client-go/dynamic" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - releaseName string - namespace string - timeoutSeconds int - timeout time.Duration - - ciliumNetworkPolicyType = schema.GroupVersionResource{Group: "cilium.io", Version: "v2", Resource: "ciliumnetworkpolicies"} -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&namespace, "namespace", "", "namespace where Cilium is running") - flag.StringVar(&releaseName, "releaseName", "", "Cilium chart release name") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestCilium(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Cilium Test Suite") -} - -func createAPIMockDeploy(ctx context.Context, c kubernetes.Interface, fsGroup, user *int64) error { - podSecurityContext := &v1.PodSecurityContext{ - FSGroup: fsGroup, - } - containerSecurityContext := &v1.SecurityContext{ - RunAsUser: user, - } - - deploy := &appsv1.Deployment{ - ObjectMeta: metav1.ObjectMeta{ - Name: "api-mock", - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Deployment", - }, - Spec: appsv1.DeploymentSpec{ - Selector: &metav1.LabelSelector{ - MatchLabels: map[string]string{ - "app": "api-mock", - }, - }, - Template: v1.PodTemplateSpec{ - ObjectMeta: metav1.ObjectMeta{ - Labels: map[string]string{ - "app": "api-mock", - }, - }, - Spec: v1.PodSpec{ - SecurityContext: podSecurityContext, - Containers: []v1.Container{{ - Name: "api-mock", - Image: "docker.io/juanariza131/api-mock:latest", - SecurityContext: containerSecurityContext, - Env: []v1.EnvVar{ - { - Name: "SUB_ROUTES", - Value: "/foo", - }, - }, - Ports: []v1.ContainerPort{{ - Name: "http", - ContainerPort: int32(8080), - }}, - }}, - }, - }, - }, - } - - _, err := c.AppsV1().Deployments(namespace).Create(ctx, deploy, metav1.CreateOptions{}) - - return err -} - -func createAPIMockService(ctx context.Context, c kubernetes.Interface) error { - service := &v1.Service{ - ObjectMeta: metav1.ObjectMeta{ - Name: "api-mock", - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Service", - }, - Spec: v1.ServiceSpec{ - Type: v1.ServiceTypeClusterIP, - Ports: []v1.ServicePort{{ - Name: "http", - Port: int32(8080), - TargetPort: intstr.IntOrString{Type: intstr.String, StrVal: "http"}, - }}, - Selector: map[string]string{ - "app": "api-mock", - }, - }, - } - - _, err := c.CoreV1().Services(namespace).Create(ctx, service, metav1.CreateOptions{}) - - return err -} - -func createAPIMockCiliumNetworkPolicy(ctx context.Context, dC dynamic.Interface) error { - payload := &unstructured.Unstructured{ - Object: map[string]interface{}{ - "apiVersion": "cilium.io/v2", - "kind": "CiliumNetworkPolicy", - "metadata": map[string]interface{}{ - "name": "api-mock", - }, - "spec": map[string]interface{}{ - "description": "L3-L4 policy to restrict API mock", - "endpointSelector": map[string]interface{}{ - "matchLabels": map[string]interface{}{ - "app": "api-mock", - }, - }, - "ingress": []map[string]interface{}{{ - "fromEndpoints": []map[string]interface{}{{ - "matchLabels": map[string]interface{}{ - "api-mock-client": "true", - }, - }}, - "toPorts": []map[string]interface{}{{ - "ports": []interface{}{ - map[string]interface{}{ - "port": "8080", - "protocol": "TCP", - }, - }, - }}, - }}, - }, - }, - } - - _, err := dC.Resource(ciliumNetworkPolicyType).Namespace(namespace).Create(ctx, payload, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the CiliumNetworkPolicy resource: %s", err)) - } - - return err -} - -func createAPIMockClientJob(ctx context.Context, c kubernetes.Interface, jobName string, fsGroup, user *int64, podLabels map[string]string) error { - podSecurityContext := &v1.PodSecurityContext{ - FSGroup: fsGroup, - } - containerSecurityContext := &v1.SecurityContext{ - RunAsUser: user, - } - - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: jobName, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - ObjectMeta: metav1.ObjectMeta{ - Labels: podLabels, - }, - Spec: v1.PodSpec{ - RestartPolicy: "Never", - SecurityContext: podSecurityContext, - Containers: []v1.Container{ - { - Name: "curl", - Image: "docker.io/bitnami/os-shell:latest", - Command: []string{"bash", "-ec"}, - Args: []string{"curl --connect-timeout 5 -X GET -H 'Accept: application/json' http://api-mock:8080/v1/mock/foo"}, - SecurityContext: containerSecurityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/cilium/ginkgo/cilium_test.go b/.vib/cilium/ginkgo/cilium_test.go deleted file mode 100644 index 5544f283740a66..00000000000000 --- a/.vib/cilium/ginkgo/cilium_test.go +++ /dev/null @@ -1,101 +0,0 @@ -package cilium_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/dynamic" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Cilium", Ordered, func() { - var c *kubernetes.Clientset - var dC dynamic.Interface - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - dC = dynamic.NewForConfigOrDie(conf) - }) - - When("a CiliumNetworkPolicy is created", func() { - AfterEach(func() { - cancel() - }) - - It("should restrict the traffic", func() { - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getFailedJobs := func(j *batchv1.Job) int32 { return j.Status.Failed } - getOpts := metav1.GetOptions{} - - By("checking Cilium Agent is available") - agentDsName := fmt.Sprintf("%s-agent", releaseName) - agentDs, err := c.AppsV1().DaemonSets(namespace).Get(ctx, agentDsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - fsGroup := agentDs.Spec.Template.Spec.SecurityContext.FSGroup - runAsUser := agentDs.Spec.Template.Spec.Containers[0].SecurityContext.RunAsUser - Expect(err).NotTo(HaveOccurred()) - - By("creating a deployment and a service to expose a mock API") - err = createAPIMockDeploy(ctx, c, fsGroup, runAsUser) - Expect(err).NotTo(HaveOccurred()) - err = createAPIMockService(ctx, c) - Expect(err).NotTo(HaveOccurred()) - - By("creating a CiliumNetworkPolicy to restrict the traffic") - err = createAPIMockCiliumNetworkPolicy(ctx, dC) - Expect(err).NotTo(HaveOccurred()) - - By("creating a job to access the mock API with required labels") - jobName := "api-client-labelled" - err = createAPIMockClientJob(ctx, c, jobName, fsGroup, runAsUser, map[string]string{"api-mock-client": "true"}) - Expect(err).NotTo(HaveOccurred()) - - By("waiting for the job to succeed") - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, jobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, jobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - By("creating a 2nd job to access the mock API without required labels") - jobName = "api-client-no-labels" - err = createAPIMockClientJob(ctx, c, jobName, fsGroup, runAsUser, map[string]string{}) - Expect(err).NotTo(HaveOccurred()) - - By("waiting for the job to fail") - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, jobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getFailedJobs, Equal(int32(1)))) - - By("deleting the job once it has failed") - err = c.BatchV1().Jobs(namespace).Delete(ctx, jobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - By("deleting the CiliumNetworkPolicy") - dC.Resource(ciliumNetworkPolicyType).Namespace(namespace).Delete(ctx, "api-mock", metav1.DeleteOptions{}) - - By("deleting the mock API deployment and services") - err = c.CoreV1().Services(namespace).Delete(ctx, "api-mock", metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - err = c.AppsV1().Deployments(namespace).Delete(ctx, "api-mock", metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - }) - }) -}) diff --git a/.vib/cilium/ginkgo/go.mod b/.vib/cilium/ginkgo/go.mod deleted file mode 100644 index b9a5850b1bc295..00000000000000 --- a/.vib/cilium/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-cilium-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/cilium/ginkgo/go.sum b/.vib/cilium/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/cilium/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/cilium/goss/goss-wait.yaml b/.vib/cilium/goss/goss-wait.yaml deleted file mode 100644 index 47391e5aae456d..00000000000000 --- a/.vib/cilium/goss/goss-wait.yaml +++ /dev/null @@ -1,6 +0,0 @@ -command: - # Cilium requires to be stable before checking endpoints - wait-to-be-available: - exec: "sleep 300" - exit-status: 0 - timeout: 310000 diff --git a/.vib/cilium/goss/goss.yaml b/.vib/cilium/goss/goss.yaml deleted file mode 100644 index 1c7535b91ba828..00000000000000 --- a/.vib/cilium/goss/goss.yaml +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -# This application performs modifications at host-level, injecting new configuration files and installing new binaries. -command: - {{- $uid := .Vars.agent.containerSecurityContext.runAsUser }} - check-user-info: - # The UID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.agent.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{ .Env.BITNAMI_APP_NAME }}/ - {{ end }} -http: - http://127.0.0.1:{{ .Vars.agent.containerPorts.health }}/healthz: - status: 200 - {{ if .Vars.agent.metrics.enabled }} - http://127.0.0.1:{{ .Vars.agent.containerPorts.metrics }}/metrics: - status: 200 - http://cilium-agent-metrics:{{ .Vars.agent.metrics.service.port }}/metrics: - status: 200 - {{ end }} - {{ if .Vars.hubble.peers.metrics.enabled }} - http://127.0.0.1:{{ .Vars.agent.containerPorts.hubbleMetrics }}/metrics: - status: 200 - http://cilium-hubble-peers-metrics:{{ .Vars.hubble.peers.metrics.service.port }}/metrics: - status: 200 - {{ end }} -addr: - tcp://127.0.0.1:{{ .Vars.agent.containerPorts.hubblePeer }}: - reachable: true - timeout: 500 - tcp://cilium-hubble-peers:{{ .Vars.hubble.peers.service.port }}: - reachable: true - timeout: 500 - {{ if .Vars.agent.enablePprof }} - tcp://127.0.0.1:{{ .Vars.agent.containerPorts.pprof }}: - reachable: true - timeout: 500 - {{ end }} -file: - # Sockets should be created - /opt/bitnami/cilium/var/run/cilium.sock: - exists: true - filetype: socket - mode: '0660' - /opt/bitnami/cilium/var/run/hubble.sock: - exists: true - filetype: socket - mode: '0660' - {{ if .Vars.hubble.tls.enabled }} - # Hubble certs are present - /certs/hubble/ca.crt: - exists: true - filetype: symlink - /certs/hubble/tls.crt: - exists: true - filetype: symlink - /certs/hubble/tls.key: - exists: true - filetype: symlink - {{ end }} - # Cilium CNI configuration files should be present in the host - /host/etc/cni/net.d/05-cilium.conflist: - exists: true - filetype: file - mode: '0600' - # BPF fs should be mounted - /sys/fs/bpf: - exists: true - filetype: directory diff --git a/.vib/cilium/runtime-parameters.yaml b/.vib/cilium/runtime-parameters.yaml deleted file mode 100644 index 5cabcd2abc62c9..00000000000000 --- a/.vib/cilium/runtime-parameters.yaml +++ /dev/null @@ -1,122 +0,0 @@ -aws: - enabled: true -gcp: - enabled: false -agent: - enableENI: true - cniPlugin: - install: true - uninstall: true - enablePprof: true - containerSecurityContext: - enabled: true - runAsUser: 0 - allowPrivilegeEscalation: true - privileged: true - containerPorts: - health: 9879 - pprof: 6060 - hubblePeer: 4244 - metrics: 9962 - hubbleMetrics: 9965 - priorityClassName: "" - serviceAccount: - create: true - automountServiceAccountToken: true - metrics: - enabled: true - service: - port: 9962 -operator: - metrics: - enabled: true -envoy: - metrics: - enabled: true -hubble: - tls: - enabled: true - autoGenerated: - enabled: true - engine: helm - peers: - service: - port: 4244 - metrics: - enabled: true - service: - port: 9965 - relay: - enabled: true - metrics: - enabled: true - ui: - enabled: true - service: - ports: - http: 80 - type: LoadBalancer -extraDeploy: -- | - apiVersion: rbac.authorization.k8s.io/v1 - kind: Role - metadata: - name: deployment-restart - namespace: "{{ include "common.names.namespace" . }}" - rules: - - apiGroups: ["apps"] - resources: ["deployments"] - verbs: ["get", "update", "patch"] - - apiGroups: ["apps"] - resources: ["daemonsets"] - verbs: ["get", "list", "watch"] - - apiGroups: [""] - resources: ["pods"] - verbs: ["get", "list"] - --- - apiVersion: rbac.authorization.k8s.io/v1 - kind: RoleBinding - metadata: - name: deployment-restart - namespace: {{ include "common.names.namespace" . }} - subjects: - - kind: ServiceAccount - name: deployment-restarter - namespace: {{ include "common.names.namespace" . }} - roleRef: - kind: Role - name: deployment-restart - --- - apiVersion: v1 - kind: ServiceAccount - metadata: - name: deployment-restarter - namespace: {{ include "common.names.namespace" . }} - --- - apiVersion: batch/v1 - kind: Job - metadata: - name: deployment-restarter - namespace: {{ include "common.names.namespace" . }} - spec: - template: - spec: - automountServiceAccountToken: true - serviceAccountName: deployment-restarter - restartPolicy: OnFailure - containers: - - name: kubectl - image: docker.io/bitnami/kubectl:latest - command: - - /bin/bash - args: - - -ec - - | - set -o errexit - set -o nounset - set -o pipefail - - kubectl rollout status --namespace {{ include "common.names.namespace" . }} daemonset {{ include "cilium.agent.fullname" . }} - echo "Cilium agents are ready" - kubectl rollout restart deployment --namespace {{ include "common.names.namespace" . }} {{ include "cilium.hubble.relay.fullname" . }} - kubectl rollout restart deployment --namespace {{ include "common.names.namespace" . }} {{ include "cilium.hubble.ui.fullname" . }} diff --git a/.vib/cilium/vib-action.config b/.vib/cilium/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/cilium/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/cilium/vib-publish.json b/.vib/cilium/vib-publish.json deleted file mode 100644 index 06d2fca1eba3f8..00000000000000 --- a/.vib/cilium/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cilium" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/cilium/vib-verify.json b/.vib/cilium/vib-verify.json deleted file mode 100644 index 491ab87665ffec..00000000000000 --- a/.vib/cilium/vib-verify.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cilium" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cilium" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "cilium/goss/goss.yaml", - "vars_file": "cilium/runtime-parameters.yaml", - "wait": { - "file": "cilium/goss/goss-wait.yaml" - }, - "remote": { - "pod": { - "workload": "ds-cilium-agent" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/cilium/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "releaseName": "cilium" - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/cilium/cypress" - }, - "endpoint": "lb-cilium-hubble-ui-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/clickhouse-operator/goss/goss.yaml b/.vib/clickhouse-operator/goss/goss.yaml deleted file mode 100644 index 350b2f2aa37162..00000000000000 --- a/.vib/clickhouse-operator/goss/goss.yaml +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/clickhouse/data: - mode: "2750" - filetype: directory - exists: true - /opt/bitnami/clickhouse/etc/config.d/01-clickhouse-01-listen.xml: - exists: true - filetype: symlink - contents: - - /listen_host>::0.0.0.0/ -# Host and ports are hardcoded in the ClickHouseInstallationTemplate -http: - http://127.0.0.1:8123/replicas_status: - status: 200 - body: - - Ok - http://chi-vib-vib-0-0:8123/replicas_status: - status: 200 - body: - - Ok -# Host and port are hardcoded in ClickHouseKeeperInstallation -addr: - tcp://chk-vib-vib-0-0:2181: - reachable: true - timeout: 500 -command: - check-cluster-status: - # Hardcoded port based on the ClickHouseInstallationTemplate spec - exec: clickhouse-client --port 9000 --user '{{ .Vars.auth.username }}' --password '{{ .Vars.auth.password }}' --query='SELECT COUNT(*) FROM system.clusters;' - exit-status: 0 - stdout: - - "4" - create-database-in-cluster: - # Hardcoded host and port based on the ClickHouseInstallationTemplate spec - {{- $database := printf "test_goss_%s" (randAlpha 5) }} - {{- $table := printf "%s.table_%s" $database (randAlpha 5) }} - {{- $insertValue := 23 }} - exec: clickhouse-client --host chi-vib-vib-0-0 --port 9000 --user '{{ .Vars.auth.username }}' --password '{{ .Vars.auth.password }}' --multiquery --query='CREATE DATABASE {{ $database }} ON CLUSTER vib ENGINE = Memory; CREATE TABLE {{ $table }} (a UInt8) ENGINE = Memory; INSERT INTO {{ $table }} VALUES({{ $insertValue }}); SELECT * FROM {{ $table }};' - exit-status: 0 - stdout: - - "{{ $insertValue }}" diff --git a/.vib/clickhouse-operator/runtime-parameters.yaml b/.vib/clickhouse-operator/runtime-parameters.yaml deleted file mode 100644 index 7598c39684f26a..00000000000000 --- a/.vib/clickhouse-operator/runtime-parameters.yaml +++ /dev/null @@ -1,225 +0,0 @@ -# Adding an extra initial delay to avoid race conditions with the -# deployment and Goss stages (so the operator has time to deploy -# ClickHouse and ClickHouse Keeper installations) -readinessProbe: - initialDelaySeconds: 45 -auth: - username: test_user - password: bitnami1234 -extraDeploy: -# ref: https://github.com/Altinity/clickhouse-operator/tree/master/docs/chi-examples -- | - apiVersion: clickhouse.altinity.com/v1 - kind: ClickHouseInstallationTemplate - metadata: - name: default-chi-template - namespace: {{ include "common.names.namespace" . | quote }} - spec: - templates: - podTemplates: - - name: default-clickhouse - distribution: Unspecified - metadata: - labels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 12 }} - app.kubernetes.io/part-of: clickhouse-operator - app.kubernetes.io/component: clickhouse - spec: - {{- include "clickhouse-operator.imagePullSecrets" . | nindent 10 }} - securityContext: - fsGroupChangePolicy: OnRootMismatch - {{- if not (include "common.compatibility.isOpenshift" .) }} - fsGroup: 1001 - {{- end }} - containers: - - name: clickhouse - image: {{ template "clickhouse-operator.clickhouse.image" . }} - imagePullPolicy: {{ .Values.clickHouseImage.pullPolicy | quote }} - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - seccompProfile: - type: RuntimeDefault - readOnlyRootFilesystem: true - runAsNonRoot: true - {{- if not (include "common.compatibility.isOpenshift" .) }} - runAsGroup: 1001 - runAsUser: 1001 - {{- end }} - env: - - name: BITNAMI_DEBUG - value: "true" - resources: - requests: - memory: "256M" - cpu: "0.5" - limits: - memory: "1Gi" - cpu: "1" - volumeMounts: - - name: default-volume-claim - mountPath: /bitnami/clickhouse - # Hack required for read-only fs - - name: chi-vib-deploy-confd-vib-0-0 - mountPath: /opt/bitnami/clickhouse/etc/conf.d - - name: chi-vib-common-configd - mountPath: /opt/bitnami/clickhouse/etc/config.d - - name: chi-vib-common-usersd - mountPath: /opt/bitnami/clickhouse/etc/users.d - - name: empty-dir - mountPath: /opt/bitnami/clickhouse/etc - subPath: app-conf-dir - - name: empty-dir - mountPath: /opt/bitnami/clickhouse/logs - subPath: app-logs-dir - - name: empty-dir - mountPath: /opt/bitnami/clickhouse/tmp - subPath: app-tmp-dir - # end of hack - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - volumes: - - name: empty-dir - emptyDir: {} - volumeClaimTemplates: - - name: default-volume-claim - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 8Gi -- apiVersion: clickhouse.altinity.com/v1 - kind: ClickHouseInstallation - metadata: - name: vib - spec: - useTemplates: - - name: default-chi-template - defaults: - templates: - podTemplate: default-clickhouse - dataVolumeClaimTemplate: default-volume-claim - configuration: - settings: - http_port: 8123 - tcp_port: 9000 - interserver_http_port: 9009 - users: - test_user/networks/ip: - - 0.0.0.0/0 - - '::/0' - zookeeper: - nodes: - - host: chk-vib-vib - port: 2181 - clusters: - - name: vib - layout: - replicasCount: 1 -# ref: https://github.com/Altinity/clickhouse-operator/tree/master/docs/chk-examples -- | - apiVersion: clickhouse-keeper.altinity.com/v1 - kind: ClickHouseKeeperInstallation - metadata: - name: vib - spec: - defaults: - templates: - podTemplate: default-clickhouse-keeper - dataVolumeClaimTemplate: default-volume-claim - configuration: - clusters: - - name: vib - layout: - replicasCount: 1 - templates: - podTemplates: - - name: default-clickhouse-keeper - distribution: Unspecified - metadata: - labels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 12 }} - app.kubernetes.io/part-of: clickhouse-operator - app.kubernetes.io/component: clickhouse-keeper - spec: - {{- include "clickhouse-operator.imagePullSecrets" . | nindent 10 }} - securityContext: - fsGroupChangePolicy: OnRootMismatch - {{- if not (include "common.compatibility.isOpenshift" .) }} - fsGroup: 1001 - {{- end }} - containers: - - name: clickhouse-keeper - image: {{ template "clickhouse-operator.keeper.image" . }} - imagePullPolicy: {{ .Values.keeperImage.pullPolicy | quote }} - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - seccompProfile: - type: RuntimeDefault - readOnlyRootFilesystem: true - runAsNonRoot: true - {{- if not (include "common.compatibility.isOpenshift" .) }} - runAsGroup: 1001 - runAsUser: 1001 - {{- end }} - workingDir: /var/lib/clickhouse-keeper - env: - - name: BITNAMI_DEBUG - value: "true" - - name: CLICKHOUSE_KEEPER_SERVER_ID - value: "1" - resources: - requests: - memory: "256M" - cpu: "0.5" - limits: - memory: "1Gi" - cpu: "1" - volumeMounts: - - name: default-volume-claim - mountPath: /bitnami/clickhouse-keeper - # Hack required for read-only fs - - name: empty-dir - mountPath: /opt/bitnami/clickhouse-keeper/etc - subPath: app-conf-dir - - name: empty-dir - mountPath: /opt/bitnami/clickhouse-keeper/logs - subPath: app-logs-dir - - name: empty-dir - mountPath: /opt/bitnami/clickhouse-keeper/tmp - subPath: app-tmp-dir - # end of hack - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - volumes: - - name: empty-dir - emptyDir: {} - volumeClaimTemplates: - - name: default-volume-claim - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 8Gi -- apiVersion: v1 - kind: Service - metadata: - name: chk-vib-vib - labels: - clickhouse-keeper.altinity.com/chk: vib - clickhouse-keeper.altinity.com/cluster: vib - spec: - ports: - - port: 2181 - name: client - selector: - clickhouse-keeper.altinity.com/chk: vib - clickhouse-keeper.altinity.com/cluster: vib - clickhouse-keeper.altinity.com/ready: "yes" diff --git a/.vib/clickhouse-operator/vib-publish.json b/.vib/clickhouse-operator/vib-publish.json deleted file mode 100644 index 67ceec27a6594c..00000000000000 --- a/.vib/clickhouse-operator/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/clickhouse-operator" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/clickhouse-operator/vib-verify.json b/.vib/clickhouse-operator/vib-verify.json deleted file mode 100644 index a8e7a64027d7f5..00000000000000 --- a/.vib/clickhouse-operator/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/clickhouse-operator" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/clickhouse-operator" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_ALTERNATIVE_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "clickhouse-operator/goss/goss.yaml", - "vars_file": "clickhouse-operator/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-chi-vib-vib-0-0" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/clickhouse/cypress/cypress.config.js b/.vib/clickhouse/cypress/cypress.config.js deleted file mode 100644 index e81f0667556a7f..00000000000000 --- a/.vib/clickhouse/cypress/cypress.config.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - env: { - username: 'test_user', - password: 'bitnami1234', - }, - hosts: { - 'vmware-clickhouse.my': '{{ TARGET_IP }}', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - }, -} diff --git a/.vib/clickhouse/cypress/cypress/e2e/clickhouse.cy.js b/.vib/clickhouse/cypress/cypress/e2e/clickhouse.cy.js deleted file mode 100644 index 5b79a539262af6..00000000000000 --- a/.vib/clickhouse/cypress/cypress/e2e/clickhouse.cy.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('allows running a query', () => { - cy.visit('/play'); - cy.get('#user') - .clear() - .type(Cypress.env('username'), { force: true }); - cy.get('#password').type(Cypress.env('password')); - cy.fixture('queries').then((queries) => { - cy.get('#query').type(queries.dbQuery.query); - cy.get('#run').click(); - cy.contains(queries.dbQuery.output.header); - cy.contains(queries.dbQuery.output.return); - }); -}); diff --git a/.vib/clickhouse/cypress/cypress/fixtures/queries.json b/.vib/clickhouse/cypress/cypress/fixtures/queries.json deleted file mode 100644 index a466a1e5e4127f..00000000000000 --- a/.vib/clickhouse/cypress/cypress/fixtures/queries.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "dbQuery": { - "query": "SHOW DATABASES;", - "output": { - "header": "name", - "return": "information_schema" - } - } -} diff --git a/.vib/clickhouse/cypress/cypress/support/commands.js b/.vib/clickhouse/cypress/cypress/support/commands.js deleted file mode 100644 index 571953682593e9..00000000000000 --- a/.vib/clickhouse/cypress/cypress/support/commands.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; -const BASE_URL = 'https://vmware-clickhouse.my'; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -// Due to a bug when using "hosts" in Cypress, we cannot set a "baseUrl" in the -// cypress.json file. Workaround this by modifying the "visit" command to preprend -// the base URL. -// -// Further details: https://github.com/cypress-io/cypress/issues/20647 -Cypress.Commands.overwrite('visit', (originalFn, url, options) => { - return originalFn(`${BASE_URL}${url}`, options); -}); diff --git a/.vib/clickhouse/cypress/cypress/support/e2e.js b/.vib/clickhouse/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/clickhouse/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/clickhouse/ginkgo/clickhouse_suite_test.go b/.vib/clickhouse/ginkgo/clickhouse_suite_test.go deleted file mode 100644 index ba5f4c69d562f7..00000000000000 --- a/.vib/clickhouse/ginkgo/clickhouse_suite_test.go +++ /dev/null @@ -1,122 +0,0 @@ -package clickhouse_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - releaseName string - namespace string - username string - password string - shards int - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&releaseName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&shards, "shards", 2, "number of shards") - flag.IntVar(&timeoutSeconds, "timeout", 300, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestClickHouse(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "ClickHouse Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "clickhouse", - Image: image, - Command: []string{ - "clickhouse-client", - "--host", releaseName, "--port", port, - "--config", "/opt/bitnami/clickhouse/etc/config.d/06-tls.xml", "--secure", - "--user", username, "--password", password, "--multiquery", - "--query", stmt, - }, - SecurityContext: securityContext, - Env: []v1.EnvVar{{ - Name: "CLICKHOUSE_TCP_SECURE_PORT", - Value: port, - }, { - Name: "CLICKHOUSE_HTTPS_PORT", - // We can set any number here, it's not used - Value: "1234", - }}, - VolumeMounts: []v1.VolumeMount{{ - Name: "ca-cert", - MountPath: "/opt/bitnami/clickhouse/certs/ca", - }, { - Name: "configd-configuration", - MountPath: "/opt/bitnami/clickhouse/etc/config.d", - }}, - }, - }, - Volumes: []v1.Volume{{ - Name: "ca-cert", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-ca-crt", releaseName), - }, - }, - }, { - Name: "configd-configuration", - VolumeSource: v1.VolumeSource{ - ConfigMap: &v1.ConfigMapVolumeSource{ - LocalObjectReference: v1.LocalObjectReference{ - Name: fmt.Sprintf("%s-configd", releaseName), - }, - }, - }, - }}, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/clickhouse/ginkgo/clickhouse_test.go b/.vib/clickhouse/ginkgo/clickhouse_test.go deleted file mode 100644 index d733582522ad3f..00000000000000 --- a/.vib/clickhouse/ginkgo/clickhouse_test.go +++ /dev/null @@ -1,121 +0,0 @@ -package clickhouse_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("ClickHouse", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and ClickHouse shards are scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getOpts := metav1.GetOptions{} - - image := "" - - for i := 0; i < shards; i++ { - By(fmt.Sprintf("checking all the shard %d replicas are available", i)) - shardName := fmt.Sprintf("%s-shard%d", releaseName, i) - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, shardName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - image, err = utils.StsGetContainerImageByName(ss, "clickhouse") - Expect(err).NotTo(HaveOccurred()) - origReplicas := *ss.Spec.Replicas - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, shardName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - } - - svc, err := c.CoreV1().Services(namespace).Get(ctx, releaseName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-secure") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - releaseName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("CREATE DATABASE %s ON CLUSTER default ENGINE = Memory;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, createDBJobName, metav1.DeleteOptions{}) - - for i := 0; i < shards; i++ { - shardName := fmt.Sprintf("%s-shard%d", releaseName, i) - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, shardName, getOpts) - shardOrigReplicas := *ss.Spec.Replicas - - Expect(ss.Status.Replicas).NotTo(BeZero()) - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := 0; i < int(shardOrigReplicas); i++ { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", shardName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, shardName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(shardOrigReplicas))) - } - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - releaseName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("DROP DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, deleteDBJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/clickhouse/ginkgo/go.mod b/.vib/clickhouse/ginkgo/go.mod deleted file mode 100644 index f363d34c597cca..00000000000000 --- a/.vib/clickhouse/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-clickhouse-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/clickhouse/ginkgo/go.sum b/.vib/clickhouse/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/clickhouse/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/clickhouse/goss/goss.yaml b/.vib/clickhouse/goss/goss.yaml deleted file mode 100644 index 546418e78cb498..00000000000000 --- a/.vib/clickhouse/goss/goss.yaml +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /opt/bitnami/clickhouse/etc/config.d/01-listen.xml: - mode: "0644" - filetype: file - exists: true - contents: - - /listen_host>::0.0.0.0{{ .Vars.logLevel }}/ - - /replica from_env="CLICKHOUSE_REPLICA_ID">/ - /opt/bitnami/clickhouse/etc/config.d/04-cluster.xml: - mode: "0644" - filetype: file - exists: true - contents: - - "remote_servers" - {{ if .Vars.tls.enabled }} - - /port from_env="CLICKHOUSE_TCP_SECURE_PORT">/ - - /secure>1/ - {{ end }} - /opt/bitnami/clickhouse/etc/config.d/05-zookeeper.xml: - mode: "0644" - filetype: file - exists: true - contents: - - "zookeeper" - {{ if .Vars.tls.enabled }} - - /port>{{ .Vars.keeper.containerPorts.tcpSecure }}1{{ .Vars.keeper.containerPorts.tcp }}/opt/bitnami/clickhouse/certs/server/tls.crt/opt/bitnami/clickhouse/certs/server/tls.key/opt/bitnami/clickhouse/certs/ca/tls.crt/ - {{ end }} - /bitnami/clickhouse/data: - mode: "2750" - filetype: directory - exists: true -http: - {{ if .Vars.tls.enabled }} - https://clickhouse:{{ .Vars.service.ports.https }}/replicas_status: - status: 200 - allow-insecure: true - body: - - Ok - {{ else }} - http://clickhouse:{{ .Vars.service.ports.http }}/replicas_status: - status: 200 - body: - - Ok - {{ end }} - {{ if .Vars.metrics.enabled }} - http://clickhouse:{{ .Vars.service.ports.metrics }}/metrics: - status: 200 - {{ end }} -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - check-cluster-status: - exec: clickhouse-client {{ if .Vars.tls.enabled }} --config /opt/bitnami/clickhouse/etc/config.d/06-tls.xml --secure --port {{ .Vars.containerPorts.tcpSecure }} {{ else }} --port {{ .Vars.containerPorts.tcp }} {{ end }} --user '{{ .Vars.auth.username }}' --password '{{ .Vars.auth.password }}' --query='SELECT COUNT(*) FROM system.clusters;' - exit-status: 0 - {{- $expectedCount := mul .Vars.shards .Vars.replicaCount }} - stdout: - - "{{ $expectedCount }}" - create-database-in-cluster: - {{- $database := printf "test_goss_%s" (randAlpha 5) }} - {{- $table := printf "%s.table_%s" $database (randAlpha 5) }} - {{- $insertValue := 23 }} - exec: clickhouse-client --host clickhouse {{ if .Vars.tls.enabled }} --config /opt/bitnami/clickhouse/etc/config.d/06-tls.xml --secure --port {{ .Vars.service.ports.tcpSecure }} {{ else }} --port {{ .Vars.service.ports.tcp }} {{ end }} --user '{{ .Vars.auth.username }}' --password '{{ .Vars.auth.password }}' --multiquery --query='CREATE DATABASE {{ $database }} ON CLUSTER default ENGINE = Memory; CREATE TABLE {{ $table }} (a UInt8) ENGINE = Memory; INSERT INTO {{ $table }} VALUES({{ $insertValue }}); SELECT * FROM {{ $table }};' - exit-status: 0 - stdout: - - "{{ $insertValue }}" - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/clickhouse/runtime-parameters.yaml b/.vib/clickhouse/runtime-parameters.yaml deleted file mode 100644 index a75cd19db86ba6..00000000000000 --- a/.vib/clickhouse/runtime-parameters.yaml +++ /dev/null @@ -1,39 +0,0 @@ -logLevel: information -tls: - enabled: true - autoGenerated: - enabled: true -auth: - username: test_user - password: bitnami1234 -service: - type: LoadBalancer - ports: - https: 443 - tcpSecure: 9441 - metrics: 8002 -containerPorts: - https: 8444 - tcpSecure: 9441 - metrics: 8002 -serviceAccount: - create: true -automountServiceAccountToken: true -shards: 2 -replicaCount: 2 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -keeper: - enabled: true - replicaCount: 3 - service: - ports: - tcpSecure: 9282 - containerPorts: - tcpSecure: 9282 -metrics: - enabled: true diff --git a/.vib/clickhouse/vib-publish.json b/.vib/clickhouse/vib-publish.json deleted file mode 100644 index 85f6d8d5f4c2a9..00000000000000 --- a/.vib/clickhouse/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/clickhouse" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/clickhouse/vib-verify.json b/.vib/clickhouse/vib-verify.json deleted file mode 100644 index c5bf587382df66..00000000000000 --- a/.vib/clickhouse/vib-verify.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/clickhouse" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/clickhouse" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M8" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "clickhouse/goss/goss.yaml", - "vars_file": "clickhouse/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-clickhouse-shard0" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/clickhouse/cypress" - }, - "endpoint": "lb-clickhouse-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/clickhouse/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "clickhouse", - "shards": "2", - "username": "test_user", - "password": "bitnami1234" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/cloudnative-pg/goss/goss.yaml b/.vib/cloudnative-pg/goss/goss.yaml deleted file mode 100644 index 43b260f564cd07..00000000000000 --- a/.vib/cloudnative-pg/goss/goss.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://cnpg-webhook-service:{{ .Vars.operator.service.ports.webhook }}/readyz: - status: 200 - allow-insecure: true - http://cloudnative-pg-operator-metrics:{{ .Vars.operator.metrics.service.ports.metrics }}/metrics: - status: 200 - body: - - /controller_runtime_reconcile_time_seconds_bucket/ -addr: - tcp://cloudnative-pg-plugin-barman-cloud:{{ .Vars.pluginBarmanCloud.service.ports.grpc }}: - reachable: true - # Ports hardcoded in the operator - tcp://vib-cluster-example-r:5432: - reachable: true - tcp://vib-cluster-example-rw:5432: - reachable: true - tcp://vib-cluster-example-ro:5432: - reachable: true -command: - # Check that the backup has the status succeeded - check-backup-status: - exec: PATH=/opt/bitnami/kubectl/bin:$PATH kubectl get backups - exit-status: 0 - stdout: - - /backup-example.*completed/ - # plugin-barman-cloud metrics endpoints uses RBAC for authorization, so we cannot use goss built-in "http" directive because we need the SA token present in the - # container filesystem. Instead, we use curl - check-plugin-barman-cloud-metrics: - exec: 'curl -k --header "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" https://cloudnative-pg-plugin-barman-cloud-metrics:{{ .Vars.pluginBarmanCloud.metrics.service.ports.metrics }}/metrics' - exit-status: 0 - stdout: - - /objectstore/ diff --git a/.vib/cloudnative-pg/runtime-parameters.yaml b/.vib/cloudnative-pg/runtime-parameters.yaml deleted file mode 100644 index e27c4835e0b65b..00000000000000 --- a/.vib/cloudnative-pg/runtime-parameters.yaml +++ /dev/null @@ -1,378 +0,0 @@ -extraDeploy: -# Taken from https://cloudnative-pg.io/documentation/1.25/declarative_role_management/ -# 1) Deploy a PostgreSQL Cluster with the Barman Cloud Plugin enabled -- apiVersion: v1 - kind: Secret - metadata: - name: vib-cluster-example-user - labels: - cnpg.io/reload: "true" - type: kubernetes.io/basic-auth - stringData: - username: vib_user - password: bitnami1234 -- | - apiVersion: postgresql.cnpg.io/v1 - kind: Cluster - metadata: - name: vib-cluster-example - spec: - {{- include "cloudnative-pg.imagePullSecrets" . | nindent 2 }} - instances: 3 - storage: - size: 1Gi - plugins: - - name: barman-cloud.cloudnative-pg.io - isWALArchiver: true - parameters: - barmanObjectName: minio-store - managed: - roles: - - name: vib_user - ensure: present - comment: VIB User - login: true - superuser: true - passwordSecret: - name: vib-cluster-example-user -# 2) Deploy a MinIO(TM) instance to be used as ObjectStore for backups -- | - apiVersion: apps/v1 - kind: Deployment - metadata: - name: minio - labels: - app.kubernetes.io/instance: minio - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: minio - app.kubernetes.io/version: 2025.5.24 - helm.sh/chart: minio-17.0.3 - app.kubernetes.io/component: minio - app.kubernetes.io/part-of: minio - spec: - selector: - matchLabels: - app.kubernetes.io/instance: minio - app.kubernetes.io/name: minio - app.kubernetes.io/component: minio - app.kubernetes.io/part-of: minio - strategy: - type: RollingUpdate - template: - metadata: - labels: - app.kubernetes.io/instance: minio - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: minio - app.kubernetes.io/version: 2025.5.24 - helm.sh/chart: minio-17.0.3 - app.kubernetes.io/component: minio - app.kubernetes.io/part-of: minio - spec: - securityContext: - fsGroupChangePolicy: OnRootMismatch - supplementalGroups: [] - sysctls: [] - {{- if not (include "common.compatibility.isOpenshift" .) }} - fsGroup: 1001 - {{- end }} - initContainers: - containers: - - name: minio - image: docker.io/bitnami/minio:2025.5.24-debian-12-r5 - imagePullPolicy: "IfNotPresent" - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - readOnlyRootFilesystem: true - runAsNonRoot: true - seLinuxOptions: {} - seccompProfile: - type: RuntimeDefault - {{- if not (include "common.compatibility.isOpenshift" .) }} - runAsGroup: 1001 - runAsUser: 1001 - {{- end }} - env: - - name: BITNAMI_DEBUG - value: "false" - - name: MINIO_DISTRIBUTED_MODE_ENABLED - value: "no" - - name: MINIO_SCHEME - value: "http" - - name: MINIO_FORCE_NEW_KEYS - value: "no" - - name: MINIO_DEFAULT_BUCKETS - value: postgrestest - - name: MINIO_ROOT_USER_FILE - value: /opt/bitnami/minio/secrets/root-user - - name: MINIO_ROOT_PASSWORD_FILE - value: /opt/bitnami/minio/secrets/root-password - - name: MINIO_SKIP_CLIENT - value: "yes" - - name: MINIO_API_PORT_NUMBER - value: "9000" - - name: MINIO_BROWSER - value: "off" - - name: MINIO_PROMETHEUS_AUTH_TYPE - value: "public" - - name: MINIO_DATA_DIR - value: "/bitnami/minio/data" - ports: - - name: api - containerPort: 9000 - livenessProbe: - httpGet: - path: /minio/health/live - port: api - scheme: "HTTP" - initialDelaySeconds: 5 - periodSeconds: 5 - timeoutSeconds: 5 - successThreshold: 1 - failureThreshold: 5 - readinessProbe: - tcpSocket: - port: api - initialDelaySeconds: 5 - periodSeconds: 5 - timeoutSeconds: 1 - successThreshold: 1 - failureThreshold: 5 - volumeMounts: - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - - name: empty-dir - mountPath: /opt/bitnami/minio/tmp - subPath: app-tmp-dir - - name: empty-dir - mountPath: /.mc - subPath: app-mc-dir - - name: minio-credentials - mountPath: /opt/bitnami/minio/secrets/ - - name: data - mountPath: /bitnami/minio/data - volumes: - - name: empty-dir - emptyDir: {} - - name: minio-credentials - secret: - secretName: minio - - name: data - emptyDir: {} -- apiVersion: v1 - kind: Service - metadata: - name: minio - labels: - app.kubernetes.io/instance: minio - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: minio - app.kubernetes.io/version: 2025.5.24 - helm.sh/chart: minio-17.0.3 - app.kubernetes.io/component: minio - app.kubernetes.io/part-of: minio - spec: - type: ClusterIP - ports: - - name: tcp-api - port: 9000 - targetPort: api - nodePort: null - selector: - app.kubernetes.io/instance: minio - app.kubernetes.io/name: minio - app.kubernetes.io/component: minio - app.kubernetes.io/part-of: minio -- apiVersion: v1 - kind: Secret - metadata: - name: minio - labels: - app.kubernetes.io/instance: minio - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: minio - app.kubernetes.io/version: 2025.5.24 - helm.sh/chart: minio-17.0.3 - app.kubernetes.io/component: minio - app.kubernetes.io/part-of: minio - type: Opaque - stringData: - root-user: "root" - root-password: "bitnami1234" -- apiVersion: barmancloud.cnpg.io/v1 - kind: ObjectStore - metadata: - name: minio-store - spec: - configuration: - destinationPath: s3://postgrestest/ - endpointURL: http://minio:9000 - s3Credentials: - accessKeyId: - name: minio - key: root-user - secretAccessKey: - name: minio - key: root-password - wal: - compression: gzip -# 3) Deploy a Backup object to perform a backup of the PostgreSQL cluster deployed in step 1 -- apiVersion: postgresql.cnpg.io/v1 - kind: Backup - metadata: - name: backup-example - spec: - cluster: - name: vib-cluster-example - method: plugin - pluginConfiguration: - name: barman-cloud.cloudnative-pg.io -# 4) Create a Deployment for our goss tests. We cannot run goss in the operators because they are scratch. We cannot run the test in the Cluster instances because it's ReadOnlyRootFilesystem and it is not configurable. The testing deployment is comprised as follows: -# - First an init container with the PostgreSQL client checks that the cluster has been formed -# - Then a kubectl container will be used for running the goss tests. With it we can verify that the backup succeeded -- apiVersion: apps/v1 - kind: Deployment - metadata: - labels: - app: postgresql - name: vib-postgresql-test - spec: - replicas: 1 - selector: - matchLabels: - app: postgresql - template: - metadata: - labels: - app: postgresql - spec: - serviceAccountName: '{{ template "cloudnative-pg.operator.serviceAccountName" . }}' - automountServiceAccountToken: true - initContainers: - - image: docker.io/bitnami/postgresql:latest - command: - - /bin/bash - args: - - -ec - - | - echo 0 > /tmp/ready - # Wait until the cluster is formed - while true; do - if PGPASSWORD=$POSTGRES_PASSWORD psql -U $POSTGRES_USER -d postgres -h vib-cluster-example-rw -c "SELECT client_addr, state FROM pg_stat_replication;" | grep "2 rows"; then - echo "Connected to PostgreSQL" - break - else - echo "Connection failed. Sleeping 10 seconds" - sleep 10 - fi - done - exit 0 - name: postgresql - env: - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: vib-cluster-example-user - key: password - - name: POSTGRES_USER - valueFrom: - secretKeyRef: - name: vib-cluster-example-user - key: username - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - volumeMounts: - - name: empty-dir - mountPath: /tmp - - name: copy-kubectl - command: - - /bin/bash - args: - - -ec - - | - cp /opt/bitnami/kubectl/bin/kubectl /out/kubectl - image: bitnami/kubectl - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - volumeMounts: - - name: empty-dir - subPath: kubectl-bin - mountPath: /out - containers: - - name: kubectl - command: - - sleep - args: - - infinity - readinessProbe: - exec: - command: - - sh - - -c - - | - exit 0 - # Providing extra time for the test runs to finish - initialDelaySeconds: 120 - periodSeconds: 20 - timeoutSeconds: 1 - failureThreshold: 15 - successThreshold: 1 - image: bitnami/os-shell:latest - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - volumeMounts: - - name: empty-dir - mountPath: /tmp - - name: empty-dir - subPath: kubectl-bin - mountPath: /opt/bitnami/kubectl/bin - volumes: - - name: empty-dir - emptyDir: {} -operator: - service: - ports: - webhook: 443 - type: LoadBalancer - metrics: - enabled: true - service: - ports: - metrics: 2311 -pluginBarmanCloud: - enabled: true - service: - ports: - grpc: 2218 - metrics: - enabled: true - # Add the cloudnative-pg SA as allowed account because we need it for the goss tests - allowedServiceAccounts: - - name: '{{ include "cloudnative-pg.operator.serviceAccountName" $ }}' - namespace: '{{ include "common.names.namespace" $ }}' - service: - ports: - metrics: 8221 \ No newline at end of file diff --git a/.vib/cloudnative-pg/vib-publish.json b/.vib/cloudnative-pg/vib-publish.json deleted file mode 100644 index 676fb910717fd4..00000000000000 --- a/.vib/cloudnative-pg/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cloudnative-pg" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/cloudnative-pg/vib-verify.json b/.vib/cloudnative-pg/vib-verify.json deleted file mode 100644 index bc2daf6523fd1e..00000000000000 --- a/.vib/cloudnative-pg/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cloudnative-pg" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/cloudnative-pg" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "cloudnative-pg/goss/goss.yaml", - "vars_file": "cloudnative-pg/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-vib-postgresql-test" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/common-tests/ginkgo-utils/go.mod b/.vib/common-tests/ginkgo-utils/go.mod deleted file mode 100644 index 8ae6214b375c6f..00000000000000 --- a/.vib/common-tests/ginkgo-utils/go.mod +++ /dev/null @@ -1,50 +0,0 @@ -module github.com/bitnami/charts/.vib/common-tests/ginkgo-utils - -go 1.23.0 - -toolchain go1.24.3 - -require ( - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.2.4 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/common-tests/ginkgo-utils/go.sum b/.vib/common-tests/ginkgo-utils/go.sum deleted file mode 100644 index 91e12d3a50148e..00000000000000 --- a/.vib/common-tests/ginkgo-utils/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.9.4 h1:xR7vG4IXt5RWx6FfIjyAtsoMAtnc3C/rFXBBd2AjZwE= -github.com/onsi/ginkgo/v2 v2.9.4/go.mod h1:gCQYp2Q+kSoIj7ykSVb9nskRSsR6PUj4AiLywzIhbKM= -github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= -github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/common-tests/ginkgo-utils/k8s.go b/.vib/common-tests/ginkgo-utils/k8s.go deleted file mode 100644 index 1a55ce52ed1c18..00000000000000 --- a/.vib/common-tests/ginkgo-utils/k8s.go +++ /dev/null @@ -1,276 +0,0 @@ -package ginkgo_utils - -import ( - "bufio" - "context" - "fmt" - "io" - "strconv" - "time" - - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" - cv1 "k8s.io/client-go/kubernetes/typed/core/v1" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" -) - -// Cluster initialization functions - -// MustBuildClusterConfig builds the Kubernetes rest API configuration handler using a -// given kubeconfig file -func MustBuildClusterConfig(kubeconfig string) *rest.Config { - if kubeconfig == "" { - panic("kubeconfig must be supplied") - } - - config, err := clientcmd.BuildConfigFromFlags("", kubeconfig) - if err != nil { - panic(err.Error()) - } - - return config -} - -// StatefulSet functions - -// StsScale scales a StatefulSet instance to the number of replicas -func StsScale(ctx context.Context, c kubernetes.Interface, ss *appsv1.StatefulSet, count int32) (*appsv1.StatefulSet, error) { - name := ss.Name - ns := ss.Namespace - const maxRetries = 3 - - for i := 0; i < maxRetries; i++ { - ss, err := c.AppsV1().StatefulSets(ns).Get(ctx, name, metav1.GetOptions{}) - if err != nil { - return nil, fmt.Errorf("failed to get statefulset %q: %v", name, err) - } - if ss.Status.Replicas == count && ss.Status.AvailableReplicas == count { - return ss, nil - } - *(ss.Spec.Replicas) = count - ss, err = c.AppsV1().StatefulSets(ns).Update(ctx, ss, metav1.UpdateOptions{}) - if err == nil { - return ss, nil - } - if !apierrors.IsConflict(err) && !apierrors.IsServerTimeout(err) { - return nil, fmt.Errorf("failed to update statefulset %q: %v", name, err) - } - } - - return nil, fmt.Errorf("too many retries draining statefulset %q", name) -} - -// StsRolloutRestart performs a rollout restart in StatefulSet instances -func StsRolloutRestart(ctx context.Context, c kubernetes.Interface, ss *appsv1.StatefulSet) (*appsv1.StatefulSet, error) { - name := ss.Name - ns := ss.Namespace - const maxRetries = 3 - - for i := 0; i < maxRetries; i++ { - ss, err := c.AppsV1().StatefulSets(ns).Get(ctx, name, metav1.GetOptions{}) - if err != nil { - return nil, fmt.Errorf("failed to get statefulset %q: %v", name, err) - } - // Update the statefulset's annotation to trigger a restart - if ss.Spec.Template.Annotations == nil { - ss.Spec.Template.Annotations = make(map[string]string) - } - ss.Spec.Template.Annotations["kubectl.kubernetes.io/restartedAt"] = time.Now().Format(time.RFC3339) - ss, err = c.AppsV1().StatefulSets(ns).Update(ctx, ss, metav1.UpdateOptions{}) - if err == nil { - return ss, nil - } - if !apierrors.IsConflict(err) && !apierrors.IsServerTimeout(err) { - return nil, fmt.Errorf("failed to update statefulset %q: %v", name, err) - } - } - - return nil, fmt.Errorf("too many retries draining statefulset %q", name) -} - -// StsAnnotateTemplate annotate pods. This also performs a rollout restart in StatefulSet instances -func StsAnnotateTemplate(ctx context.Context, c kubernetes.Interface, ss *appsv1.StatefulSet, annotations map[string]string) (*appsv1.StatefulSet, error) { - name := ss.Name - ns := ss.Namespace - const maxRetries = 3 - - for i := 0; i < maxRetries; i++ { - ss, err := c.AppsV1().StatefulSets(ns).Get(ctx, name, metav1.GetOptions{}) - if err != nil { - return nil, fmt.Errorf("failed to get statefulset %q: %v", name, err) - } - // Update the statefulset's annotation to trigger a restart - if ss.Spec.Template.Annotations == nil { - ss.Spec.Template.Annotations = make(map[string]string) - } - for k, v := range annotations { - ss.Spec.Template.Annotations[k] = v - } - ss, err = c.AppsV1().StatefulSets(ns).Update(ctx, ss, metav1.UpdateOptions{}) - if err == nil { - return ss, nil - } - if !apierrors.IsConflict(err) && !apierrors.IsServerTimeout(err) { - return nil, fmt.Errorf("failed to update statefulset %q: %v", name, err) - } - } - - return nil, fmt.Errorf("too many retries draining statefulset %q", name) -} - -// StsGetContainerImageByName returns the container image given the container name of a StatefulSet instance -func StsGetContainerImageByName(ss *appsv1.StatefulSet, name string) (string, error) { - containers := ss.Spec.Template.Spec.Containers - - for _, c := range containers { - if c.Name == name { - return c.Image, nil - } - } - - return "", fmt.Errorf("container %q not found in statefulset %q", name, ss.Name) -} - -// Deployment functions - -// DplScale scales a Deployment instance to the number of replicas -func DplScale(ctx context.Context, c kubernetes.Interface, dpl *appsv1.Deployment, count int32) (*appsv1.Deployment, error) { - name := dpl.Name - ns := dpl.Namespace - - for i := 0; i < 3; i++ { - currentDpl, err := c.AppsV1().Deployments(ns).Get(ctx, name, metav1.GetOptions{}) - if err != nil { - return nil, fmt.Errorf("failed to get deployment %q: %v", name, err) - } - if currentDpl.Status.Replicas == count && currentDpl.Status.AvailableReplicas == count { - return currentDpl, nil - } - *(currentDpl.Spec.Replicas) = count - currentDpl, err = c.AppsV1().Deployments(ns).Update(ctx, currentDpl, metav1.UpdateOptions{}) - if err == nil { - return currentDpl, nil - } - if !apierrors.IsConflict(err) && !apierrors.IsServerTimeout(err) { - return nil, fmt.Errorf("failed to update statefulset %q: %v", name, err) - } - } - - return nil, fmt.Errorf("too many retries draining statefulset %q", name) -} - -// DplGetContainerImage returns the image inside a container of a Deployment instance -func DplGetContainerImage(dpl *appsv1.Deployment, name string) (string, error) { - containers := dpl.Spec.Template.Spec.Containers - - for _, c := range containers { - if c.Name == name { - return c.Image, nil - } - } - - return "", fmt.Errorf("container %q not found in deployment %q", name, dpl.Name) - -} - -// Job functions - -// JobGetSucceededPods returs the number of succeded runs in a -// Job instance -func JobGetSucceededPods(j *batchv1.Job) int32 { - return j.Status.Succeeded -} - -// Service functions - -// SvcGetPortByName returns the port number of a svc given its name -func SvcGetPortByName(svc *v1.Service, portName string) (string, error) { - for _, p := range svc.Spec.Ports { - if p.Name == portName { - return strconv.FormatInt(int64(p.Port), 10), nil - } - } - - return "", fmt.Errorf("port %q not found in service %q", portName, svc.Name) -} - -// Pod functions - -// IsPodRunning returns a boolean value indicating if a given pod is running -func IsPodRunning(ctx context.Context, c cv1.PodsGetter, namespace string, podName string) (bool, error) { - pod, err := c.Pods(namespace).Get(ctx, podName, metav1.GetOptions{}) - if err != nil { - fmt.Printf("There was an error obtaining the Pod %q", podName) - return false, err - } - return pod.Status.Phase == "Running", nil -} - -// GetPodsByLabelOrDie returns the list of pods wih a given selector, exiting in case of failure -func GetPodsByLabelOrDie(ctx context.Context, c cv1.PodsGetter, namespace string, selector string) v1.PodList { - output, err := c.Pods(namespace).List(ctx, metav1.ListOptions{ - LabelSelector: selector, - }) - if err != nil { - panic(err.Error()) - } - fmt.Printf("Obtained list of pods with label %q\n", selector) - - return *output -} - -// GetContainerLogsOrDie returns container logs, exiting in case of failure -func GetContainerLogsOrDie(ctx context.Context, c cv1.PodsGetter, namespace string, podName string, containerName string) []string { - var output []string - tailLines := int64(100) - - readCloser, err := c.Pods(namespace).GetLogs(podName, &v1.PodLogOptions{ - Container: containerName, - Follow: false, - TailLines: &tailLines, - }).Stream(ctx) - if err != nil { - panic(err.Error()) - } - fmt.Printf("Obtained %q pod's logs\n", podName) - - defer readCloser.Close() - - scanner := bufio.NewScanner(interruptableReader{ctx, readCloser}) - for scanner.Scan() { - output = append(output, scanner.Text()) - } - if scanner.Err() != nil { - panic(scanner.Err()) - } - return output -} - -// ContainerLogsContainPattern returns a boolean indicating if the container logs have a given pattern -func ContainerLogsContainPattern(ctx context.Context, c cv1.PodsGetter, namespace string, podName string, containerName string, pattern string) (bool, error) { - containerLogs := GetContainerLogsOrDie(ctx, c, namespace, podName, containerName) - return containsPattern(containerLogs, pattern) -} - -// interruptableReader is a scanner that reads from Kubernetes container logs -type interruptableReader struct { - ctx context.Context - r io.Reader -} - -// Read returns content from the Kubernetes logs -func (r interruptableReader) Read(p []byte) (int, error) { - if err := r.ctx.Err(); err != nil { - return 0, err - } - n, err := r.r.Read(p) - if err != nil { - return n, err - } - return n, nil -} diff --git a/.vib/common-tests/ginkgo-utils/utils.go b/.vib/common-tests/ginkgo-utils/utils.go deleted file mode 100644 index f67219ffe8e5ee..00000000000000 --- a/.vib/common-tests/ginkgo-utils/utils.go +++ /dev/null @@ -1,35 +0,0 @@ -package ginkgo_utils - -import ( - "regexp" - "time" - - "k8s.io/apimachinery/pkg/util/wait" -) - -// containsPattern checks that a given pattern is inside an array of string -func containsPattern(haystack []string, pattern string) (bool, error) { - var err error - - for _, s := range haystack { - match, err := regexp.MatchString(pattern, s) - if match { - return true, err - } - } - return false, err -} - -// Other functions - -// Retry performs an operation a given set of attempts -func Retry(name string, attempts int, sleep time.Duration, f func() (bool, error)) (err error) { - backoff := wait.Backoff{ - Duration: sleep * time.Millisecond, - Jitter: 0, - Factor: 2, - Steps: attempts, - } - err = wait.ExponentialBackoff(backoff, f) - return err -} diff --git a/.vib/common/vib-publish.json b/.vib/common/vib-publish.json deleted file mode 100644 index 0891329b12a485..00000000000000 --- a/.vib/common/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/common" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/common/vib-verify.json b/.vib/common/vib-verify.json deleted file mode 100644 index 17092e539fc639..00000000000000 --- a/.vib/common/vib-verify.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/common" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - } - } -} diff --git a/.vib/concourse/cypress/cypress.config.js b/.vib/concourse/cypress/cypress.config.js deleted file mode 100644 index 3f76c7d1d1d5ea..00000000000000 --- a/.vib/concourse/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - username: 'bitnamiUser', - password: 'ComplicatedPassword123!4', - }, - hosts: { - 'vmware-concourse.my': '{{ TARGET_IP }}', - }, - e2e: { - setupNodeEvents(on, config) {}, - }, -} diff --git a/.vib/concourse/cypress/cypress/e2e/concourse.cy.js b/.vib/concourse/cypress/cypress/e2e/concourse.cy.js deleted file mode 100644 index 3f8a119f793604..00000000000000 --- a/.vib/concourse/cypress/cypress/e2e/concourse.cy.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('renders landing page correctly', () => { - // The asset currently presents some incompatibilities when enabling HTTPs, which - // prevent from running the login process via the UI. Although this functionality - // might be interesting to implement when the issue is addressed, it is already - // being tested in GOSS. - - // The UI is just an alternative to the CLI to interact with Concourse. Main functionality - // is already covered in GOSS, so these tests should be kept to a minimum. - cy.visit('/'); - cy.contains('welcome to concourse'); -}); diff --git a/.vib/concourse/cypress/cypress/support/commands.js b/.vib/concourse/cypress/cypress/support/commands.js deleted file mode 100644 index 2700a80a71f7aa..00000000000000 --- a/.vib/concourse/cypress/cypress/support/commands.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; -const BASE_URL = 'http://vmware-concourse.my'; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.overwrite('visit', (originalFn, url, options) => { - return originalFn(`${BASE_URL}${url}`, options); -}); \ No newline at end of file diff --git a/.vib/concourse/cypress/cypress/support/e2e.js b/.vib/concourse/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/concourse/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/concourse/goss/web/goss.yaml b/.vib/concourse/goss/web/goss.yaml deleted file mode 100644 index f1aa7c6bb46c52..00000000000000 --- a/.vib/concourse/goss/web/goss.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $user := (split ":" .Vars.secrets.localUsers)._0 }} - {{- $pwd := (split ":" .Vars.secrets.localUsers)._1 }} - {{- $target := printf "target_%s" (randAlphaNum 5 | toLower) }} - {{- $pipeline := printf "pipe_%s" (randAlphaNum 5 | toLower) }} - {{- $example_pipeline := "ICBqb2JzOgogIC0gbmFtZTogam9iCiAgICBwdWJsaWM6IHRydWUKICAgIHBsYW46CiAgICAtIHRhc2s6IHNpbXBsZS10YXNrCiAgICAgIGNvbmZpZzoKICAgICAgICBwbGF0Zm9ybTogbGludXgKICAgICAgICBpbWFnZV9yZXNvdXJjZToKICAgICAgICAgIHR5cGU6IHJlZ2lzdHJ5LWltYWdlCiAgICAgICAgICBzb3VyY2U6IHsgcmVwb3NpdG9yeTogYml0bmFtaS9vcy1zaGVsbCB9CiAgICAgICAgcnVuOgogICAgICAgICAgcGF0aDogZWNobwogICAgICAgICAgYXJnczogWyJIZWxsbyB3b3JsZCEiXQ==" }} - {{- $port := .Vars.service.web.ports.http }} - {{ if not ( has "air-gapped" .Vars.target_platform_properties ) }} - create-pipeline-trigger-job: - exec: export HOME=/tmp && fly -t {{ $target }} login -c http://concourse-web:{{ $port }} -u {{ $user }} -p '{{ $pwd }}' && (echo '{{ $example_pipeline }}' | base64 -d) > /tmp/pipeline.yaml && fly -t {{ $target }} set-pipeline -p {{ $pipeline }} -c /tmp/pipeline.yaml -n && fly -t {{ $target }} unpause-pipeline -p {{ $pipeline }} && fly -t {{ $target }} trigger-job -j {{ $pipeline }}/job && sleep 180 && fly -t {{ $target }} jobs -p {{ $pipeline }} - exit-status: 0 - stdout: - - "succeeded" - timeout: 210000 - {{ end }} - check-db-config: - exec: $(echo $CONCOURSE_POSTGRES_DATABASE | grep -q {{ .Vars.postgresql.auth.database }}) && $(echo $CONCOURSE_POSTGRES_USER | grep -q {{ .Vars.postgresql.auth.username }}) && $(echo $CONCOURSE_POSTGRES_PASSWORD | grep -q {{ .Vars.postgresql.auth.password }}) - exit-status: 0 - check-ports-config: - exec: $(echo $CONCOURSE_BIND_PORT | grep -q {{ .Vars.web.containerPorts.http }}) && $(echo $CONCOURSE_TSA_BIND_PORT | grep -q {{ .Vars.web.containerPorts.tsa }}) && $(echo $CONCOURSE_TSA_DEBUG_BIND_PORT | grep -q {{ .Vars.web.containerPorts.pprof }}) - exit-status: 0 - {{- $uid := .Vars.web.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.web.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.web.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/concourse/goss/worker/goss.yaml b/.vib/concourse/goss/worker/goss.yaml deleted file mode 100644 index 6acc0266bb1603..00000000000000 --- a/.vib/concourse/goss/worker/goss.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/concourse/workdir: - exists: true - filetype: directory - mode: "2777" - owner: root -command: - {{- $user := (split ":" .Vars.secrets.localUsers)._0 }} - {{- $pwd := (split ":" .Vars.secrets.localUsers)._1 }} - {{- $target := printf "target_%s" (randAlphaNum 5 | toLower) }} - {{- $port := .Vars.service.web.ports.http }} - check-running-workers: - exec: fly -t {{ $target }} login -c http://concourse-web:{{ $port }} -u {{ $user }} -p '{{ $pwd }}' && fly -t {{ $target }} workers | grep 'running' | wc -l - exit-status: 0 - stdout: - - "{{ .Vars.worker.replicaCount }}" - check-ports-config: - exec: $(echo $CONCOURSE_BIND_PORT | grep -q {{ .Vars.worker.containerPorts.garden }}) && $(echo $CONCOURSE_HEALTHCHECK_BIND_PORT | grep -q {{ .Vars.worker.containerPorts.health }}) && $(echo $CONCOURSE_BAGGAGECLAIM_BIND_PORT | grep -q {{ .Vars.worker.containerPorts.baggageclaim }}) && $(echo $CONCOURSE_BAGGAGECLAIM_DEBUG_BIND_PORT | grep -q {{ .Vars.worker.containerPorts.pprof }}) - exit-status: 0 - {{- $uid := .Vars.worker.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.worker.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.worker.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/concourse/runtime-parameters.yaml b/.vib/concourse/runtime-parameters.yaml deleted file mode 100644 index ae4e5db83a8d0f..00000000000000 --- a/.vib/concourse/runtime-parameters.yaml +++ /dev/null @@ -1,62 +0,0 @@ -secrets: - localAuth: - enabled: true - localUsers: bitnamiUser:ComplicatedPassword123!4 -web: - enabled: true - baseUrl: / - externalUrl: vmware-concourse.my - tls: - enabled: true - auth: - mainTeam: - localUser: bitnamiUser - containerPorts: - http: 8081 - https: 8081 - tsa: 2223 - pprof: 2222 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - serviceAccount: - create: true - automountServiceAccountToken: true -worker: - enabled: true - replicaCount: 2 - mode: deployment - containerPorts: - garden: 7778 - health: 8889 - baggageclaim: 7789 - pprof: 7788 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - privileged: true - runAsUser: 0 - serviceAccount: - create: true - automountServiceAccountToken: true -service: - web: - type: LoadBalancer - ports: - http: 80 - https: 444 - workerGateway: - type: ClusterIP - ports: - tsa: 2223 -postgresql: - enabled: true - auth: - username: bn_test_concourse - password: bitnami_test_concourse_p4ss - database: bitnami_test_concourse \ No newline at end of file diff --git a/.vib/concourse/vib-publish.json b/.vib/concourse/vib-publish.json deleted file mode 100644 index e03239a1f8beba..00000000000000 --- a/.vib/concourse/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/concourse" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/concourse/vib-verify.json b/.vib/concourse/vib-verify.json deleted file mode 100644 index 6b2e25388cd224..00000000000000 --- a/.vib/concourse/vib-verify.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/concourse" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/concourse" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "concourse/goss/web/goss.yaml", - "vars_file": "concourse/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-concourse-web" - } - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "concourse/goss/worker/goss.yaml", - "vars_file": "concourse/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-concourse-worker" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/concourse/cypress" - }, - "endpoint": "lb-concourse-web-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/consul/cypress/cypress.config.js b/.vib/consul/cypress/cypress.config.js deleted file mode 100644 index 471aa2d5893a31..00000000000000 --- a/.vib/consul/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - pageLoadTimeout: 240000, - defaultCommandTimeout: 60000, - env: { - datacenterName: 'datacenter1', - replicaCount: '3', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/consul/cypress/cypress/e2e/consul.cy.js b/.vib/consul/cypress/cypress/e2e/consul.cy.js deleted file mode 100644 index 47c3e70a51f6e3..00000000000000 --- a/.vib/consul/cypress/cypress/e2e/consul.cy.js +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -import { random } from '../support/utils'; - -const DATACENTER_NAME = Cypress.env('datacenterName'); -const REPLICA_COUNT = Cypress.env('replicaCount'); - -it('is able to display all of the nodes', () => { - cy.visit(`/ui/${DATACENTER_NAME}/nodes`); - cy.get('div[class*=consul-node-list]').within(() => { - cy.get('.passing').should('have.length', REPLICA_COUNT); - cy.get('.leader').click(); - }); - cy.contains('Agent alive and reachable'); - cy.contains('Service Instances').click(); - cy.contains('Metadata').click(); - cy.get('tbody.ember-view').within(() => { - cy.contains('consul-network-segment'); - }); -}); - -it('allows the creation of key-value pairs', () => { - cy.visit(`/ui/${DATACENTER_NAME}/kv`); - cy.contains('Create').click(); - cy.get('fieldset').within(() => { - cy.fixture('keys').then((key) => { - cy.get('input').first().type(`${key.newKey.testKey}.${random}`); - }); - }); - cy.contains('Save').click({ force: true }); - cy.contains('Success'); - cy.get('.tabular-collection').within(() => { - cy.fixture('keys').then((key) => { - cy.contains(`${key.newKey.testKey}.${random}`); - }); - }); -}); diff --git a/.vib/consul/cypress/cypress/fixtures/keys.json b/.vib/consul/cypress/cypress/fixtures/keys.json deleted file mode 100644 index 40aeb2540dc248..00000000000000 --- a/.vib/consul/cypress/cypress/fixtures/keys.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newKey": { - "testKey": "keyOfLife" - } -} diff --git a/.vib/consul/cypress/cypress/support/commands.js b/.vib/consul/cypress/cypress/support/commands.js deleted file mode 100644 index bcbbac3e0d5207..00000000000000 --- a/.vib/consul/cypress/cypress/support/commands.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -Cypress.on('uncaught:exception', (err, runnable) => { - if (err.message.includes('Cannot read properties of undefined') || - err.message.includes('is not a function')) { - return false; - } -}); diff --git a/.vib/consul/cypress/cypress/support/e2e.js b/.vib/consul/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/consul/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/consul/cypress/cypress/support/utils.js b/.vib/consul/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/consul/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/consul/ginkgo/consul_suite_test.go b/.vib/consul/ginkgo/consul_suite_test.go deleted file mode 100644 index 4a8a869cd0843c..00000000000000 --- a/.vib/consul/ginkgo/consul_suite_test.go +++ /dev/null @@ -1,79 +0,0 @@ -package consul_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestConsul(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Consul Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name string, port string, image string, args ...string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - command := []string{"consul"} - command = append(command, args[:]...) - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "consul", - Image: image, - Command: command, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/consul/ginkgo/consul_test.go b/.vib/consul/ginkgo/consul_test.go deleted file mode 100644 index 1928f821e1527f..00000000000000 --- a/.vib/consul/ginkgo/consul_test.go +++ /dev/null @@ -1,110 +0,0 @@ -package consul_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Consul", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and Consul is scaled down to 0 replicas and back up", func() { - It("should have access to the created key-pair", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, fmt.Sprintf("%s-headless", stsName), getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "http") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "consul") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test key-pair") - putKVJobName := fmt.Sprintf("%s-putkv-%s", - stsName, jobSuffix) - keyName := fmt.Sprintf("test%s", jobSuffix) - keyValue := fmt.Sprintf("v%s", jobSuffix) - - err = createJob(ctx, c, putKVJobName, port, image, "kv", "put", "-http-addr", fmt.Sprintf("http://consul-0.%s-headless:%s", stsName, port), keyName, keyValue) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, putKVJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to delete the key-pair") - deleteDBJobName := fmt.Sprintf("%s-deletekv-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, "kv", "delete", "-http-addr", fmt.Sprintf("http://consul-0.%s-headless:%s", stsName, port), keyName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/consul/ginkgo/go.mod b/.vib/consul/ginkgo/go.mod deleted file mode 100644 index 6e39055c021d0b..00000000000000 --- a/.vib/consul/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-consul-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/consul/ginkgo/go.sum b/.vib/consul/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/consul/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/consul/goss/goss.yaml b/.vib/consul/goss/goss.yaml deleted file mode 100644 index 02f38133da26c6..00000000000000 --- a/.vib/consul/goss/goss.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /opt/bitnami/consul/conf/consul.json: - exists: true - filetype: file - mode: "0644" - contents: - - /bootstrap_expect.*{{ .Vars.replicaCount }}/ - - /http.*{{ .Vars.containerPorts.http }}/ - /bitnami/consul: - exists: true - filetype: directory - mode: "2775" - owner: root -command: - consul-kv-put: - exec: consul kv put test test - exit-status: 0 - consul-cli: - exec: consul members - exit-status: 0 - stdout: - {{ range $e, $i := until .Vars.replicaCount }} - - "consul-{{ $i }}" - {{ end }} diff --git a/.vib/consul/runtime-parameters.yaml b/.vib/consul/runtime-parameters.yaml deleted file mode 100644 index 32f0b8fb6c894f..00000000000000 --- a/.vib/consul/runtime-parameters.yaml +++ /dev/null @@ -1,8 +0,0 @@ -containerPorts: - http: 8500 -service: - ports: - http: 80 - type: LoadBalancer -datacenterName: datacenter1 -replicaCount: 3 diff --git a/.vib/consul/vib-publish.json b/.vib/consul/vib-publish.json deleted file mode 100644 index 24bb3ae7c9bb09..00000000000000 --- a/.vib/consul/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/consul" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/consul/vib-verify.json b/.vib/consul/vib-verify.json deleted file mode 100644 index cadcc4947853bc..00000000000000 --- a/.vib/consul/vib-verify.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/consul" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/consul" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/consul/cypress" - }, - "endpoint": "lb-consul-ui-http", - "app_protocol": "HTTP", - "env": { - "username": "user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "consul/goss/goss.yaml", - "vars_file": "consul/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-consul" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/consul/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "consul" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/contour/ginkgo/contour.go b/.vib/contour/ginkgo/contour.go deleted file mode 100644 index c0bd5fc1f1f37d..00000000000000 --- a/.vib/contour/ginkgo/contour.go +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "context" - "fmt" - "strings" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - netv1 "k8s.io/api/networking/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - cv1 "k8s.io/client-go/kubernetes/typed/core/v1" - netcv1 "k8s.io/client-go/kubernetes/typed/networking/v1" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" - - // To parse matrix compatibility yaml - "gopkg.in/yaml.v3" -) - -type compatibilityMatrix struct { - Metadata struct { - Name string - Description string - Website string - Repository string - } - Versions []struct { - Version string - Supported string - Dependencies struct { - Envoy string - Kubernetes []string - Gateway []string - } - } -} - -var _ = Describe("Contour:", func() { - var netclient netcv1.NetworkingV1Interface - var coreclient cv1.CoreV1Interface - var ctx context.Context - - BeforeEach(func() { - netclient = netcv1.NewForConfigOrDie(clusterConfigOrDie()) - coreclient = cv1.NewForConfigOrDie(clusterConfigOrDie()) - ctx = context.Background() - }) - - Context("The testing ingress", func() { - var testingIngress *netv1.Ingress - var ingressHost string - var resolves bool - var err error - - BeforeEach(func() { - testingIngress, err = netclient.Ingresses(*namespace).Get(ctx, *ingressName, metav1.GetOptions{}) - ingressHost = returnValidHost(testingIngress.Status.LoadBalancer.Ingress[0]) - if err != nil { - panic(fmt.Sprintf("There was an error retrieving the %q Ingress resource: %q", *ingressName, err)) - } - resolves, err = retry("resolvesToDeployment", 6, 15*time.Second, func() (bool, error) { - return resolvesToDeployment(ctx, "http://"+ingressHost) - }) - if err != nil { - panic(fmt.Sprintf("There was an error resolving the ingress host: %q", err)) - } - Expect(resolves).To(BeTrue()) - }) - - It("asigned IP is the same as the one used by the envoy service", func() { - envoySvc, err := coreclient.Services(*namespace).Get(ctx, "contour-envoy", metav1.GetOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error retrieving the envoy service: %q", err)) - } - Expect(ingressHost).To(Equal(returnValidHost(envoySvc.Status.LoadBalancer.Ingress[0]))) - }) - It("asigned IP resolves to the testing deployment", func() { - responseBody := getResponseBodyOrDie(ctx, "http://"+ingressHost) - - Expect(containsString(responseBody, "It works")).To(BeTrue()) - }) - It("contour and envoy container versions are in sync", func() { - var envoyPodVersion string - var contourPodVersion string - var envoyCompatibleVersion bool = false - var contourVersionFound bool = false - - pods, err := coreclient.Pods(*namespace).List(ctx, metav1.ListOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error getting the list of pods: %q", err)) - } - for _, pod := range pods.Items { - if strings.Contains(pod.Name, "contour-envoy") { - for _, container := range pod.Spec.Containers { - switch container.Name { - case "shutdown-manager": - contourPodVersion = getImageVersion(container.Image) - case "envoy": - envoyPodVersion = getImageVersion(container.Image) - } - } - } - } - - if contourPodVersion == "" { - panic(fmt.Sprintf("Contour image version could not be retrieved")) - } - if envoyPodVersion == "" { - panic(fmt.Sprintf("Envoy image version could not be retrieved")) - } - - // Compatibility Table https://projectcontour.io/resources/compatibility-matrix/ - body, err := getBody("https://raw.githubusercontent.com/projectcontour/contour/main/versions.yaml") - if err != nil { - panic(fmt.Sprintf("Error when retriving compatibility matrix")) - } - - compatibilityMatrixSRC := compatibilityMatrix{} - - err = yaml.Unmarshal([]byte(body), &compatibilityMatrixSRC) - if err != nil { - panic(fmt.Sprintf("Error when parsing compatibility matrix yaml")) - } - - // Look for the versions in the compatibility - for _, contourVersion := range compatibilityMatrixSRC.Versions { - if contourVersion.Version == ("v" + contourPodVersion) { - contourVersionFound = true - envoyDepVersionParts := strings.Split(contourVersion.Dependencies.Envoy, ".") - envoyPodVersionParts := strings.Split(envoyPodVersion, ".") - // Check that Envoy uses the same branch and it is greater or equal than the version listed in the compatibility matrix - if envoyPodVersionParts[0] == envoyDepVersionParts[0] && envoyPodVersionParts[1] == envoyDepVersionParts[1] && envoyPodVersionParts[2] >= envoyDepVersionParts[2] { - envoyCompatibleVersion = true - } - } - } - if !contourVersionFound { - panic(fmt.Sprintf("Error: The contour version was not found in the compatibility matrix")) - } - Expect(envoyCompatibleVersion).To(BeTrue()) - }) - }) -}) diff --git a/.vib/contour/ginkgo/go.mod b/.vib/contour/ginkgo/go.mod deleted file mode 100644 index f755b3b3974bbf..00000000000000 --- a/.vib/contour/ginkgo/go.mod +++ /dev/null @@ -1,62 +0,0 @@ -module vib-tests - -go 1.23.0 - -toolchain go1.24.1 - -require ( - github.com/onsi/ginkgo/v2 v2.7.0 - github.com/onsi/gomega v1.24.1 - gopkg.in/yaml.v3 v3.0.1 - k8s.io/api v0.25.2 - k8s.io/apimachinery v0.25.2 - k8s.io/client-go v0.25.2 -) - -require ( - cloud.google.com/go v0.97.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.27 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.20 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.8.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.5.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - k8s.io/klog/v2 v2.70.1 // indirect - k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 // indirect - k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed // indirect - sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect -) diff --git a/.vib/contour/ginkgo/go.sum b/.vib/contour/ginkgo/go.sum deleted file mode 100644 index f555aed89fe37c..00000000000000 --- a/.vib/contour/ginkgo/go.sum +++ /dev/null @@ -1,673 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0 h1:3DXvAyifywvq64LfkKaMOmkWPS1CikIQdMe2lY9vxU8= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= -github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8vthOeD4VlFRQULxahg= -github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/emicklei/go-restful/v3 v3.8.0 h1:eCZ8ulSerjdAiaNpF7GxXIE7ZCMo1moN1qX+S609eVw= -github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= -github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= -golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.25.2 h1:v6G8RyFcwf0HR5jQGIAYlvtRNrxMJQG1xJzaSeVnIS8= -k8s.io/api v0.25.2/go.mod h1:qP1Rn4sCVFwx/xIhe+we2cwBLTXNcheRyYXwajonhy0= -k8s.io/apimachinery v0.25.2 h1:WbxfAjCx+AeN8Ilp9joWnyJ6xu9OMeS/fsfjK/5zaQs= -k8s.io/apimachinery v0.25.2/go.mod h1:hqqA1X0bsgsxI6dXsJ4HnNTBOmJNxyPp8dw3u2fSHwA= -k8s.io/client-go v0.25.2 h1:SUPp9p5CwM0yXGQrwYurw9LWz+YtMwhWd0GqOsSiefo= -k8s.io/client-go v0.25.2/go.mod h1:i7cNU7N+yGQmJkewcRD2+Vuj4iz7b30kI8OcL3horQ4= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= -k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 h1:MQ8BAZPZlWk3S9K4a9NCkIFQtZShWqoha7snGixVgEA= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/.vib/contour/ginkgo/integration_suite_test.go b/.vib/contour/ginkgo/integration_suite_test.go deleted file mode 100644 index 1b2d032501d243..00000000000000 --- a/.vib/contour/ginkgo/integration_suite_test.go +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "bufio" - "context" - "flag" - "fmt" - "io" - "net/http" - "strings" - "testing" - "time" - - v1 "k8s.io/api/core/v1" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -const APP_NAME = "Contour" - -var kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") -var namespace = flag.String("namespace", "", "namespace where the resources are deployed") -var ingressName = flag.String("ingress-name", "", "resource name of the testing ingress") - -func clusterConfigOrDie() *rest.Config { - var config *rest.Config - var err error - - if *kubeconfig != "" { - config, err = clientcmd.BuildConfigFromFlags("", *kubeconfig) - } else { - config, err = rest.InClusterConfig() - } - if err != nil { - panic(err.Error()) - } - - return config -} - -func resolvesToDeployment(ctx context.Context, address string) (bool, error) { - var client http.Client - resp, err := client.Get(address) - if err != nil { - fmt.Printf("There was an error during the GET request: %q", err) - } - defer resp.Body.Close() - - if resp.StatusCode == http.StatusOK { - return true, err - } else { - return false, err - } -} - -func getResponseBodyOrDie(ctx context.Context, address string) []string { - var output []string - var client http.Client - - resp, err := client.Get(address) - if err != nil { - panic(fmt.Sprintf("There was an error during the GET request: %q", err)) - } - defer resp.Body.Close() - - if resp.StatusCode == http.StatusOK { - scanner := bufio.NewScanner(interruptableReader{ctx, resp.Body}) - for scanner.Scan() { - output = append(output, scanner.Text()) - } - if scanner.Err() != nil { - panic(scanner.Err()) - } - } - return output -} - -func getImageVersion(imageName string) string { - version := strings.SplitN(strings.SplitN(imageName, ":", 2)[1], "-", 2)[0] - return version -} - -type interruptableReader struct { - ctx context.Context - r io.Reader -} - -func (r interruptableReader) Read(p []byte) (int, error) { - if err := r.ctx.Err(); err != nil { - return 0, err - } - n, err := r.r.Read(p) - if err != nil { - return n, err - } - return n, r.ctx.Err() -} - -func returnValidHost(ingress v1.LoadBalancerIngress) string { - if ingress.IP != "" { - return ingress.IP + ".nip.io" - } else if ingress.Hostname != "" { - return ingress.Hostname - } else { - panic("No valid host found for the provided ingress") - } -} - -func retry(name string, attempts int, sleep time.Duration, f func() (bool, error)) (res bool, err error) { - for i := 0; i < attempts; i++ { - fmt.Printf("[retriable] operation %q executing now [attempt %d/%d]\n", name, (i + 1), attempts) - res, err = f() - if res { - fmt.Printf("[retriable] operation %q succedeed [attempt %d/%d]\n", name, (i + 1), attempts) - return res, err - } - fmt.Printf("[retriable] operation %q failed, sleeping for %q now...\n", name, sleep) - time.Sleep(sleep) - } - fmt.Printf("[retriable] operation %q failed [attempt %d/%d]\n", name, attempts, attempts) - return res, err -} - -func containsString(haystack []string, needle string) bool { - for _, s := range haystack { - if strings.Contains(s, needle) { - return true - } - } - return false -} - -func CheckRequirements() { - if *namespace == "" { - panic(fmt.Sprintf("The namespace where %s is deployed must be provided. Use the '--namespace' flag", APP_NAME)) - } - if *ingressName == "" { - panic("The resource name of the testing ingress must be provided. Use the '--ingress-name' flag") - } -} - -func TestIntegration(t *testing.T) { - RegisterFailHandler(Fail) - CheckRequirements() - RunSpecs(t, fmt.Sprintf("%s Integration Tests", APP_NAME)) -} - -func getBody(address string) (string, error) { - var output string - var client http.Client - - resp, err := client.Get(address) - if err != nil { - panic(fmt.Sprintf("There was an error during the GET request: %q", err)) - } - defer resp.Body.Close() - - if resp.StatusCode == http.StatusOK { - // Read the response body - body, err := io.ReadAll(resp.Body) - if err != nil { - return "", err - } - - // Convert the body to a string - output = string(body) - } - return output, nil -} diff --git a/.vib/contour/goss/goss.yaml b/.vib/contour/goss/goss.yaml deleted file mode 100644 index bdef518cc07473..00000000000000 --- a/.vib/contour/goss/goss.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://contour-envoy:{{ .Vars.envoy.service.ports.http }}: - status: 200 -addr: - tcp://contour:{{ .Vars.contour.service.ports.xds }}: - reachable: true -file: - /certs: - exists: true - filetype: directory - mode: "3777" - owner: root -command: - {{- $uid := .Vars.contour.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.contour.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.contour.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/contour/runtime-parameters.yaml b/.vib/contour/runtime-parameters.yaml deleted file mode 100644 index a41c2862831d14..00000000000000 --- a/.vib/contour/runtime-parameters.yaml +++ /dev/null @@ -1,97 +0,0 @@ -contour: - enabled: true - manageCRDs: true - serviceAccount: - create: true - automountServiceAccountToken: true - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - containerPorts: - xds: 8002 - service: - ports: - xds: 8002 - type: ClusterIP - extraVolumes: - - name: empty-dir - emptyDir: {} - extraVolumeMounts: - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir -envoy: - enabled: true - containerPorts: - http: 8080 - https: 8443 - service: - type: LoadBalancer - externalTrafficPolicy: Local - ports: - http: 80 - https: 444 - annotations: - service.beta.kubernetes.io/aws-load-balancer-type: nlb -rbac: - create: true -extraDeploy: -- apiVersion: apps/v1 - kind: Deployment - metadata: - labels: - app: apache - name: apache - spec: - replicas: 1 - selector: - matchLabels: - app: apache - template: - metadata: - labels: - app: apache - spec: - containers: - - image: bitnami/apache - name: apache - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - -- apiVersion: v1 - kind: Service - metadata: - labels: - app: apache - name: apache - spec: - ports: - - port: 80 - protocol: TCP - targetPort: 8080 - selector: - app: apache - sessionAffinity: None - type: ClusterIP -- apiVersion: networking.k8s.io/v1 - kind: Ingress - metadata: - name: contour-vib-test - labels: - app: apache - spec: - ingressClassName: contour - defaultBackend: - service: - name: apache - port: - number: 80 diff --git a/.vib/contour/vib-action.config b/.vib/contour/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/contour/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/contour/vib-publish.json b/.vib/contour/vib-publish.json deleted file mode 100644 index 75407224a5d3b3..00000000000000 --- a/.vib/contour/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/contour" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/contour/vib-verify.json b/.vib/contour/vib-verify.json deleted file mode 100644 index 3f5f8010ea1efb..00000000000000 --- a/.vib/contour/vib-verify.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/contour" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/contour" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "contour/goss/goss.yaml", - "vars_file": "contour/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-contour-contour" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/contour/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "ingress-name": "contour-vib-test" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/deepspeed/goss/goss.yaml b/.vib/deepspeed/goss/goss.yaml deleted file mode 100644 index 8a1c5cdce793d6..00000000000000 --- a/.vib/deepspeed/goss/goss.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -{{- $nodes := .Vars.worker.replicaCount }} -file: - /job/hostfile: - exists: true - contents: - {{- range $i, $e := until $nodes }} - - /deepspeed-worker-{{ $i }}/ - {{ end }} - {{ .Vars.client.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root -addr: - {{ range $e, $i := until $nodes }} - tcp://deepspeed-worker-{{ $i }}-external:{{ $.Vars.worker.externalAccess.service.ports.ssh }}: - reachable: true - timeout: 500 - tcp://deepspeed-worker-{{ $i }}.deepspeed-worker-headless:{{ $.Vars.worker.containerPorts.ssh }}: - reachable: true - timeout: 500 - {{ end }} -command: - run-git-example: - exec: bash -c ". /opt/bitnami/scripts/deepspeed/entrypoint.sh && cd /app/compression/cifar/ && deepspeed resnet.py" - exit-status: 0 - timeout: 900000 - {{- $uid := .Vars.client.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.client.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: bash -c 'groups_array=($(id -G)); [ ${#groups_array[@]} -gt 1 ] && group=${groups_array[1]} || group=${groups_array[0]}; if [ $(id -u) -lt {{ $uid }} ] || [ $group -lt {{ $gid }} ]; then exit 1; fi' - exit-status: 0 - {{ if .Vars.client.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*deepspeed-client/ - {{ end }} diff --git a/.vib/deepspeed/runtime-parameters.yaml b/.vib/deepspeed/runtime-parameters.yaml deleted file mode 100644 index eb140d9e01ebe2..00000000000000 --- a/.vib/deepspeed/runtime-parameters.yaml +++ /dev/null @@ -1,38 +0,0 @@ -source: - type: "git" - git: - repository: https://github.com/microsoft/DeepSpeedExamples - revision: master -client: - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - runAsGroup: 1002 - serviceAccount: - create: true - automountServiceAccountToken: true - resourcesPreset: large - persistence: - enabled: true - mountPath: /bitnami/deepspeed/vib-test -worker: - replicaCount: 2 - containerPorts: - ssh: 3333 - # We found an issue when the worker belonged to a group - # different from 1001 - podSecurityContext: - enabled: true - fsGroup: 1004 - containerSecurityContext: - enabled: true - runAsUser: 1004 - runAsGroup: 1004 - externalAccess: - enabled: true - service: - ports: - ssh: 4444 diff --git a/.vib/deepspeed/vib-publish.json b/.vib/deepspeed/vib-publish.json deleted file mode 100644 index 37133c2141ab1a..00000000000000 --- a/.vib/deepspeed/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/deepspeed" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/deepspeed/vib-verify.json b/.vib/deepspeed/vib-verify.json deleted file mode 100644 index 7e2b3e0e2f8e86..00000000000000 --- a/.vib/deepspeed/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/deepspeed" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/deepspeed" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "deepspeed/goss/goss.yaml", - "vars_file": "deepspeed/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-deepspeed-client" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/discourse/cypress/cypress.config.js b/.vib/discourse/cypress/cypress.config.js deleted file mode 100644 index d2e4db6cd18dea..00000000000000 --- a/.vib/discourse/cypress/cypress.config.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - env: { - username: 'user', - password: 'ComplicatedPassword123!4', - }, - hosts: { - 'bitnami-discourse.my': '{{ TARGET_IP }}', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - }, -} diff --git a/.vib/discourse/cypress/cypress/e2e/discourse.cy.js b/.vib/discourse/cypress/cypress/e2e/discourse.cy.js deleted file mode 100644 index 15999fdb499c4c..00000000000000 --- a/.vib/discourse/cypress/cypress/e2e/discourse.cy.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows to sign up', () => { - cy.visit('/'); - cy.contains('button', 'Sign Up').click(); - cy.fixture('users').then((user) => { - cy.get('#new-account-email').type(`${random}.${user.newUser.email}`); - cy.get('#new-account-username').type(`${random}.${user.newUser.username}`); - cy.get('#new-account-password').type(`${random}.${user.newUser.password}`); - }); - cy.contains('Checking username').should('not.exist'); - cy.get('.btn-large').contains('button', 'Sign Up').click(); - cy.contains('button', 'Resend Activation Email'); -}); - -it('allows to create a topic', () => { - cy.login(); - cy.contains('button', 'New Topic').click(); - cy.fixture('topics').then((topic) => { - cy.get('#reply-title').type(`${topic.newTopic.title}-${random}`); - cy.get('div[contenteditable="true"]').type(`${topic.newTopic.content} ${random}`); - cy.contains('button', 'Create Topic').click(); - cy.contains('Saving').should('not.exist'); - cy.visit('/latest'); - cy.get('.topic-list').within(() => { - cy.contains('td', `${topic.newTopic.title}-${random}`); - }); - }); -}); diff --git a/.vib/discourse/cypress/cypress/fixtures/topics.json b/.vib/discourse/cypress/cypress/fixtures/topics.json deleted file mode 100644 index 7f7cbccaedb5f9..00000000000000 --- a/.vib/discourse/cypress/cypress/fixtures/topics.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newTopic": { - "title": "Super Topic", - "content": "Inventive Lorem ipsum content v2" - } -} diff --git a/.vib/discourse/cypress/cypress/fixtures/users.json b/.vib/discourse/cypress/cypress/fixtures/users.json deleted file mode 100644 index 96ed4193c41be2..00000000000000 --- a/.vib/discourse/cypress/cypress/fixtures/users.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "newUser": { - "username": "NonTrivialUser", - "password": "N0ntR1Vi@lPaS$wOrD", - "email": "nontrivial@email.com" - } -} diff --git a/.vib/discourse/cypress/cypress/support/commands.js b/.vib/discourse/cypress/cypress/support/commands.js deleted file mode 100644 index 32ff02ec013f08..00000000000000 --- a/.vib/discourse/cypress/cypress/support/commands.js +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; -const BASE_URL = 'http://bitnami-discourse.my'; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.overwrite('visit', (originalFn, url, options) => { - return originalFn(`${BASE_URL}${url}`, options); -}); - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.contains('button', 'Log In').click(); - cy.get('#login-account-name').type(username); - cy.get('#login-account-password').type(`${password}{enter}`); - - // In Discourse, logging is not considered as completed until the home page is visible. - // Navigating to any other site before that will lead to a 404 error - cy.contains('a', 'Unread'); - // First time login shows a welcome popup - cy.get('body').then(($body) => { - if ($body.text().includes('Got it')) { - cy.contains('Got it').click(); - } - }); - // A "Your first notification" popup will also show - cy.get('body').then(($body) => { - if ($body.text().includes('Got it')) { - cy.contains('Got it').click(); - } - }); - } -); diff --git a/.vib/discourse/cypress/cypress/support/e2e.js b/.vib/discourse/cypress/cypress/support/e2e.js deleted file mode 100644 index 4dedece99d0a2d..00000000000000 --- a/.vib/discourse/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -Cypress.on('uncaught:exception', (err, runnable) => { - // Discourse header returns an internal ResizeObserver - // max loop error (from javascript), but the application - // works just fine. Returning false here prevents Cypress - // from failing the test. - if (err.message.includes('ResizeObserver loop limit')) { - return false - } -}) diff --git a/.vib/discourse/cypress/cypress/support/utils.js b/.vib/discourse/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/discourse/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/discourse/goss/goss.yaml b/.vib/discourse/goss/goss.yaml deleted file mode 100644 index 99e642764fcc20..00000000000000 --- a/.vib/discourse/goss/goss.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/discourse: - exists: true - filetype: directory - mode: "2775" - owner: discourse - group: root - /opt/bitnami/discourse/config/discourse.conf: - exists: true - filetype: file - mode: "0644" - owner: root - group: root - contents: - - "hostname = {{ .Vars.host }}" - - "db_username = {{ .Vars.postgresql.auth.username }}" -command: - discourse-cli: - exec: cd /opt/bitnami/discourse/ && RAILS_ENV=production bundle exec rake -T - exit-status: 0 diff --git a/.vib/discourse/runtime-parameters.yaml b/.vib/discourse/runtime-parameters.yaml deleted file mode 100644 index 697c2ed4005207..00000000000000 --- a/.vib/discourse/runtime-parameters.yaml +++ /dev/null @@ -1,20 +0,0 @@ -auth: - email: user@example.com - user: user - password: ComplicatedPassword123!4 -postgresql: - auth: - username: bn_discourse -host: bitnami-discourse.my -service: - type: LoadBalancer - ports: - http: 80 -discourse: - readinessProbe: - initialDelaySeconds: 300 - livenessProbe: - initialDelaySeconds: 500 -sidekiq: - readinessProbe: - initialDelaySeconds: 90 diff --git a/.vib/discourse/vib-action.config b/.vib/discourse/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/discourse/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/discourse/vib-publish.json b/.vib/discourse/vib-publish.json deleted file mode 100644 index 82b4bfcd06b9a0..00000000000000 --- a/.vib/discourse/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/discourse" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/discourse/vib-verify.json b/.vib/discourse/vib-verify.json deleted file mode 100644 index adb42e6d949ee1..00000000000000 --- a/.vib/discourse/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/discourse" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/discourse" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "discourse/goss/goss.yaml", - "vars_file": "discourse/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-discourse" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/discourse/cypress" - }, - "endpoint": "lb-discourse-http", - "app_protocol": "HTTP", - "env": { - "username": "user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/dremio/cypress/cypress.config.js b/.vib/dremio/cypress/cypress.config.js deleted file mode 100644 index a733ed6604ee77..00000000000000 --- a/.vib/dremio/cypress/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - env: { - username: 'vib_user', - password: 'ComplicatedPassword!1234', - postgresql_host: 'postgresql', - postgresql_user: 'postgres', - postgresql_db: 'vib_test', - postgresql_password: 'password123', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/dremio/cypress/cypress/e2e/dremio.cy.js b/.vib/dremio/cypress/cypress/e2e/dremio.cy.js deleted file mode 100644 index 1819b22edd6941..00000000000000 --- a/.vib/dremio/cypress/cypress/e2e/dremio.cy.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { - random, -} from '../support/utils'; - -it('Allows to import a PostgreSQL database and perform a query', () => { - cy.login(); - // Go to the collections page - cy.contains('Add Source').click(); - cy.contains('PostgreSQL').click(); - cy.fixture('database').then((d) => { - cy.get('#name').should('be.enabled').clear({force: true}).type(`${d.database.name}${random}`); - // Cannot use # because of the middle dot - cy.get('[id="config.hostname"]').should('be.enabled').clear({force: true}).type(Cypress.env('postgresql_host')); - cy.get('[id="config.databaseName"]').should('be.enabled').clear({force: true}).type(Cypress.env('postgresql_db')); - cy.get('[id="config.username"]').should('be.enabled').clear({force: true}).type(Cypress.env('postgresql_user')); - cy.get('[id="config.password"]').should('be.enabled').clear({force: true}).type(Cypress.env('postgresql_password')); - cy.contains('Save').click(); - cy.get(`[href*="source/${d.database.name}${random}"]`); - // Does not have text as it is an icon, so we need to use the href selector - cy.get('[href*="new_query"]').click(); - // Ensure the editor is fully loaded - cy.contains(`${d.database.name}${random}`).click(); - cy.contains('public').click(); - cy.contains(d.database.expectedRes); - }); -}); diff --git a/.vib/dremio/cypress/cypress/fixtures/database.json b/.vib/dremio/cypress/cypress/fixtures/database.json deleted file mode 100644 index 202fc58b31fbc0..00000000000000 --- a/.vib/dremio/cypress/cypress/fixtures/database.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "database": { - "name": "vib_psql", - "expectedRes": "cars" - } -} diff --git a/.vib/dremio/cypress/cypress/support/commands.js b/.vib/dremio/cypress/cypress/support/commands.js deleted file mode 100644 index 65ad0bd277d5de..00000000000000 --- a/.vib/dremio/cypress/cypress/support/commands.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/login'); - cy.get('#userName').should('be.enabled').clear({force: true}).type(username); - cy.get('#password').should('be.enabled').clear({force: true}).type(password); - cy.contains('Log In').click(); - cy.contains('Datasets'); - } -); - -Cypress.on('uncaught:exception', (err) => { - if (err.message.includes('Cannot read properties of')) { - return false; - } - if (err.message.includes('Normalize accepts')) { - return false; - } - // We expect an error "Failed to execute 'observe' on 'IntersectionObserver'" - // during the installation of a template so we add an exception - if (err.message.includes("Failed to execute 'observe' on 'IntersectionObserver'")) { - return false; - } - - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/dremio/cypress/cypress/support/e2e.js b/.vib/dremio/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/dremio/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/dremio/cypress/cypress/support/utils.js b/.vib/dremio/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/dremio/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/dremio/goss/goss.yaml b/.vib/dremio/goss/goss.yaml deleted file mode 100644 index af93cba648a879..00000000000000 --- a/.vib/dremio/goss/goss.yaml +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://127.0.0.1:{{ .Vars.dremio.containerPorts.web }}: - status: 200 - body: - - /dremio/ - http://127.0.0.1:{{ .Vars.dremio.containerPorts.web }}/apiv2/login: - status: 200 - method: POST - request-headers: - - "Content-Type: application/json" - request-body: '{"userName": "{{ .Vars.dremio.auth.username }}", "password": "{{ .Vars.dremio.auth.password }}"}' - body: - - /{{ .Vars.dremio.auth.username }}/ - - /{{ .Vars.dremio.auth.email }}/ - - /{{ .Vars.dremio.auth.firstName }}/ - - /{{ .Vars.dremio.auth.lastName }}/ - http://dremio:{{ .Vars.service.ports.web }}: - status: 200 - body: - - /dremio/ - http://dremio:{{ .Vars.service.ports.web }}/apiv2/login: - status: 200 - method: POST - request-headers: - - "Content-Type: application/json" - request-body: '{"userName": "{{ .Vars.dremio.auth.username }}", "password": "{{ .Vars.dremio.auth.password }}"}' - body: - - /{{ .Vars.dremio.auth.username }}/ - - /{{ .Vars.dremio.auth.email }}/ - - /{{ .Vars.dremio.auth.firstName }}/ - - /{{ .Vars.dremio.auth.lastName }}/ - {{- if .Vars.metrics.enabled }} - http://127.0.0.1:{{ .Vars.metrics.containerPorts.metrics }}/metrics: - status: 200 - timeout: 120000 - body: - - /metrics_dremio/ - {{- /* Not testing the body output because it is causing a CancelTimeoutError from time to time (probably because of the resource preset we are using) */}} - http://dremio-metrics:{{ .Vars.metrics.service.ports.metrics }}/metrics: - status: 200 - timeout: 120000 - {{- end }} -addr: - tcp://dremio-master-coordinator-0.dremio-headless:{{ .Vars.dremio.containerPorts.liveness }}: - reachable: true - timeout: 10000 - tcp://127.0.0.1:{{ .Vars.dremio.containerPorts.conduit }}: - reachable: true - timeout: 10000 - {{- if .Vars.metrics.enabled }} - tcp://127.0.0.1:{{ .Vars.dremio.containerPorts.jmx }}: - reachable: true - timeout: 10000 - {{- end }} - tcp://dremio-coordinator-0.dremio-headless:{{ .Vars.dremio.containerPorts.client }}: - reachable: true - timeout: 10000 - tcp://dremio-coordinator-0.dremio-headless:{{ .Vars.dremio.containerPorts.fabric }}: - reachable: true - timeout: 10000 - tcp://dremio:{{ .Vars.service.ports.client }}: - reachable: true - timeout: 10000 - tcp://dremio:{{ .Vars.service.ports.flight }}: - reachable: true - timeout: 10000 -file: - {{ .Vars.masterCoordinator.persistence.mountPath }}: - exists: true - filetype: directory - mode: '2775' - owner: root - /opt/bitnami/dremio/conf/dremio.conf: - exists: true - contents: - - /services.coordinator.web.tokens.cache.size.*{{ .Vars.masterCoordinator.dremioConf.configOverrides.services.coordinator.web.tokens.cache.size }}/ - - /services.conduit.ssl.trustStorePassword.*{{ .Vars.masterCoordinator.dremioConf.secretConfigOverrides.services.conduit.ssl.trustStorePassword }}/ - - /services.fabric.memory.reservation.*{{ .Vars.dremio.dremioConf.configOverrides.services.fabric.memory.reservation }}/ - - /services.coordinator.web.ssl.trustStorePassword.*{{ .Vars.dremio.dremioConf.secretConfigOverrides.services.coordinator.web.ssl.trustStorePassword }}/ - - /services.web-admin.port.*{{ .Vars.dremio.containerPorts.liveness }}/ - - /services.coordinator.web.port.*{{ .Vars.dremio.containerPorts.web }}/ - - /services.conduit.port.*{{ .Vars.dremio.containerPorts.conduit }}/ - - /services.fabric.port.*{{ .Vars.dremio.containerPorts.fabric }}/ - - /services.flight.port.*{{ .Vars.dremio.containerPorts.flight }}/ - /opt/bitnami/dremio/conf/core-site.xml: - exists: true - contents: - - /fs.s3a.endpoint.region/ - - /us-east-1/ - /opt/bitnami/dremio/conf/vib.conf: - exists: true - contents: - - /IT WORKS/ - /opt/bitnami/dremio/conf/vib_secret.conf: - exists: true - contents: - - /IT SECRETLY WORKS/ -command: - {{- $uid := .Vars.masterCoordinator.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.masterCoordinator.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/dremio/runtime-parameters.yaml b/.vib/dremio/runtime-parameters.yaml deleted file mode 100644 index 1c25bc6cfa9216..00000000000000 --- a/.vib/dremio/runtime-parameters.yaml +++ /dev/null @@ -1,231 +0,0 @@ -masterCoordinator: - podSecurityContext: - fsGroup: 1002 - containerSecurityContext: - runAsUser: 1002 - persistence: - enabled: true - mountPath: /bitnami/dremio/data - # Add specific overrides to dremio.conf - dremioConf: - configOverrides: - services: - coordinator: - web: - tokens: - cache: - size: 120 - secretConfigOverrides: - services: - conduit: - ssl: - trustStorePassword: "test" - # Add extra files to the configmap - extraFiles: - vib.conf: | - IT WORKS - extraSecretFiles: - vib_secret.conf: | - IT SECRETLY WORKS -dremio: - containerPorts: - web: 9048 - client: 31011 - flight: 32011 - fabric: 45678 - conduit: 45679 - jmx: 50001 - liveness: 44350 - # Add common overrides to dremio.conf - dremioConf: - configOverrides: - services: - fabric: - memory: - reservation: 150M - secretConfigOverrides: - services: - coordinator: - web: - ssl: - trustStorePassword: "password123" - # Add extra configuration to core-site.xml - coreSite: - appendConfiguration: | - - fs.s3a.endpoint.region - us-east-1 - - auth: - enabled: true - username: vib_user - password: "ComplicatedPassword!1234" - firstName: VIBFIRST - lastName: VIBNAME - email: vib_email@example.com -service: - type: LoadBalancer - ports: - web: 80 - client: 41010 - flight: 42010 -metrics: - enabled: true - service: - ports: - metrics: 41881 - containerPorts: - metrics: 41884 - resourcesPreset: small -# We deploy a PostgreSQL instance so we can use it in Dremio as a data source. We create a database -# that we can verify in the Cypress test -extraDeploy: - - | - apiVersion: v1 - kind: Secret - metadata: - name: postgresql - labels: - app.kubernetes.io/instance: postgresql - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: postgresql - app.kubernetes.io/version: 16.3.0 - helm.sh/chart: postgresql-15.5.6 - type: Opaque - stringData: - postgres-password: "password123" - - | - apiVersion: v1 - kind: Service - metadata: - name: postgresql - labels: - app.kubernetes.io/instance: postgresql - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: postgresql - app.kubernetes.io/version: 16.3.0 - helm.sh/chart: postgresql-15.5.6 - app.kubernetes.io/component: primary - spec: - type: ClusterIP - sessionAffinity: None - ports: - - name: tcp-postgresql - port: 5432 - targetPort: tcp-postgresql - nodePort: null - selector: - app.kubernetes.io/instance: postgresql - app.kubernetes.io/name: postgresql - app.kubernetes.io/component: primary - - | - apiVersion: apps/v1 - kind: StatefulSet - metadata: - name: postgresql - labels: - app.kubernetes.io/instance: postgresql - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: postgresql - app.kubernetes.io/version: 16.3.0 - helm.sh/chart: postgresql-15.5.6 - app.kubernetes.io/component: primary - spec: - replicas: 1 - updateStrategy: - rollingUpdate: {} - type: RollingUpdate - selector: - matchLabels: - app.kubernetes.io/instance: postgresql - app.kubernetes.io/name: postgresql - app.kubernetes.io/component: primary - template: - metadata: - name: postgresql - labels: - app.kubernetes.io/instance: postgresql - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: postgresql - app.kubernetes.io/version: 16.3.0 - helm.sh/chart: postgresql-15.5.6 - app.kubernetes.io/component: primary - spec: - # Using the same security context as the master-coordinator to avoid issues with Openshift - securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.masterCoordinator.podSecurityContext "context" $) | nindent 8 }} - containers: - - name: postgresql - image: docker.io/bitnami/postgresql:16.3.0-debian-12-r14 - imagePullPolicy: "IfNotPresent" - # Using the same security context as the master-coordinator to avoid issues with Openshift - securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.masterCoordinator.containerSecurityContext "context" $) | nindent 12 }} - env: - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: postgresql - key: postgres-password - ports: - - name: tcp-postgresql - containerPort: 5432 - volumeMounts: - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - - name: empty-dir - mountPath: /opt/bitnami/postgresql/conf - subPath: app-conf-dir - - name: empty-dir - mountPath: /opt/bitnami/postgresql/tmp - subPath: app-tmp-dir - - name: custom-init-scripts - mountPath: /docker-entrypoint-initdb.d/ - - name: dshm - mountPath: /dev/shm - - name: data - mountPath: /bitnami/postgresql - volumes: - - name: empty-dir - emptyDir: {} - - name: custom-init-scripts - configMap: - name: postgresql-init-scripts - - name: dshm - emptyDir: - medium: Memory - volumeClaimTemplates: - - apiVersion: v1 - kind: PersistentVolumeClaim - metadata: - name: data - spec: - accessModes: - - "ReadWriteOnce" - resources: - requests: - storage: "8Gi" - - | - apiVersion: v1 - kind: ConfigMap - metadata: - name: postgresql-init-scripts - labels: - app.kubernetes.io/instance: postgresql - app.kubernetes.io/managed-by: Helm - app.kubernetes.io/name: postgresql - app.kubernetes.io/version: 16.3.0 - helm.sh/chart: postgresql-15.5.6 - data: - add_data.sql: | - CREATE DATABASE vib_test; - \c vib_test; - CREATE TABLE cars ( - brand VARCHAR(255), - model VARCHAR(255), - year INT - ); - INSERT INTO cars (brand, model, year) - VALUES - ('Toyota', 'Camry', 2020), - ('Honda', 'Civic', 2019), - ('Ford', 'Mustang', 2018); diff --git a/.vib/dremio/vib-action.config b/.vib/dremio/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/dremio/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/dremio/vib-publish.json b/.vib/dremio/vib-publish.json deleted file mode 100644 index db63621bee38cd..00000000000000 --- a/.vib/dremio/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/dremio" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/dremio/vib-verify.json b/.vib/dremio/vib-verify.json deleted file mode 100644 index 3dab5a5051c715..00000000000000 --- a/.vib/dremio/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/dremio" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/dremio" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "dremio/goss/goss.yaml", - "vars_file": "dremio/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-dremio-master-coordinator" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/dremio/cypress" - }, - "endpoint": "lb-dremio-http-web", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/drupal/cypress/cypress.config.js b/.vib/drupal/cypress/cypress.config.js deleted file mode 100644 index c1e071fd1716b2..00000000000000 --- a/.vib/drupal/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - env: { - username: 'test_user', - password: 'ComplicatedPassword123!4', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/drupal/cypress/cypress/e2e/drupal.cy.js b/.vib/drupal/cypress/cypress/e2e/drupal.cy.js deleted file mode 100644 index 071dc88d1b02af..00000000000000 --- a/.vib/drupal/cypress/cypress/e2e/drupal.cy.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows creating an article with an image', () => { - cy.login(); - cy.visit('/node/add/article'); - cy.fixture('articles').then((article) => { - cy.get('.text-full[name*=title]').type(`${article.newArticle.title} ${random}`); - cy.get('input[accept="image/*"]').selectFile('cypress/fixtures/images/test_image.jpeg', { force: true }); - cy.get('input[id*="alt"]').type(`${article.newArticle.altText}`); - cy.contains('Save').click(); - cy.visit('/admin/content'); - cy.contains(`${article.newArticle.title} ${random}`); - }) -}); diff --git a/.vib/drupal/cypress/cypress/fixtures/articles.json b/.vib/drupal/cypress/cypress/fixtures/articles.json deleted file mode 100644 index 68c210822619b2..00000000000000 --- a/.vib/drupal/cypress/cypress/fixtures/articles.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newArticle": { - "title": "newarticle", - "altText": "Alternative image text" - } -} diff --git a/.vib/drupal/cypress/cypress/fixtures/images/test_image.jpeg b/.vib/drupal/cypress/cypress/fixtures/images/test_image.jpeg deleted file mode 100644 index 1d2a61929011dc51dc0717f675ba868a02bcfd85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12265 zcmb_?1yEdDv+l+v*aY{%-Q5Z94#72OfFOZDa0vttZh_$L!QCOa3_3vrA&}r2^i6X9 zlXLE^SM}=Ey*;pZPp|d0tXjKQSMPaPd{_r?l;jlU05~`RfP;O2hfVk#MQLd>4J~y! zMHSiK1Mu%0t(@EuIRU`Q`K6ndycAg9zz_`li!7|%U7l!YsQgRx-`I=!U)lj+mhG3W z|2Fvl`ugaZwYwF}K~&g8K`R%xmoQ!u#;d)0>GF$z2jlUq>@1$a_yQQu>IQQV#!vl{ zTmHpw{o-x^;;(-3ZaP}h0055xR?C=9{*lpU0RVOg05o>~BeN_7fF{@)6Ro;f zxLN$Rg8;k2+t>iWNihIm8UO$;Y^~9a{-@)Atv5{fFa1FN0s!dv0D#Ik0HkLC06oke zw($cLkOq(t5D^g(kYE=iBqU@M3{(^tVLy6=h5^EU{1}7{0^t&n5#r*J;DbO!R751? z2ynlisJ{sr1rZ4q0shx0F-#5{{Cnir9S#8z3I1Ujz(9ZjaS(7|k`~E- zPx#;Av7?!pmz`wkzL#?-U2EuNJ8|c#uKyR+a6y>on>`eM-@FfVg$_L_&D1$e3_ARL zJ2Y88+Eqkfz9ea^;d1^&@#``9L#I`_)2eB81t0^xNRHakJv$h9UHC-GulfO)%@T7Y zBB-b~<1q8Mwq1Xn@~kx?>C1v0hEL!hJlw`%Y^;U9@a^Q1j@DDNwj+08Ffg}|&4*!@ zo1bw4p$q`srCkUghAe2j{<7sJoCDj4{~@BEMBlz*_mxj5ZMt<)9Bz!S4t3{N)_Q05d@K3@>{En~*eSG!iOp??SBr_n$Hfot1xx;cTW$H1l|i3h zdx`r;F~vjMAAlRxEQP{KMFxEka=WLAnvLrF|!{CWH} zInn;sK|{7X{j!&qvnsFTQw+#vUUpX1xS_>zo}6$Z{J^B4nGxy`v>P0^czCSzb*5;) zw=C<j8xg6Y#q2z~?%D!eQU-ht2`Vkh<=zU7zIURd=709b07OAX zTjVt;Lhy9n`YVaCUsLYS{pvBA8Aq}_fqmLznl{zqh>Fh}*BLQ!T^ol437ZrWnd*H% z{*DeAI}>BYf2adhzUNFiYjY)HE{93JRp1m zDjIIiKx#TJSRO-#r8hWOMg#0We{CrEp*z*?6xsQ-cHGCWu{$mqeFV~mLQk)^nDnTe z{S6P)6Du+eM(GAG6`J9`kWAWe*7m<8Jr~{y>zUTZ{Y5nHX?xI}CU6GRmkWlL3hTyk zGA~WsWcK2PD@SsCPAXJ(Z3J4O-&2vOEk2mNB5RI}%_e|79kj>2Khluhwcl3pSyh3Ifk^p-`b`yTGcPrRoe{P#M)i$`vtuHGsO1E z#iMW$$M-$F;JasKbOQ@V%hwM8sKx&(+blMJ4~tY@a!@()fMh{>qv8CX#_jG{w2NFG zLdKsR6!8GG^HqiSJ^y|yw|%qe?JpcxA}ChrTsoO!V|;_;H~@)=M%K+C?;K+V{MkzDi6Dk|}e*|3Q6sFJ=*a$sxzjZ^eGH zkG%ADb#m*Dtqg?PM74-$HP%sylYYRGOCnZOI2mkL9OKdvS@KH09@5gAAf&mN&FA~% z^8&$=XJm?a>oCns?=TpYsjB>*_b8EIumN@4$$m~Grg--F=iJdAvM>wIa21E1&=3TA zZW1zm4z%{KI7cewd9G>9&ZIl0EH4FO7cYt$iA8g(R+i6WvK2WX%Hwm*%rCyUV}yIl z8E(IQOW&OFrTjT|8}+C@=aX|EG`Nq)*gw2p-Tkt1U187OlT9_4zVW3iY_04EMchp5 zy;EoIJV{KhP|12(Yc5Z(D6P{*!&*gtZ-HXO%4_WKarNx+l@jPaQ%Mr~+tNG5e`|}t zzxR5>?AhTi!`DyE#+x9*Yf>D^WqbZ$oO1?)g>_MhnPhz<{oW?ikc~s3%t@13 zF|oL>?b0_CPeWVSFjeYmO9n{|(IS!b!J@5(y~PwnLqYrU{KDvITRO5*9@pug@#)OtQi6*N zQ~+skbp;}dMFale1kqFkvVV5*DWxgZeswhl);+g*g39|e@UTs!P4m(8D63N}k8J#5 ze6**p!aY50d_^3s*SwHbGHrt3jDb}IXk71hz4OI@1aeE&ftpV~7Ppmx==cer=BJ$( zS=z_yKNpt7ZFs%X`QpbEwY1Bu@yt=umRO~|v=Zt-Dy*fPr=v761|;vM<&SHV!Ez~5 zjV+$?-rYn4K2EroHPp6; z#LaQM)~lXylJHF7O-YkVa;WWn018|q>*YG;8W148R|k@TnjFH)Ad z?%SBQ+;s11$)ZfcU=-WeD_Y`&km15Tj8C;ju*=6MiN!eO_&mW4=RGX=nG~pmM=_o zvYu*;esn~uT(SrbZSji2C z2rIY$BG`cj;DD&OxFr!`v2lX6{u3GeugLB@8KaYr6AFS-%W&c|z1mC_@EeO`68)1* z1y{;cah6eZOrCE)Z=j95(T|373X)Vy8mciIp^)nMtM5yG9XcdPjHtKYrNxjp zeMBJP_3>E1z=){0-WMrumGxG&X8<=-zF+?g&!$#OvRWON{z4)BqGVmCR*;~p@@+mIg0)*rSZH!Mu+ZS)5z$eQ z5Ydo+1@|j75G*Pxt|vHPYE3N*SGU?88g5Aq_ux7_si632Bx&tjd|FN(ORK<;4PL&4 z#H0V5;K&lN6I^FIEf9I;IrYcU`4C-e%VUq4xhL@<2<<+t#&X6>1Q*px7plW;f_{%q zUga*@(U4 zCdb@ofrm@PgOvs~*mU_mcfdW-qvJ#$tq)h=oW5jeuw_sBexCB{wK^8Z#*y98F`+nq zA_!z^)qMQ1cUu*)|5{*YQ*^b}=jw))qhl z>LJOC>5X<9tSWZRr$?&3H}ck0#L36ZIZni6Iicl8NV^G|yi&)-KJ{a`d8AJMGt(>Y z=-TeOF_tvZp*|qXwq*?SQ0epL{Tjo|W6obD0_xbD$g=2)`}opl{rB1^h;H(sTL;7{foRsM62cS8>Un7CxsdhUBJ;V03{A2NN7e7UcBf@`nCid~u z;c>+{!&RJ)7^T0$B0Exg`rerji>e!Aa|?@1ee^7r)^B?Me_fiAfhJYI3BYV5daR|{f|T96W?(VucA zQ%=42^?@}F3ul8qDzkD%7pdeft~{Lmrh@q*N==R10@J`o-**b<0;yF{$v ztkK&#kNIpA3EHd{^?d-m^b#?_&aUk)JN+YsX)k!KdRI|f?vKl}S@k_ol9sQ-o4t)A zp3b@IWsA%0kYW=lV#JWftWQN<1Ve8JPVubnvbzpyj_{sk$h{Kz^yM|tPtuh}^sSTa z7Y38fk*#6c^(5TuYB8-S)^}48;sI4X}QV*LLU$J(#7X2zIX4nTsWU|1wd(9D_$rSj!=ob~W3%OUIvL8^~%C`yx)y zVkmOsxLdEaof{YA)kXM0gwsix97;Lg8CH`uAJu7 zuJJe!tQi#a%aWdXP6xZ%lJt;X?@~y6YiwCf>Q_gv@;(6Q68MF^1wm+tpCJkD-|1hD zmguoG_{Yo1n#Xf6i2T&-M={7ZGh&}sgtN+hzfDu^S`_|>UmoiGLDx3zF8PHstTZp_ zq{RCOx>VZkpdC>#T9)0xM;ScfLFZAag;A(nf;m>_Ft124IOR88d9hRc@@l*9R@&mB+0N}Icx`n&V zf32YO^UvsSJf{4B5Puo3Sn~E}tpDD_s;)vn%=~72TYnXDdhy=u)kIB&rwz-`C>IN= zRRpek-6(%g%`g9~Qpru_Mo;9vS%Dt*2Bf2JL*FdAlMk8THn3%Qhwq|YCoU29}UI9T|L+EY=U@U``7q=J*jx%;Qf1dJ$=h>z3s5_go5#z z#bwNQRjx@I2LOAEi6-%8L1?Y4){MCQ`H#Nm-E7d-&@ygS&^(b&tty@Zh{x@Pe%0Ky ztoc2;@@H}UH&>%yG_CTrdXNo-Tfa+E8(4O9)6W-$5v5|0YJxw{y{*L$Ijo-5uMQLS z!tOH+Y3R)F_BjtZ6iBx6(Vkp3L|fo>s@KTGeuD;HOUsy8)F{41j2sW|WAu-o5BPwf zNRLBc<>ub>{RyE4eD6m~mrpeAhj~}}ypFv?Nvgc38`8s2HFsqUmK0tBOr=mFhIQwglhJCxqB4)(OY@MF$uo_F@<{j%A-i|qCv(2%2RYPWHF ziuyOs5)2o{WKlVH6S!*3LIf5EF0S{lXQGXTC9|vQnC?Ge#Yt3Fe0ae%#QYJnFJxw< z6l#zcZ|p%b;tE=8tPhh#o9QeYP77toI4hedGqRpo#U${U@ZUc_BI+x3tv9VW9W1Ua zJ07lHbT|<%S*nwe2M$D+9rl@&)w+87nfNUafsou8oV zq`KjYL5pb~W^d}nGZcA5=~RbLxwkK>3hpv#R-C*d@~f9^4@javkqnRJB=nxY?ZI?` z3dcS_D6LToXcaIzQ&o+TXm>1KAw!Ea{jRkk5Vo*V)X%vsJ~5&mv!m@#L0xd*4IvMU zwzaasj|iG9h~73E?3{Ggu6i+;Lb*yXtz%D7eE#B#GCf^EiX5S6*(9!Dn-RN{?weat zM#e=XOPbks43FTp@Aunc>~zQ6N~3l6bFB8?x!*Ba;;^n`%8ONMsS6?7dqU00=5TxG z6Vzp1_Y_8WGBzRfLx~LQ9UGOeFAHTC^Lj&`omr|ZRks#Kh*|RKz?wqrtVl9PRgSH1 z3u4uc>~ooeaxEWyU!T>tNX`qAs@}b>Wr8rHS^;&2*VoMi zc4qRzj-uy@Kc=~M&F<}s2UN4==8_yKpoML12kZ+?*B@aO8w(DsR|1cK`nzHLyB>uD z0kC3C69;VJ8Wf*H%`MS|)9fNaGS;vfl1SzV~{l30gB@%YeX;%_~z z&#yA})#Yy%?5R?t&&saktWycU_|6|O^b$7;@?r2lYc&g(u@0>swl$6_;@=Hhw&hTu1%T|fN-DSJbE7LY@5i_kcoF`drXKYL85WupP z!{!l=MNXwWiC`>`xFWbHfy(o@`I^+`lHrwWi$(H%UeYtvdya#Pk!(%RY*v1wk6+sR z0{+WKo|sUVTX?BDDyVzU0}vJ?OTac_?@cD)b+1{AA+49?ELfsYPh8Zjd3#wj>)!VO zqztYl$MFc)xGF%YYQ`l?U?7;VPw=;U{o@X$TEzcaa;RPXq zmqf+9_%(CQzJ=l~2OQYjE&;tc{eabIc%y%&EnOIk6!wR2U6t+P8h?>-lJy;*tc1PP`#R*Lizxm`Lh zarGvfWveAR^|qEvHpI?kPfC(Ce(KRpoeuHQ05G}$LygLI;bc)lo9nfeAL2d4mA28LJ-Jsj<2Yy}p$)Bs# zZ`sA(pXb}*pknuyS@sfcxs@yk_~Mh2N>Y(uuuq}seGIZq%ay_;^lrJQLl}*}KQGau zSHr?+(oC##7UapxGLhI(9~9IPB~_hZILWs5fHob(+FD1f-j&oLrML851fX*wNg4;x z&=_cb;-+j3_6)7e;S^vGEE~gkuBgo<6Qo*@Nf({gh4ce7*-hp(wWxMjG8z8qNWu_j z7~fGR6_FI{N{kT>7mbkV9_zEc>t1mttJs~7~`qGLPMf7Yin|B24Avi zk}Y2dMV<-!=D_@rWxb&G=2zzanUPA_D$n#eZnLARa&gT?-2Bl$1|6S6c5^cXub4JPA*^~O`U9pOedpU+R|Y&( z4L+Dgk{8CF?@!D;zP8n0p01#Te*(szXdmDUgQKVpCOM(Q_2!w1;MP9U)A_`7Q zia*g7!Of%AQIUMX8sz9qc&^C3+uH#COzNHY zNdA!ea6~J6Jk98x`ha05{GkM zsu3OH=of~`G0VwlgW=XK+*3T3RX!ieDAYjj39o~5s)pd4JHKhh<0BdPJWCj|-G2+@ zkqr^?TQ$x3bnQzm6^PiAp1tiE$hqrg^X$3Wvc>-Oy}gxu%_XQjhA;{3>p?S zYK&b}FbaHD2wiRxL`bTQSN>eTWlZ)(jL9P=fp*h8)C^>;4P)%BPch9uFy2wUjwjpO zR1PjMAOC=Lmi3J7NhbTt`Y5)%DEujfPUNTykOKv;Nq%#~sZ*5Vvc#P&?6Cd)Hum>> zXq?kY(f{o~w2s67s}8LBd{+oSk~wtRic4_mJC=;`d^aMQCcvL z;J;A6eXeKtx8yjM$u^jiM~ZV}?N3CkZX>Fo7}06jKN8W86IAfAcsi7Lf3PQ`h}6SG zxvH%HSRBJ!K5Qg@9{u)@4}E0reHgW)WVJ*8sQRPff5iONc(9^ERWu0+` z_Sz)T`mTh9_1;DuNl9sbIwEDjPgfj{#MiHgEyH8AW|zi0jYdWEdd!IT2j20g7H0mKyj!k@SL-^v7E@GOKUnJr32NRO z3cc```?^Y^l{fmL&YllLyVV0&fbt4xpQb}NMo&U^s)M%D*7w<_Wg0j$XZvg(Sinag04shBjY%`N_r zx9#dvk>9yIwt>&FMW6k0HaT#m>Kn6Y?otn9lhskJR|T!X-p zuwq-Iwg*;ePjCFGwQ(MR`XL9;XaHH)5pUiZUAiXdv*Ng*Soc%6idRnKGG8XKHVy7Y zMCrFxa4~$fmIl&&tm&U}ZwiOtRg63UTw7tef=^KPIBY1+0zifGX5(KVXfcv^J0BSw zfbP^!B(aLZ61}N99&ouPE_fn1<6Qeu!~|`Qy9=jY=TUTuReN)pUe)PnM6>sDyPzjU2-)59WK{M+q#5ktaCni4D7DShu!M-_s066^A z6^p;WIW*KV%!4N4d>B}<&3Hn_atbd9B{lX5Vq7K{nN`g*f@;GqX`BOsScly6kTMHxbkjYWCPu74+l;Jy);EDrIO zjf|Sv&fSg``XumihrkG%AG0OS?-3IVNWj<0;y z=a}6|WxR>nOvYJ}la$&z(>!tn4g7+2*Z?ply5AkFR+WD7N+sht>tl_~#`R;Ax%7%u z%Oyc44ZLIb7K~R{ct2As5RxWNrS+k+uD)ciV@npZI=41e>1zAoGksdE=V~dt@hRrW zd}wTnC-ElNJnK9wPr!#^6ITV?p;QIq`$3F;S}joa+bW!;s*j1tG+d=>U> zN`Ak>hTF(tugaN>*v5Zr^Jy?`1WOnt(d2cQq{vM5pn5`avdM4Rk| z#tX$l;-44-UK4S}yKNdTGRDzfa3?_g6h;vm)QfAcG23UPu_3;!cNkdSsQ1fUju1|k+BS~9WQ%B;~)sULKUkh zl=sf7|23F%n*l}1o- zP!nomVEUWlSC_m=@&+yGa<+87N%A_Xjn?X=Ne4xL!}8Q1HMZ73gD}xB(J4k5W+K>F z;bQSETGoH1Du`L9<5$8PM(ov)in2g6=|*bnsG2!qQcShveMcO+G8G%KC9jzSa`R@x zQ6V8f9Vp#-yL5mqNobKaQ~2()$}wFlV@a$!T{4QC|1e;Lymx6-OB0I)|ecBEjedzm9)#J}ZB)e^4l+C3Sc% zpPS;T^C7N~K8*XI_P)cw{Lbm@OR)rWrFw8>DnHJS6t(I|b4A_O*24mB>@5x1!aYee zmwY@(t?|*B{8d|rrR3A!%2YVJ^{a_mo=wE_dP+a%0Uj+gby1&gPDzU9TSL*>{!q% zkm1OcoE#6t+oLTpaU8pZ$+-O6sx4$k_HAe`JCVcq_O*tx7L!}H$mnqa1^R$GVm7fq zRz&=mcCsYA?ttm4S`C=46a8Z}T6`J<)z|#40I%pLQDIDsB;GCrI5n*HGJ?S}^-0w! zRm$%aW$2nqYd)m+=7yl!ylKf%Ad4tfPT1z!^kX_s)1)WXbVJZE=W+k7n55Cr5n0i( za2b~ZkLg__N0S`(xPcCiO;wU%0$H8$a}VP)o0&|v^pnzaDtI^>72;Ay+EK3rUV+O~ z>+gGVK11YGh&&#o>9Xc1h(Ddaz8mKZ?b$Lqh>i$+OeT|?H(Y|K*S|CHB>M9r!ut&F7^{CPGtZ}jQrqZ`4*rVM<9)6*L1?`5%( zZk_$@TMA-(+V>?fG*QU!#v4}c5Tp6+8r@lg^c#wvuZwPG){;Tk!RyZS&o^kl#teTA z>cxl;J11^EGkXB4R|NWKMS?}3U-KmRy4Oev5E@i$852>xvUc-dG8e$JKMqST4qnD7 zVc#s8!yo*}Xn`y904TX7r!wRGOdN5*M}wUV-}mL_-j?86YLD%Rf3XNMf&lKxp74d2@9 zGVoNCali0x*`#dFtq1HY!?#*eo~(Nn#O?_Vgl|p-Cy0HaTFDfdN>%Jv3}){iSZ0i( zeOH7_`xJVAEzrG`gQE>QSwr1ulV%?P+5CY;0-{GOghnfbaLq_KW=d>^q@+ZF70l}z zO^Qi~3ea2r47QYmOmUS-IP{vlNeYS6=l$(KBH@#p};VmG5AG6RO3knkIlwU<4FB3&(U3n2CDP10YYkVP|lX xg4CSZHINm!9{2g?cL&mkFG^pF=-AhpO!ez$_Y;oY%(#w_u`6x{?0 { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/user/login'); - cy.get('#edit-name').type(username); - cy.get('#edit-pass').type(password); - cy.contains('input', 'Log in').click(); - } -); - -Cypress.on('uncaught:exception', (err) => { - // we expect an error with message 'Cannot read properties of undefined (reading 'nodeType')' - // and don't want to fail the test so we return false - if ( - err.message.includes('Cannot read properties') - ) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/drupal/cypress/cypress/support/e2e.js b/.vib/drupal/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/drupal/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/drupal/cypress/cypress/support/utils.js b/.vib/drupal/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/drupal/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/drupal/goss/goss.yaml b/.vib/drupal/goss/goss.yaml deleted file mode 100644 index 1e68299ba523b6..00000000000000 --- a/.vib/drupal/goss/goss.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://drupal:{{ .Vars.service.ports.https }}: - status: 200 - allow-insecure: true -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -file: - /bitnami/drupal: - exists: true - filetype: directory - mode: '2775' - owner: root - /etc/hosts: - exists: true - filetype: file - contents: - {{ range .Vars.hostAliases }} - {{ $ip := .ip }} - {{ range $host := .hostnames }} - - /{{ $ip }}.*{{ $host }}/ - {{ end }} - {{ end }} diff --git a/.vib/drupal/runtime-parameters.yaml b/.vib/drupal/runtime-parameters.yaml deleted file mode 100644 index 65cb1a20894f93..00000000000000 --- a/.vib/drupal/runtime-parameters.yaml +++ /dev/null @@ -1,28 +0,0 @@ -drupalUsername: test_user -drupalPassword: ComplicatedPassword123!4 -mariadb: - auth: - database: test_drupal_database - username: test_drupal_username - password: test_drupal_password -containerPorts: - http: 8081 - https: 8444 -service: - type: LoadBalancer - ports: - http: 80 - https: 444 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -hostAliases: - - ip: 127.0.0.1 - hostnames: - - status.testhost -serviceAccount: - create: true -automountServiceAccountToken: true \ No newline at end of file diff --git a/.vib/drupal/vib-publish.json b/.vib/drupal/vib-publish.json deleted file mode 100644 index 7eefad75a748d5..00000000000000 --- a/.vib/drupal/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/drupal" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/drupal/vib-verify.json b/.vib/drupal/vib-verify.json deleted file mode 100644 index 22f3cc89bee0e7..00000000000000 --- a/.vib/drupal/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/drupal" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/drupal" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "drupal/goss/goss.yaml", - "vars_file": "drupal/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-drupal" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/drupal/cypress" - }, - "endpoint": "lb-drupal-http", - "app_protocol": "HTTP", - "env": { - "username": "test_user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/ejbca/cypress/cypress.config.js b/.vib/ejbca/cypress/cypress.config.js deleted file mode 100644 index 0c0212a188df45..00000000000000 --- a/.vib/ejbca/cypress/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - env: { - username: 'bitnamiTest', - password: 'ComplicatedPassword123!4', - baseDN: 'UID=c-1CCXmPAsNWmZuDtQQ8FHl7tcVdjCiNTH,O=ExampleCA,C=SE', - }, - e2e: { - // We've imported your old cypress plugins here. - // You may want to clean this up later by importing these. - setupNodeEvents(on, config) { - return require('./cypress/plugins/index.js')(on, config) - }, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/ejbca/cypress/cypress/e2e/ejbca.cy.js b/.vib/ejbca/cypress/cypress/e2e/ejbca.cy.js deleted file mode 100644 index e5257367f50b48..00000000000000 --- a/.vib/ejbca/cypress/cypress/e2e/ejbca.cy.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('allows to enrol and verify certificate', () => { - const certFile = `cypress/downloads/SuperAdmin.p12`; - cy.task('fileExists', certFile).then((exists) => { - // A user can only enrol once - if (!exists) { - cy.visit(`/ejbca/ra/enrollwithusername.xhtml?username=${Cypress.env('username')}`); - cy.get('[name="enrollWithUsernameForm:enrollmentCode"]').type(Cypress.env('password')); - cy.get('[name="enrollWithUsernameForm:checkButton"]').click(); - cy.fixture('certs').then((certs) => { - cy.get('[name="enrollWithUsernameForm:selectAlgorithmOneMenu"]').select(certs.newAdminCert.algorithm); - }); - // Clicking on the button will download the certificate, but Cypress - // expects the page to be reloaded and fails with a timeout. We manually - // force the reload to avoid it and then verify that the file was indeed - // downloaded. The timeout is high to ensure the file is completely downloaded - // before the reload (and avoid flakiness in slow clusters) - cy.window() - .document() - .then(function (doc) { - doc.addEventListener('click', () => { - setTimeout(function () { - doc.location.reload(); - }, 12000); - }); - - cy.get('[name="enrollWithUsernameForm:generatePkcs12"]').click(); - }); - } - cy.readFile(certFile).should('exist'); - }); -}); diff --git a/.vib/ejbca/cypress/cypress/fixtures/certs.json b/.vib/ejbca/cypress/cypress/fixtures/certs.json deleted file mode 100644 index 0d0ea65046fdf8..00000000000000 --- a/.vib/ejbca/cypress/cypress/fixtures/certs.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newAdminCert": { - "algorithm": "RSA_2048" - } -} diff --git a/.vib/ejbca/cypress/cypress/plugins/index.js b/.vib/ejbca/cypress/cypress/plugins/index.js deleted file mode 100644 index 1caf9217327db2..00000000000000 --- a/.vib/ejbca/cypress/cypress/plugins/index.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -/** - * @type {Cypress.PluginConfig} - */ -// eslint-disable-next-line no-unused-vars -const fs = require('fs'); - -module.exports = (on, config) => { - on('task', { - fileExists(filename) { - return fs.existsSync(filename); - }, - }); -}; diff --git a/.vib/ejbca/cypress/cypress/support/commands.js b/.vib/ejbca/cypress/cypress/support/commands.js deleted file mode 100644 index f84e53b455650e..00000000000000 --- a/.vib/ejbca/cypress/cypress/support/commands.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} \ No newline at end of file diff --git a/.vib/ejbca/cypress/cypress/support/e2e.js b/.vib/ejbca/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/ejbca/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/ejbca/goss/goss-wait.yaml b/.vib/ejbca/goss/goss-wait.yaml deleted file mode 100644 index 0e6b2a0f652242..00000000000000 --- a/.vib/ejbca/goss/goss-wait.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - # During the initilization process, EJBCA is restarted to apply some settings. It - # might happen that GOSS tests are launched precisely when this restart is triggered, - # leading to false positives. This ensures some time has passed before proceeding with - # the tests, increasing the resiliency. - wait-to-be-available: - exec: "sleep 120" - exit-status: 0 - timeout: 130000 diff --git a/.vib/ejbca/goss/goss.yaml b/.vib/ejbca/goss/goss.yaml deleted file mode 100644 index 0035ad27d2dd54..00000000000000 --- a/.vib/ejbca/goss/goss.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://ejbca:{{ .Vars.service.ports.https }}/ejbca/doc: - status: 200 - allow-insecure: true -file: - /bitnami/ejbca: - exists: true - filetype: directory - mode: "0775" - owner: wildfly - /opt/bitnami/wildfly/standalone/configuration/standalone.xml: - exists: true - filetype: file - mode: "0644" - contents: - - /http.*{{ .Vars.containerPorts.http }}/ - - /https.*{{ .Vars.containerPorts.https }}/ - - /connection-url.*{{ .Vars.mariadb.auth.database }}/ - - /user-name.*{{ .Vars.mariadb.auth.username }}/ - - /password.*{{ .Vars.mariadb.auth.password }}/ -command: - {{- $baseDN := .Vars.ejbcaCA.baseDN }} - {{- $caName := .Vars.ejbcaCA.name }} - {{- $user := printf "user_%s" (randAlpha 5) }} - {{- $pass := printf "%s" (randAlpha 5) }} - {{- $dn := printf "%s,CN=%s" $baseDN $user }} - # Identity type 1 corresponds to END-USER - {{- $identityType := "1" }} - add-identity-export-cert: - exec: cd /opt/bitnami/ejbca && ejbca.sh ra addendentity --username '{{ $user }}' --caname '{{ $caName}}' --dn '{{ $dn }}' --type {{ $identityType }} --token P12 --password '{{ $pass }}' && ejbca.sh ra setclearpwd '{{ $user }}' '{{ $pass }}' && ejbca.sh batch && ls ./p12/{{ $user }}.p12 - exit-status: 0 - timeout: 20000 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/ejbca/runtime-parameters.yaml b/.vib/ejbca/runtime-parameters.yaml deleted file mode 100644 index 68fe8d783418d6..00000000000000 --- a/.vib/ejbca/runtime-parameters.yaml +++ /dev/null @@ -1,30 +0,0 @@ -ejbcaAdminUsername: bitnamiTest -ejbcaAdminPassword: ComplicatedPassword123!4 -ejbcaCA: - name: ManagementTestCA - baseDN: UID=c-1CCXmPAsNWmZuDtQQ8FHl7tcVdjCiNTH,O=ExampleCA,C=SE -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -containerPorts: - http: 8081 - https: 8443 -service: - type: LoadBalancer - ports: - http: 80 - https: 443 - advertisedHttpsPort: 443 -extraVolumeMounts: - - name: empty-dir - mountPath: /opt/bitnami/ejbca/p12 - subPath: test-dir -mariadb: - enabled: true - auth: - database: bitnami_ejbca_test - username: bn_ejbca_test - password: bn_ejbca_pass_test diff --git a/.vib/ejbca/vib-publish.json b/.vib/ejbca/vib-publish.json deleted file mode 100644 index e42be319e627e1..00000000000000 --- a/.vib/ejbca/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/ejbca" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/ejbca/vib-verify.json b/.vib/ejbca/vib-verify.json deleted file mode 100644 index e9aa3889efc13c..00000000000000 --- a/.vib/ejbca/vib-verify.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/ejbca" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/ejbca" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "ejbca/goss/goss.yaml", - "vars_file": "ejbca/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-ejbca" - } - }, - "wait": { - "file": "ejbca/goss/goss-wait.yaml" - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/ejbca/cypress" - }, - "endpoint": "lb-ejbca-https", - "app_protocol": "HTTPS" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/elasticsearch/cypress/cypress.config.js b/.vib/elasticsearch/cypress/cypress.config.js deleted file mode 100644 index 3f47bd6e6817f3..00000000000000 --- a/.vib/elasticsearch/cypress/cypress.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - responseTimeout: 30000, - env: { - nodeNumber: 4, - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'https://localhost', - }, -} diff --git a/.vib/elasticsearch/cypress/cypress/e2e/elasticsearch.cy.js b/.vib/elasticsearch/cypress/cypress/e2e/elasticsearch.cy.js deleted file mode 100644 index 7802db94533b11..00000000000000 --- a/.vib/elasticsearch/cypress/cypress/e2e/elasticsearch.cy.js +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; -import body from '../fixtures/documents.json'; - -it('can check cluster health', () => { - cy.request({ - method: 'GET', - url: '/_cluster/health', - form: true, - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.status).to.contain('green'); - expect(response.body.number_of_nodes).to.eq(Cypress.env('nodeNumber')); - }); -}); - -it('can index a search and retrieve it', () => { - cy.request({ - method: 'PUT', - url: 'favorite_candy' + random, - form: true, - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.acknowledged).to.eq(true); - expect(response.body.shards_acknowledged).to.eq(true); - expect(response.body.index).to.eq(`favorite_candy${random}`); - }); - - cy.request({ - method: 'GET', - url: 'favorite_candy' + random, - form: true, - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - }); -}); - -it('can index a document and retrieve it', () => { - cy.request({ - method: 'POST', - headers: { 'Content-Type': 'application/json; charset=utf-8' }, - url: `favorite_dj/_create/${random}`, - body: body, - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(201); - expect(response.body._index).to.eq('favorite_dj'); - expect(response.body.result).to.eq('created'); - }); - - cy.request({ - method: 'GET', - url: 'favorite_dj/_source/' + random, - form: true, - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.name).to.eq(body.name); - expect(response.body.origin).to.eq(body.origin); - }); -}); diff --git a/.vib/elasticsearch/cypress/cypress/fixtures/documents.json b/.vib/elasticsearch/cypress/cypress/fixtures/documents.json deleted file mode 100644 index 221930947d065f..00000000000000 --- a/.vib/elasticsearch/cypress/cypress/fixtures/documents.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Simon", - "origin": "Belfast, UK" -} diff --git a/.vib/elasticsearch/cypress/cypress/support/e2e.js b/.vib/elasticsearch/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/elasticsearch/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/elasticsearch/cypress/cypress/support/utils.js b/.vib/elasticsearch/cypress/cypress/support/utils.js deleted file mode 100644 index de2cd7ef4414a2..00000000000000 --- a/.vib/elasticsearch/cypress/cypress/support/utils.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.floor(Math.random() * 10000) + 10000) - .toString() - .substring(1); diff --git a/.vib/elasticsearch/ginkgo/elasticsearch_suite_test.go b/.vib/elasticsearch/ginkgo/elasticsearch_suite_test.go deleted file mode 100644 index cccddae38f34b1..00000000000000 --- a/.vib/elasticsearch/ginkgo/elasticsearch_suite_test.go +++ /dev/null @@ -1,80 +0,0 @@ -package elasticsearch_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - releaseName string - namespace string - timeoutSeconds int - timeout time.Duration - password string -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&releaseName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.IntVar(&timeoutSeconds, "timeout", 900, "timeout in seconds") - flag.StringVar(&password, "password", "", "Password for elastic user") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestElasticsearch(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Elasticsearch Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name string, port string, image string, op string, index string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "elasticsearch", - Image: image, - Command: []string{"curl", "-u", fmt.Sprintf("'elastic:%s'", password), "-k", "-X", op, fmt.Sprintf("https://%s/%s", releaseName, index)}, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/elasticsearch/ginkgo/elasticsearch_test.go b/.vib/elasticsearch/ginkgo/elasticsearch_test.go deleted file mode 100644 index 69934e2c831bbe..00000000000000 --- a/.vib/elasticsearch/ginkgo/elasticsearch_test.go +++ /dev/null @@ -1,109 +0,0 @@ -package elasticsearch_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Elasticsearch", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("an index is created and Elasticsearch is scaled down to 0 replicas and back up", func() { - It("should have access to the created index", func() { - getReplicaCount := func(ss *appsv1.StatefulSet) int32 { return ss.Status.Replicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getReadyReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.ReadyReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - stsName := fmt.Sprintf("%s-data", releaseName) - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getReadyReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, releaseName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-rest-api") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "elasticsearch") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - By("creating a job to create a new index") - createDBJobName := fmt.Sprintf("%s-put-%s", - stsName, jobSuffix) - indexName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, "PUT", indexName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getReplicaCount, Equal(origReplicas))) - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getReadyReplicas, Equal(origReplicas))) - - By("creating a job check the index") - deleteDBJobName := fmt.Sprintf("%s-get-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, "GET", indexName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/elasticsearch/ginkgo/go.mod b/.vib/elasticsearch/ginkgo/go.mod deleted file mode 100644 index 7344b38809e5b2..00000000000000 --- a/.vib/elasticsearch/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-elasticsearch-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/elasticsearch/ginkgo/go.sum b/.vib/elasticsearch/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/elasticsearch/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/elasticsearch/goss/goss.yaml b/.vib/elasticsearch/goss/goss.yaml deleted file mode 100644 index 76cb8fb7771895..00000000000000 --- a/.vib/elasticsearch/goss/goss.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /opt/bitnami/elasticsearch/config/elasticsearch.yml: - mode: "0644" - filetype: file - contents: - - /port.*{{ .Vars.containerPorts.transport }}/ - exists: true -/bitnami/elasticsearch/data: - mode: "0644" - filetype: directory - exists: true diff --git a/.vib/elasticsearch/runtime-parameters.yaml b/.vib/elasticsearch/runtime-parameters.yaml deleted file mode 100644 index d897dbf142db2d..00000000000000 --- a/.vib/elasticsearch/runtime-parameters.yaml +++ /dev/null @@ -1,23 +0,0 @@ -master: - replicaCount: 1 -coordinating: - replicaCount: 1 -data: - replicaCount: 1 -ingest: - enabled: true - replicaCount: 1 -service: - type: LoadBalancer - ports: - restAPI: 443 - transport: 9300 -sysctlImage: - enabled: true -containerPorts: - transport: 9300 -security: - enabled: true - elasticPassword: "ComplicatedPassword123!4" - tls: - autoGenerated: true diff --git a/.vib/elasticsearch/vib-publish.json b/.vib/elasticsearch/vib-publish.json deleted file mode 100644 index 44bb2b83cb188f..00000000000000 --- a/.vib/elasticsearch/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/elasticsearch" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/elasticsearch/vib-verify.json b/.vib/elasticsearch/vib-verify.json deleted file mode 100644 index 753c22b272fd77..00000000000000 --- a/.vib/elasticsearch/vib-verify.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/elasticsearch" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/elasticsearch" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "elasticsearch/goss/goss.yaml", - "vars_file": "elasticsearch/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-elasticsearch-master" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/elasticsearch/cypress" - }, - "endpoint": "lb-elasticsearch-tcp-rest-api", - "app_protocol": "HTTPS", - "env": { - "username": "elastic", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/elasticsearch/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "elasticsearch", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/envoy-gateway/goss/goss.yaml b/.vib/envoy-gateway/goss/goss.yaml deleted file mode 100644 index 48ce63699492db..00000000000000 --- a/.vib/envoy-gateway/goss/goss.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://envoy-gateway:{{ .Vars.service.ports.admin }}: - status: 200 - body: - - 'Envoy Gateway Admin Console' - http://127.0.0.1:{{ .Vars.containerPorts.admin }}: - status: 200 - http://envoy-gateway:{{ .Vars.service.ports.metrics }}/metrics: - status: 200 - body: - - /gatewayclass-status/ - # Use the deployed fixed service that points to the envoy instance. This verifies - # that envoy has the correct configuration - http://vib-envoy-gateway:80: - status: 200 - request-headers: - - "Host: bitnami-envoy.my" - body: - - /nginx/ -file: - /config/envoy-gateway.yaml: - exists: true - contents: - - /enableDumpConfig.*{{.Vars.overrideConfiguration.admin.enableDumpConfig}}/ diff --git a/.vib/envoy-gateway/runtime-parameters.yaml b/.vib/envoy-gateway/runtime-parameters.yaml deleted file mode 100644 index 6bc3d77c1181d3..00000000000000 --- a/.vib/envoy-gateway/runtime-parameters.yaml +++ /dev/null @@ -1,159 +0,0 @@ -# Taken from https://gateway.envoyproxy.io/latest/tasks/quickstart/ -extraDeploy: - # Begin example - - apiVersion: gateway.networking.k8s.io/v1 - kind: GatewayClass - metadata: - name: eg - spec: - controllerName: gateway.envoyproxy.io/gatewayclass-controller - - | - apiVersion: gateway.envoyproxy.io/v1alpha1 - kind: EnvoyProxy - metadata: - name: config - spec: - provider: - type: Kubernetes - kubernetes: - envoyDeployment: - pod: - {{- include "envoy-gateway.imagePullSecrets" . | nindent 10 }} - - | - apiVersion: gateway.networking.k8s.io/v1 - kind: Gateway - metadata: - name: eg - spec: - gatewayClassName: eg - infrastructure: - parametersRef: - group: gateway.envoyproxy.io - kind: EnvoyProxy - name: config - listeners: - - name: http - protocol: HTTP - port: 80 - - apiVersion: v1 - kind: ServiceAccount - metadata: - name: backend - - apiVersion: v1 - kind: Service - metadata: - name: backend - labels: - app: backend - service: backend - spec: - ports: - - name: http - port: 80 - targetPort: 8080 - selector: - app: backend - - apiVersion: apps/v1 - kind: Deployment - metadata: - name: backend - spec: - replicas: 1 - selector: - matchLabels: - app: backend - version: v1 - template: - metadata: - labels: - app: backend - version: v1 - spec: - serviceAccountName: backend - containers: - - image: bitnami/nginx - imagePullPolicy: Always - name: backend - ports: - - containerPort: 8080 - volumeMounts: - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - - name: empty-dir - mountPath: /opt/bitnami/nginx/conf - subPath: app-conf-dir - - name: empty-dir - mountPath: /opt/bitnami/nginx/logs - subPath: app-logs-dir - - name: empty-dir - mountPath: /opt/bitnami/nginx/tmp - subPath: app-tmp-dir - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - volumes: - - name: empty-dir - emptyDir: {} - - apiVersion: gateway.networking.k8s.io/v1 - kind: HTTPRoute - metadata: - name: backend - spec: - parentRefs: - - name: eg - hostnames: - - "bitnami-envoy.my" - rules: - - backendRefs: - - group: "" - kind: Service - name: backend - port: 80 - weight: 1 - matches: - - path: - type: PathPrefix - value: / - # End of the example - # HACK: As the created envoy service has a random-generated name, we - # create one with a fixed name using the expected selectors - - apiVersion: v1 - kind: Service - metadata: - name: vib-envoy-gateway - spec: - ports: - - name: http - port: 80 - targetPort: 10080 - selector: - gateway.envoyproxy.io/owning-gateway-name: eg -exposeAdmin: true -overrideConfiguration: - admin: - enableDumpConfig: true -containerPorts: - admin: 9881 -service: - ports: - admin: 80 - metrics: 8081 - type: LoadBalancer -metrics: - enabled: true -extraVolumes: - - name: empty-dir - emptyDir: {} -extraVolumeMounts: - - name: empty-dir - mountPath: /tmp -# Adding an extra initial delay to avoid race conditions with the -# deployment and goss stages -readinessProbe: - initialDelaySeconds: 60 diff --git a/.vib/envoy-gateway/vib-publish.json b/.vib/envoy-gateway/vib-publish.json deleted file mode 100644 index fffc559f774eea..00000000000000 --- a/.vib/envoy-gateway/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/envoy-gateway" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/envoy-gateway/vib-verify.json b/.vib/envoy-gateway/vib-verify.json deleted file mode 100644 index 35c1099f3f3aac..00000000000000 --- a/.vib/envoy-gateway/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/envoy-gateway" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/envoy-gateway" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "envoy-gateway/goss/goss.yaml", - "vars_file": "envoy-gateway/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-envoy-gateway" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/etcd/ginkgo/etcd_suite_test.go b/.vib/etcd/ginkgo/etcd_suite_test.go deleted file mode 100644 index ef33991df86d84..00000000000000 --- a/.vib/etcd/ginkgo/etcd_suite_test.go +++ /dev/null @@ -1,93 +0,0 @@ -package etcd_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestEtcd(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Etcd Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name string, port string, image string, args ...string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - command := []string{"etcdctl", "--user", "root:$(ETCD_ROOT_PASSWORD)"} - command = append(command, args[:]...) - - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "etcd", - Image: image, - Command: command, - Env: []v1.EnvVar{ - { - Name: "ETCDCTL_ENDPOINTS", - Value: fmt.Sprintf("%s:%s", stsName, port), - }, - { - Name: "ETCD_ROOT_PASSWORD", - Value: password, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/etcd/ginkgo/etcd_test.go b/.vib/etcd/ginkgo/etcd_test.go deleted file mode 100644 index 67f4c144d2a64b..00000000000000 --- a/.vib/etcd/ginkgo/etcd_test.go +++ /dev/null @@ -1,105 +0,0 @@ -package etcd_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("etcd", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a key-value is created and etcd is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "client") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "etcd") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new key-pair") - createKeyJobName := fmt.Sprintf("%s-put-%s", - stsName, jobSuffix) - keyName := fmt.Sprintf("k%s", jobSuffix) - valueName := fmt.Sprintf("v%s", jobSuffix) - - err = createJob(ctx, c, createKeyJobName, port, image, "put", keyName, valueName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to delete the key-pair") - deleteKeyJobName := fmt.Sprintf("%s-del-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteKeyJobName, port, image, "del", keyName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/etcd/ginkgo/go.mod b/.vib/etcd/ginkgo/go.mod deleted file mode 100644 index ae1258d28644ea..00000000000000 --- a/.vib/etcd/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-etcd-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/etcd/ginkgo/go.sum b/.vib/etcd/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/etcd/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/etcd/goss/goss.yaml b/.vib/etcd/goss/goss.yaml deleted file mode 100644 index 625727989848a3..00000000000000 --- a/.vib/etcd/goss/goss.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://etcd:{{ .Vars.service.ports.peer }}/version: - status: 200 -file: - /bitnami/etcd: - exists: true - filetype: directory - mode: "2775" -command: - {{- $auth := printf "--user=root --password=%s" .Vars.auth.rbac.rootPassword }} - {{- $svc_endpoint := printf "--endpoints=etcd:%d" .Vars.service.ports.client }} - cluster-members: - exec: etcdctl {{ $auth }} {{ $svc_endpoint }} member list - exit-status: 0 - stdout: - {{- range $e, $i := until .Vars.replicaCount }} - - "etcd-{{ $i }}" - {{- end }} - {{- range $e, $i := until .Vars.replicaCount }} - {{- $key := printf "key_%s" (randAlpha 5) }} - {{- $value := printf "value_%s" (randAlpha 5) }} - manage-db-{{ $i }}: - exec: etcdctl {{ $auth }} {{ $svc_endpoint }} put {{ $key }} {{ $value }} && etcdctl {{ $auth }} --endpoints=etcd-{{ $i }}.etcd-headless:{{ $.Vars.containerPorts.client }} get {{ $key }} - exit-status: 0 - stdout: - - "{{ $key }}" - {{- end }} - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/etcd/runtime-parameters.yaml b/.vib/etcd/runtime-parameters.yaml deleted file mode 100644 index 935bc25022d3c3..00000000000000 --- a/.vib/etcd/runtime-parameters.yaml +++ /dev/null @@ -1,18 +0,0 @@ -auth: - rbac: - rootPassword: ComplicatedPassword123!4 -replicaCount: 3 -containerPorts: - client: 2378 - peer: 2381 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - type: LoadBalancer - ports: - client: 80 - peer: 2381 \ No newline at end of file diff --git a/.vib/etcd/vib-publish.json b/.vib/etcd/vib-publish.json deleted file mode 100644 index 768da24ae353de..00000000000000 --- a/.vib/etcd/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/etcd" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/etcd/vib-verify.json b/.vib/etcd/vib-verify.json deleted file mode 100644 index b7be22cf79bfb5..00000000000000 --- a/.vib/etcd/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/etcd" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/etcd" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "etcd/goss/goss.yaml", - "vars_file": "etcd/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-etcd" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/etcd/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "etcd", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/external-dns/cypress/cypress.config.js b/.vib/external-dns/cypress/cypress.config.js deleted file mode 100644 index e36fc00336e10e..00000000000000 --- a/.vib/external-dns/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/external-dns/cypress/cypress/e2e/external_dns.cy.js b/.vib/external-dns/cypress/cypress/e2e/external_dns.cy.js deleted file mode 100644 index 1c7fac878a0da7..00000000000000 --- a/.vib/external-dns/cypress/cypress/e2e/external_dns.cy.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('can check metrics endpoint', () => { - cy.request({ - method: 'GET', - url: '/metrics', - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body).to.contain('external_dns_registry_records'); - }); -}); diff --git a/.vib/external-dns/cypress/cypress/support/e2e.js b/.vib/external-dns/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/external-dns/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/external-dns/goss/goss.yaml b/.vib/external-dns/goss/goss.yaml deleted file mode 100644 index 99efa04fed55c5..00000000000000 --- a/.vib/external-dns/goss/goss.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://127.0.0.1:{{ .Vars.containerPorts.http }}/metrics: - status: 200 -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if and .Vars.serviceAccount.create .Vars.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/external-dns/runtime-parameters.yaml b/.vib/external-dns/runtime-parameters.yaml deleted file mode 100644 index ffce3b014216e7..00000000000000 --- a/.vib/external-dns/runtime-parameters.yaml +++ /dev/null @@ -1,18 +0,0 @@ -containerPorts: - http: 7980 -provider: inmemory -service: - ports: - http: 80 - type: LoadBalancer -serviceAccount: - create: true - automountServiceAccountToken: true -rbac: - create: true - clusterRole: true -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - runAsUser: 1002 diff --git a/.vib/external-dns/vib-publish.json b/.vib/external-dns/vib-publish.json deleted file mode 100644 index ae6aa70c2807c2..00000000000000 --- a/.vib/external-dns/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/external-dns" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/external-dns/vib-verify.json b/.vib/external-dns/vib-verify.json deleted file mode 100644 index 63f239d3c57885..00000000000000 --- a/.vib/external-dns/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/external-dns" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/external-dns" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "external-dns/goss/goss.yaml", - "vars_file": "external-dns/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-external-dns" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/external-dns/cypress" - }, - "endpoint": "lb-external-dns-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/flink/cypress/cypress.config.js b/.vib/flink/cypress/cypress.config.js deleted file mode 100644 index 2d02e4533ed32e..00000000000000 --- a/.vib/flink/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 90000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/flink/cypress/cypress/e2e/flink.cy.js b/.vib/flink/cypress/cypress/e2e/flink.cy.js deleted file mode 100644 index efb6d923247cb4..00000000000000 --- a/.vib/flink/cypress/cypress/e2e/flink.cy.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('should show available task slots', () => { - cy.visit('/') - cy.contains('div.field', 'Total Task Slots').within(() => { - cy.contains('span', /^\d+$/).should(($span) => { - const num = parseInt($span.text()); - expect(num).to.be.greaterThan(0); // Asserts that the number in the second span is greater than 0 - }); - }); -}) - -it('should show completed jobs', () => { - cy.visit('/') - cy.contains('span', 'FINISHED') -}) - diff --git a/.vib/flink/cypress/cypress/support/e2e.js b/.vib/flink/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/flink/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/flink/goss/goss.yaml b/.vib/flink/goss/goss.yaml deleted file mode 100644 index 41602427a8f8e3..00000000000000 --- a/.vib/flink/goss/goss.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -addr: - # Container ports - tcp://localhost:{{ .Vars.jobmanager.containerPorts.rpc }}: - reachable: true - tcp://localhost:{{ .Vars.jobmanager.containerPorts.blob }}: - reachable: true - tcp://localhost:{{ .Vars.jobmanager.containerPorts.http }}: - reachable: true - # LB reachability - tcp://flink-jobmanager:{{ .Vars.jobmanager.service.ports.blob }}: - reachable: true - tcp://flink-taskmanager:{{ .Vars.taskmanager.service.ports.rpc }}: - reachable: true -command: - {{- $uid := .Vars.jobmanager.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.jobmanager.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/flink/runtime-parameters.yaml b/.vib/flink/runtime-parameters.yaml deleted file mode 100644 index 60da4beb281a80..00000000000000 --- a/.vib/flink/runtime-parameters.yaml +++ /dev/null @@ -1,125 +0,0 @@ -jobmanager: - containerPorts: - rpc: 6555 - http: 8078 - blob: 9191 - service: - type: LoadBalancer - ports: - rpc: 6557 - http: 80 - # Must be equal to the containerPort.blob. More info in the values documentation. - blob: 9191 - podSecurityContext: - fsGroup: 1002 - containerSecurityContext: - runAsUser: 1002 -taskmanager: - service: - ports: - rpc: 14272 -extraDeploy: - - | - apiVersion: batch/v1 - kind: Job - metadata: - name: flink-job-runner - spec: - template: - spec: - restartPolicy: OnFailure - containers: - - name: job-runner - image: docker.io/bitnami/flink:latest - command: - - /bin/bash - args: - - -ec - - | - #!/bin/bash - - set -o errexit - set -o nounset - set -o pipefail - - . /opt/bitnami/scripts/libos.sh - - # Set the endpoint URL - host=flink-jobmanager - port={{ .Values.jobmanager.service.ports.rpc }} - - jobmanager_ready() { - # Test the TCP connection with a timeout - if timeout 5 bash -c " /tmp/ready - info "Waiting for the Jobmanager instance" - if ! retry_while "jobmanager_ready" 12 30; then - error "Could not connect to the Jobmanager instance" - exit 1 - else - info "Jobmanager ready! Running job in 10 seconds" - sleep 10 - while true - do - ./bin/flink run --jobmanager $host:$port -Drest.port={{ .Values.jobmanager.service.ports.http }} ./examples/streaming/WordCount.jar --input README.txt - echo "1" > /tmp/ready - # Adding a sleep to not overload the deployment - sleep 10 - done - fi - startupProbe: - exec: - command: - - sh - - -c - - | - if [ $(cat /tmp/ready) = "1" ]; then - exit 0 - else - exit 1 - fi - initialDelaySeconds: 40 - periodSeconds: 20 - timeoutSeconds: 1 - failureThreshold: 15 - successThreshold: 1 - securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.jobmanager.containerSecurityContext "context" $) | nindent 12 }} - volumeMounts: - - name: flink-config-volume - mountPath: /opt/bitnami/flink/conf - - name: tmp - mountPath: /tmp - volumes: - - name: flink-config-volume - configMap: - name: flink-job-config - items: - - key: config.yaml - path: config.yaml - - name: tmp - emptyDir: {} - - - | - apiVersion: v1 - kind: ConfigMap - metadata: - name: flink-job-config - data: - config.yaml: |+ - # These parameters are required for Java 17 support. - env: - java: - opts: - all: --add-exports=java.base/sun.net.util=ALL-UNNAMED --add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED - jobmanager.rpc.address: flink-jobmanager - jobmanager.rpc.port: {{ .Values.jobmanager.service.ports.rpc }} - rest.address: flink-jobmanager - rest.bind-address: 0.0.0.0 - blob.server.port: {{ .Values.jobmanager.service.ports.blob }} - rest.port: {{ .Values.jobmanager.service.ports.http }} diff --git a/.vib/flink/vib-publish.json b/.vib/flink/vib-publish.json deleted file mode 100644 index 7f12492fc72806..00000000000000 --- a/.vib/flink/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/flink" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/flink/vib-verify.json b/.vib/flink/vib-verify.json deleted file mode 100644 index 45df864f8557e5..00000000000000 --- a/.vib/flink/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/flink" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/flink" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "flink/goss/goss.yaml", - "vars_file": "flink/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-flink-jobmanager" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/flink/cypress" - }, - "endpoint": "lb-flink-jobmanager-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/fluent-bit/goss/goss.yaml b/.vib/fluent-bit/goss/goss.yaml deleted file mode 100644 index 3dfe82d82b717b..00000000000000 --- a/.vib/fluent-bit/goss/goss.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - # Container ports - http://localhost:{{ .Vars.containerPorts.http }}/: - status: 200 - body: - - /version.*{{ .Env.APP_VERSION }}/ - # Service ports - http://fluent-bit:{{ .Vars.service.ports.http }}/: - status: 200 - body: - - /version.*{{ .Env.APP_VERSION }}/ -file: - /logs/cpu.0: - exists: true - filetype: file - contents: - - "cpu.0:" -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/fluent-bit/runtime-parameters.yaml b/.vib/fluent-bit/runtime-parameters.yaml deleted file mode 100644 index 773873b7707593..00000000000000 --- a/.vib/fluent-bit/runtime-parameters.yaml +++ /dev/null @@ -1,27 +0,0 @@ -containerPorts: - http: 2378 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -serviceAccount: - create: true -automountServiceAccountToken: true -service: - type: LoadBalancer - ports: - http: 80 -config: - outputs: | - [OUTPUT] - Name file - Match * - Path /logs -extraVolumeMounts: - - name: logs - mountPath: /logs -extraVolumes: - - name: logs - emptyDir: {} diff --git a/.vib/fluent-bit/vib-publish.json b/.vib/fluent-bit/vib-publish.json deleted file mode 100644 index 9dc6ebb5c8b622..00000000000000 --- a/.vib/fluent-bit/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/fluent-bit" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/fluent-bit/vib-verify.json b/.vib/fluent-bit/vib-verify.json deleted file mode 100644 index 47d9931747fa39..00000000000000 --- a/.vib/fluent-bit/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/fluent-bit" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/fluent-bit" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "fluent-bit/goss/goss.yaml", - "vars_file": "fluent-bit/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-fluent-bit" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/fluentd/goss/goss-wait.yaml b/.vib/fluentd/goss/goss-wait.yaml deleted file mode 100644 index 1e85445cbf433b..00000000000000 --- a/.vib/fluentd/goss/goss-wait.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - # Fluentd requires to be stable before tracking log entries, - # increasing the resiliency of the tests. - wait-to-be-available: - exec: "sleep 300" - exit-status: 0 - timeout: 310000 diff --git a/.vib/fluentd/goss/goss.yaml b/.vib/fluentd/goss/goss.yaml deleted file mode 100644 index 023a89eee64239..00000000000000 --- a/.vib/fluentd/goss/goss.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /opt/bitnami/fluentd/conf/fluentd-inputs.conf: - exists: true - filetype: symlink - contents: - - "type http" - - "type kubernetes_metadata" - - "path /var/log/containers/*.log" - /var/log: - exists: true - filetype: directory - /var/lib/docker/containers: - exists: true - filetype: directory -command: - # The Chart is configured to keep track of the logs in the /var/log/containers directory. Creating a log file - # should trigger the Forwarder to send the contents to the Aggregator. - # - # The integration can be verified as the Forwarder pods have access to the logs of every pod in the cluster, so - # we check that the Aggregator is aware of the newly created file. - {{ with (printf "test-%s.log" (randAlpha 5)) }} - forward-aggregator-integration: - exec: "cd /var/log/containers && echo '{\"time\": \"2022-07-29T11:33:47.408955753Z\", \"data\": \"zwiebel\"}' > {{.}} && sleep 90 && find . -name \"*fluentd-0*\" -exec tail -n 500 {} \\;" - exit-status: 0 - stdout: - - "{{.}}" - timeout: 120000 - {{end}} diff --git a/.vib/fluentd/runtime-parameters.yaml b/.vib/fluentd/runtime-parameters.yaml deleted file mode 100644 index 02790f5255def0..00000000000000 --- a/.vib/fluentd/runtime-parameters.yaml +++ /dev/null @@ -1,6 +0,0 @@ -aggregator: - enabled: true -forwarder: - enabled: true -varlog: - readonly: false diff --git a/.vib/fluentd/vib-publish.json b/.vib/fluentd/vib-publish.json deleted file mode 100644 index f8b078c3c37d56..00000000000000 --- a/.vib/fluentd/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/fluentd" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/fluentd/vib-verify.json b/.vib/fluentd/vib-verify.json deleted file mode 100644 index 5e57b3f4e2ac85..00000000000000 --- a/.vib/fluentd/vib-verify.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/fluentd" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/fluentd" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4", - "worker_nodes_instance_count": 1 - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "wait": { - "file": "fluentd/goss/goss-wait.yaml" - }, - "tests_file": "fluentd/goss/goss.yaml", - "remote": { - "pod": { - "workload": "ds-fluentd" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/flux/goss/goss-wait.yaml b/.vib/flux/goss/goss-wait.yaml deleted file mode 100644 index 52fa1f1c2ac6fe..00000000000000 --- a/.vib/flux/goss/goss-wait.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -addr: - {{ if not ( has "air-gapped" .Vars.target_platform_properties ) }} - {{- $chartReleaseName := (index .Vars.extraDeploy 3).metadata.name }} - tcp://{{ $chartReleaseName }}:80: - reachable: true - timeout: 2000 - tcp://podinfo:9898: - reachable: true - timeout: 2000 - {{ end }} - tcp://127.0.0.1:{{ .Vars.sourceController.containerPorts.http }}: - reachable: true - timeout: 2000 diff --git a/.vib/flux/goss/goss.yaml b/.vib/flux/goss/goss.yaml deleted file mode 100644 index 452784dbe97d0c..00000000000000 --- a/.vib/flux/goss/goss.yaml +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $uid := .Vars.sourceController.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.sourceController.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{- if .Vars.sourceController.containerSecurityContext.enabled }} - check-no-capabilities: - exec: cat /proc/1/status - exit-status: 0 - stdout: - - "CapInh: 0000000000000000" - - "CapPrm: 0000000000000000" - - "CapEff: 0000000000000000" - - "CapBnd: 0000000000000000" - - "CapAmb: 0000000000000000" - {{- end }} - {{ if .Vars.sourceController.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*flux-source-controller/ - {{ end }} - -{{- $podinfoGitRepo := (index .Vars.extraDeploy 0).metadata.name }} -{{- $chartGitRepo := (index .Vars.extraDeploy 2).metadata.name }} -{{- $chartReleaseName := (index .Vars.extraDeploy 3).metadata.name }} -{{- $receiverName := (index .Vars.extraDeploy 4).metadata.name }} -{{- $imageRepositoryName := (index .Vars.extraDeploy 5).metadata.name }} -{{- $imageUpdateAutomationName := (index .Vars.extraDeploy 6).metadata.name }} -file: - {{ .Vars.sourceController.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root - # Verify the two cloned git repositories - {{ if not ( has "air-gapped" .Vars.target_platform_properties ) }} - {{ .Vars.sourceController.persistence.mountPath }}/gitrepository/{{ .Env.RUNTIME_NAMESPACE }}/{{ $chartGitRepo }}: - exists: true - filetype: directory - mode: "2700" - {{ .Vars.sourceController.persistence.mountPath }}/gitrepository/{{ .Env.RUNTIME_NAMESPACE }}/{{ $podinfoGitRepo }}: - exists: true - filetype: directory - mode: "2700" - {{ end }} -http: - # Source Controller - http://127.0.0.1:{{ .Vars.sourceController.containerPorts.http }}: - status: 200 - http://127.0.0.1:{{ .Vars.sourceController.containerPorts.metrics }}/metrics: - status: 200 - http://127.0.0.1:{{ .Vars.sourceController.containerPorts.health }}/healthz: - status: 200 - http://flux-source-controller:{{ .Vars.sourceController.service.ports.http }}/: - status: 200 - http://flux-source-controller-metrics:{{ .Vars.sourceController.metrics.service.ports.metrics }}/metrics: - status: 200 - # Kustomize Controller - http://flux-kustomize-controller-metrics:{{ .Vars.kustomizeController.metrics.service.ports.metrics }}/metrics: - status: 200 - # Helm Controller - http://flux-helm-controller-metrics:{{ .Vars.helmController.metrics.service.ports.metrics }}/metrics: - status: 200 - # The objects consumed by these controllers appear in the metrics. By checking the metrics we can ensure the RBAC is correct - http://flux-notification-controller-metrics:{{ .Vars.notificationController.metrics.service.ports.metrics }}/metrics: - status: 200 - body: - - /Receiver.*{{ $receiverName }}/ - http://flux-reflector-controller-metrics:{{ .Vars.imageReflectorController.metrics.service.ports.metrics }}/metrics: - status: 200 - body: - - /ImageRepository.*{{ $imageRepositoryName }}/ - http://flux-automation-controller-metrics:{{ .Vars.imageAutomationController.metrics.service.ports.metrics }}/metrics: - status: 200 - body: - - /ImageUpdateAutomation.*{{ $imageUpdateAutomationName }}/ - # Ensure that the deployment done by the helm controller worked - {{ if not ( has "air-gapped" .Vars.target_platform_properties ) }} - http://{{ $chartReleaseName }}/: - status: 200 - body: - - /Welcome to nginx/ - # Ensure that the deployment done by the kustomize controller worked - # This name is hardcoded in the git repository - http://podinfo:9898: - status: 200 - body: - - /greetings from podinfo/ - {{ end }} diff --git a/.vib/flux/runtime-parameters.yaml b/.vib/flux/runtime-parameters.yaml deleted file mode 100644 index a0425737db3bfe..00000000000000 --- a/.vib/flux/runtime-parameters.yaml +++ /dev/null @@ -1,201 +0,0 @@ -sourceController: - enabled: true - containerPorts: - health: 8772 - http: 4567 - metrics: 4889 - service: - type: LoadBalancer - ports: - http: 80 - metrics: - enabled: true - service: - ports: - metrics: 8881 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - persistence: - enabled: true - mountPath: /test/bitnami/path - serviceAccount: - create: true - automountServiceAccountToken: true - rbac: - create: true - -kustomizeController: - enabled: true - metrics: - enabled: true - service: - ports: - metrics: 8882 - rbac: - create: true - -helmController: - enabled: true - metrics: - enabled: true - service: - ports: - metrics: 8883 - rbac: - create: true - -notificationController: - enabled: true - metrics: - enabled: true - service: - ports: - metrics: 8884 - rbac: - create: true - -imageAutomationController: - enabled: true - metrics: - enabled: true - service: - ports: - metrics: 8885 - rbac: - create: true - -imageReflectorController: - enabled: true - metrics: - enabled: true - service: - ports: - metrics: 8886 - rbac: - create: true - -extraDeploy: - # This is for kustomize-controller and source-controller - # Source: https://fluxcd.io/flux/components/kustomize/kustomization/ - - apiVersion: source.toolkit.fluxcd.io/v1 - kind: GitRepository - metadata: - name: vib-podinfo - namespace: '{{ include "common.names.namespace" . }}' - annotations: - "helm.sh/hook": post-install - spec: - interval: 5m - url: https://github.com/mdhont/podinfo - ref: - branch: '{{ ternary "openshift" "master" (.Capabilities.APIVersions.Has "security.openshift.io/v1") }}' - - apiVersion: kustomize.toolkit.fluxcd.io/v1 - kind: Kustomization - metadata: - name: vib-podinfo - namespace: '{{ include "common.names.namespace" . }}' - annotations: - "helm.sh/hook": post-install - spec: - interval: 10m - targetNamespace: '{{ include "common.names.namespace" . }}' - sourceRef: - kind: GitRepository - name: vib-podinfo - path: "./kustomize" - prune: false - # This is for helm-controller and source-controller - # We use bitnami charts for not causing conflicts with the deployment above - - apiVersion: source.toolkit.fluxcd.io/v1 - kind: GitRepository - metadata: - name: vib-bitnami-charts - namespace: '{{ include "common.names.namespace" . }}' - annotations: - "helm.sh/hook": post-install - spec: - interval: 5m0s - url: https://github.com/bitnami/charts - ref: - branch: main - - apiVersion: helm.toolkit.fluxcd.io/v2beta2 - kind: HelmRelease - metadata: - name: vib-nginx - namespace: '{{ include "common.names.namespace" . }}' - annotations: - "helm.sh/hook": post-install - spec: - interval: 5m - chart: - spec: - chart: ./bitnami/nginx - sourceRef: - kind: GitRepository - name: vib-bitnami-charts - namespace: '{{ include "common.names.namespace" . }}' - interval: 1m - values: - global: - compatibility: - openshift: - adaptSecurityContext: auto - fullnameOverride: vib-nginx - persistence: - enabled: false - # This is for image-notification-controller. We will use the metrics to ensure that it is consumed - # and therefore RBAC is correct. The values do not need to be correct - # Source: https://fluxcd.io/flux/components/notification/receiver/ - - apiVersion: notification.toolkit.fluxcd.io/v1 - kind: Receiver - metadata: - name: vib-github-receiver - namespace: '{{ include "common.names.namespace" . }}' - annotations: - "helm.sh/hook": post-install - spec: - type: github - events: - - "ping" - - "push" - secretRef: - name: receiver-token - resources: - - apiVersion: source.toolkit.fluxcd.io/v1 - kind: GitRepository - name: bitnami-charts - namespace: '{{ include "common.names.namespace" . }}' - # This is for image-reflector-controller. We will use the metrics to ensure that it is consumed - # and therefore RBAC is correct. The values do not need to be correct - # Source: https://fluxcd.io/flux/components/image/imagerepositories/ - - apiVersion: image.toolkit.fluxcd.io/v1beta2 - kind: ImageRepository - metadata: - name: vib-image-rep-podinfo - namespace: '{{ include "common.names.namespace" . }}' - annotations: - "helm.sh/hook": post-install - spec: - image: stefanprodan/podinfo - interval: 1h - provider: generic - # This is for image-automation-controller. We will use the metrics to ensure that it is consumed - # and therefore RBAC is correct. The values do not need to be correct - # Source: https://fluxcd.io/flux/components/image/imagerepositories/ - - apiVersion: image.toolkit.fluxcd.io/v1beta1 - kind: ImageUpdateAutomation - metadata: - name: vib-update-automation - namespace: '{{ include "common.names.namespace" . }}' - annotations: - "helm.sh/hook": post-install - spec: - interval: 5m - sourceRef: - kind: GitRepository - name: '{{ include "common.names.namespace" . }}' - namespace: bitnami-charts diff --git a/.vib/flux/vib-publish.json b/.vib/flux/vib-publish.json deleted file mode 100644 index 4849a3d7778621..00000000000000 --- a/.vib/flux/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/flux" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/flux/vib-verify.json b/.vib/flux/vib-verify.json deleted file mode 100644 index 4c2fa098b27130..00000000000000 --- a/.vib/flux/vib-verify.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/flux" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/flux" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "tests_file": "flux/goss/goss.yaml", - "vars_file": "flux/runtime-parameters.yaml", - "resources": { - "path": "/.vib" - }, - "remote": { - "pod": { - "workload": "deploy-flux-source-controller" - } - }, - "wait": { - "file": "flux/goss/goss-wait.yaml" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/ghost/cypress/cypress.config.js b/.vib/ghost/cypress/cypress.config.js deleted file mode 100644 index 32546a157e198f..00000000000000 --- a/.vib/ghost/cypress/cypress.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - env: { - email: 'vim-tests@example.com', - username: 'bitnamiTest', - password: 'Complicated123!4', - }, - hosts: { - 'vmware-ghost.my': '{{ TARGET_IP }}', - }, - defaultCommandTimeout: 60000, - e2e: { - setupNodeEvents(on, config) {}, - }, -} diff --git a/.vib/ghost/cypress/cypress/e2e/ghost.cy.js b/.vib/ghost/cypress/cypress/e2e/ghost.cy.js deleted file mode 100644 index 8ec8d94af7ff51..00000000000000 --- a/.vib/ghost/cypress/cypress/e2e/ghost.cy.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows to create and publish a new post with an image', () => { - cy.login(); - cy.visit('/ghost/#/posts'); - cy.get('span').contains('New post').click(); - cy.fixture('posts').then((posts) => { - cy.get('textarea[placeholder="Post title"]').type( - `${posts.newPost.title}-${random}` - ); - cy.get('div[contenteditable="true"]').first().type(posts.newPost.content, { - force: true, - }); - cy.get('[type="file"]').selectFile( - 'cypress/fixtures/images/test_image.jpeg', { - force: true, - }); - }); - // Publishing a post needs 3 steps - // Step 1: Open drop-down menu - cy.contains('Publish').click(); - // Step 2: Select the option from the menu - cy.get('div[class=gh-publish-cta]').within(() => { - cy.contains('Continue').click(); - }); - // Step 3: Confirmation pop-up - cy.get('div[class=gh-publish-cta]').within(() => { - cy.contains('Publish').click(); - }); - cy.fixture('posts').then((posts) => { - // Avoid new tab - cy.contains('a', `${posts.newPost.title}-${random}`) - .invoke('attr', 'href') - .then((url) => { - cy.visit(url); - cy.contains(Cypress.env('username')); - cy.contains(posts.newPost.content); - cy.get(`img[alt='${posts.newPost.title}-${random}']`); - }); - }); -}); diff --git a/.vib/ghost/cypress/cypress/fixtures/images/test_image.jpeg b/.vib/ghost/cypress/cypress/fixtures/images/test_image.jpeg deleted file mode 100644 index 1d2a61929011dc51dc0717f675ba868a02bcfd85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12265 zcmb_?1yEdDv+l+v*aY{%-Q5Z94#72OfFOZDa0vttZh_$L!QCOa3_3vrA&}r2^i6X9 zlXLE^SM}=Ey*;pZPp|d0tXjKQSMPaPd{_r?l;jlU05~`RfP;O2hfVk#MQLd>4J~y! zMHSiK1Mu%0t(@EuIRU`Q`K6ndycAg9zz_`li!7|%U7l!YsQgRx-`I=!U)lj+mhG3W z|2Fvl`ugaZwYwF}K~&g8K`R%xmoQ!u#;d)0>GF$z2jlUq>@1$a_yQQu>IQQV#!vl{ zTmHpw{o-x^;;(-3ZaP}h0055xR?C=9{*lpU0RVOg05o>~BeN_7fF{@)6Ro;f zxLN$Rg8;k2+t>iWNihIm8UO$;Y^~9a{-@)Atv5{fFa1FN0s!dv0D#Ik0HkLC06oke zw($cLkOq(t5D^g(kYE=iBqU@M3{(^tVLy6=h5^EU{1}7{0^t&n5#r*J;DbO!R751? z2ynlisJ{sr1rZ4q0shx0F-#5{{Cnir9S#8z3I1Ujz(9ZjaS(7|k`~E- zPx#;Av7?!pmz`wkzL#?-U2EuNJ8|c#uKyR+a6y>on>`eM-@FfVg$_L_&D1$e3_ARL zJ2Y88+Eqkfz9ea^;d1^&@#``9L#I`_)2eB81t0^xNRHakJv$h9UHC-GulfO)%@T7Y zBB-b~<1q8Mwq1Xn@~kx?>C1v0hEL!hJlw`%Y^;U9@a^Q1j@DDNwj+08Ffg}|&4*!@ zo1bw4p$q`srCkUghAe2j{<7sJoCDj4{~@BEMBlz*_mxj5ZMt<)9Bz!S4t3{N)_Q05d@K3@>{En~*eSG!iOp??SBr_n$Hfot1xx;cTW$H1l|i3h zdx`r;F~vjMAAlRxEQP{KMFxEka=WLAnvLrF|!{CWH} zInn;sK|{7X{j!&qvnsFTQw+#vUUpX1xS_>zo}6$Z{J^B4nGxy`v>P0^czCSzb*5;) zw=C<j8xg6Y#q2z~?%D!eQU-ht2`Vkh<=zU7zIURd=709b07OAX zTjVt;Lhy9n`YVaCUsLYS{pvBA8Aq}_fqmLznl{zqh>Fh}*BLQ!T^ol437ZrWnd*H% z{*DeAI}>BYf2adhzUNFiYjY)HE{93JRp1m zDjIIiKx#TJSRO-#r8hWOMg#0We{CrEp*z*?6xsQ-cHGCWu{$mqeFV~mLQk)^nDnTe z{S6P)6Du+eM(GAG6`J9`kWAWe*7m<8Jr~{y>zUTZ{Y5nHX?xI}CU6GRmkWlL3hTyk zGA~WsWcK2PD@SsCPAXJ(Z3J4O-&2vOEk2mNB5RI}%_e|79kj>2Khluhwcl3pSyh3Ifk^p-`b`yTGcPrRoe{P#M)i$`vtuHGsO1E z#iMW$$M-$F;JasKbOQ@V%hwM8sKx&(+blMJ4~tY@a!@()fMh{>qv8CX#_jG{w2NFG zLdKsR6!8GG^HqiSJ^y|yw|%qe?JpcxA}ChrTsoO!V|;_;H~@)=M%K+C?;K+V{MkzDi6Dk|}e*|3Q6sFJ=*a$sxzjZ^eGH zkG%ADb#m*Dtqg?PM74-$HP%sylYYRGOCnZOI2mkL9OKdvS@KH09@5gAAf&mN&FA~% z^8&$=XJm?a>oCns?=TpYsjB>*_b8EIumN@4$$m~Grg--F=iJdAvM>wIa21E1&=3TA zZW1zm4z%{KI7cewd9G>9&ZIl0EH4FO7cYt$iA8g(R+i6WvK2WX%Hwm*%rCyUV}yIl z8E(IQOW&OFrTjT|8}+C@=aX|EG`Nq)*gw2p-Tkt1U187OlT9_4zVW3iY_04EMchp5 zy;EoIJV{KhP|12(Yc5Z(D6P{*!&*gtZ-HXO%4_WKarNx+l@jPaQ%Mr~+tNG5e`|}t zzxR5>?AhTi!`DyE#+x9*Yf>D^WqbZ$oO1?)g>_MhnPhz<{oW?ikc~s3%t@13 zF|oL>?b0_CPeWVSFjeYmO9n{|(IS!b!J@5(y~PwnLqYrU{KDvITRO5*9@pug@#)OtQi6*N zQ~+skbp;}dMFale1kqFkvVV5*DWxgZeswhl);+g*g39|e@UTs!P4m(8D63N}k8J#5 ze6**p!aY50d_^3s*SwHbGHrt3jDb}IXk71hz4OI@1aeE&ftpV~7Ppmx==cer=BJ$( zS=z_yKNpt7ZFs%X`QpbEwY1Bu@yt=umRO~|v=Zt-Dy*fPr=v761|;vM<&SHV!Ez~5 zjV+$?-rYn4K2EroHPp6; z#LaQM)~lXylJHF7O-YkVa;WWn018|q>*YG;8W148R|k@TnjFH)Ad z?%SBQ+;s11$)ZfcU=-WeD_Y`&km15Tj8C;ju*=6MiN!eO_&mW4=RGX=nG~pmM=_o zvYu*;esn~uT(SrbZSji2C z2rIY$BG`cj;DD&OxFr!`v2lX6{u3GeugLB@8KaYr6AFS-%W&c|z1mC_@EeO`68)1* z1y{;cah6eZOrCE)Z=j95(T|373X)Vy8mciIp^)nMtM5yG9XcdPjHtKYrNxjp zeMBJP_3>E1z=){0-WMrumGxG&X8<=-zF+?g&!$#OvRWON{z4)BqGVmCR*;~p@@+mIg0)*rSZH!Mu+ZS)5z$eQ z5Ydo+1@|j75G*Pxt|vHPYE3N*SGU?88g5Aq_ux7_si632Bx&tjd|FN(ORK<;4PL&4 z#H0V5;K&lN6I^FIEf9I;IrYcU`4C-e%VUq4xhL@<2<<+t#&X6>1Q*px7plW;f_{%q zUga*@(U4 zCdb@ofrm@PgOvs~*mU_mcfdW-qvJ#$tq)h=oW5jeuw_sBexCB{wK^8Z#*y98F`+nq zA_!z^)qMQ1cUu*)|5{*YQ*^b}=jw))qhl z>LJOC>5X<9tSWZRr$?&3H}ck0#L36ZIZni6Iicl8NV^G|yi&)-KJ{a`d8AJMGt(>Y z=-TeOF_tvZp*|qXwq*?SQ0epL{Tjo|W6obD0_xbD$g=2)`}opl{rB1^h;H(sTL;7{foRsM62cS8>Un7CxsdhUBJ;V03{A2NN7e7UcBf@`nCid~u z;c>+{!&RJ)7^T0$B0Exg`rerji>e!Aa|?@1ee^7r)^B?Me_fiAfhJYI3BYV5daR|{f|T96W?(VucA zQ%=42^?@}F3ul8qDzkD%7pdeft~{Lmrh@q*N==R10@J`o-**b<0;yF{$v ztkK&#kNIpA3EHd{^?d-m^b#?_&aUk)JN+YsX)k!KdRI|f?vKl}S@k_ol9sQ-o4t)A zp3b@IWsA%0kYW=lV#JWftWQN<1Ve8JPVubnvbzpyj_{sk$h{Kz^yM|tPtuh}^sSTa z7Y38fk*#6c^(5TuYB8-S)^}48;sI4X}QV*LLU$J(#7X2zIX4nTsWU|1wd(9D_$rSj!=ob~W3%OUIvL8^~%C`yx)y zVkmOsxLdEaof{YA)kXM0gwsix97;Lg8CH`uAJu7 zuJJe!tQi#a%aWdXP6xZ%lJt;X?@~y6YiwCf>Q_gv@;(6Q68MF^1wm+tpCJkD-|1hD zmguoG_{Yo1n#Xf6i2T&-M={7ZGh&}sgtN+hzfDu^S`_|>UmoiGLDx3zF8PHstTZp_ zq{RCOx>VZkpdC>#T9)0xM;ScfLFZAag;A(nf;m>_Ft124IOR88d9hRc@@l*9R@&mB+0N}Icx`n&V zf32YO^UvsSJf{4B5Puo3Sn~E}tpDD_s;)vn%=~72TYnXDdhy=u)kIB&rwz-`C>IN= zRRpek-6(%g%`g9~Qpru_Mo;9vS%Dt*2Bf2JL*FdAlMk8THn3%Qhwq|YCoU29}UI9T|L+EY=U@U``7q=J*jx%;Qf1dJ$=h>z3s5_go5#z z#bwNQRjx@I2LOAEi6-%8L1?Y4){MCQ`H#Nm-E7d-&@ygS&^(b&tty@Zh{x@Pe%0Ky ztoc2;@@H}UH&>%yG_CTrdXNo-Tfa+E8(4O9)6W-$5v5|0YJxw{y{*L$Ijo-5uMQLS z!tOH+Y3R)F_BjtZ6iBx6(Vkp3L|fo>s@KTGeuD;HOUsy8)F{41j2sW|WAu-o5BPwf zNRLBc<>ub>{RyE4eD6m~mrpeAhj~}}ypFv?Nvgc38`8s2HFsqUmK0tBOr=mFhIQwglhJCxqB4)(OY@MF$uo_F@<{j%A-i|qCv(2%2RYPWHF ziuyOs5)2o{WKlVH6S!*3LIf5EF0S{lXQGXTC9|vQnC?Ge#Yt3Fe0ae%#QYJnFJxw< z6l#zcZ|p%b;tE=8tPhh#o9QeYP77toI4hedGqRpo#U${U@ZUc_BI+x3tv9VW9W1Ua zJ07lHbT|<%S*nwe2M$D+9rl@&)w+87nfNUafsou8oV zq`KjYL5pb~W^d}nGZcA5=~RbLxwkK>3hpv#R-C*d@~f9^4@javkqnRJB=nxY?ZI?` z3dcS_D6LToXcaIzQ&o+TXm>1KAw!Ea{jRkk5Vo*V)X%vsJ~5&mv!m@#L0xd*4IvMU zwzaasj|iG9h~73E?3{Ggu6i+;Lb*yXtz%D7eE#B#GCf^EiX5S6*(9!Dn-RN{?weat zM#e=XOPbks43FTp@Aunc>~zQ6N~3l6bFB8?x!*Ba;;^n`%8ONMsS6?7dqU00=5TxG z6Vzp1_Y_8WGBzRfLx~LQ9UGOeFAHTC^Lj&`omr|ZRks#Kh*|RKz?wqrtVl9PRgSH1 z3u4uc>~ooeaxEWyU!T>tNX`qAs@}b>Wr8rHS^;&2*VoMi zc4qRzj-uy@Kc=~M&F<}s2UN4==8_yKpoML12kZ+?*B@aO8w(DsR|1cK`nzHLyB>uD z0kC3C69;VJ8Wf*H%`MS|)9fNaGS;vfl1SzV~{l30gB@%YeX;%_~z z&#yA})#Yy%?5R?t&&saktWycU_|6|O^b$7;@?r2lYc&g(u@0>swl$6_;@=Hhw&hTu1%T|fN-DSJbE7LY@5i_kcoF`drXKYL85WupP z!{!l=MNXwWiC`>`xFWbHfy(o@`I^+`lHrwWi$(H%UeYtvdya#Pk!(%RY*v1wk6+sR z0{+WKo|sUVTX?BDDyVzU0}vJ?OTac_?@cD)b+1{AA+49?ELfsYPh8Zjd3#wj>)!VO zqztYl$MFc)xGF%YYQ`l?U?7;VPw=;U{o@X$TEzcaa;RPXq zmqf+9_%(CQzJ=l~2OQYjE&;tc{eabIc%y%&EnOIk6!wR2U6t+P8h?>-lJy;*tc1PP`#R*Lizxm`Lh zarGvfWveAR^|qEvHpI?kPfC(Ce(KRpoeuHQ05G}$LygLI;bc)lo9nfeAL2d4mA28LJ-Jsj<2Yy}p$)Bs# zZ`sA(pXb}*pknuyS@sfcxs@yk_~Mh2N>Y(uuuq}seGIZq%ay_;^lrJQLl}*}KQGau zSHr?+(oC##7UapxGLhI(9~9IPB~_hZILWs5fHob(+FD1f-j&oLrML851fX*wNg4;x z&=_cb;-+j3_6)7e;S^vGEE~gkuBgo<6Qo*@Nf({gh4ce7*-hp(wWxMjG8z8qNWu_j z7~fGR6_FI{N{kT>7mbkV9_zEc>t1mttJs~7~`qGLPMf7Yin|B24Avi zk}Y2dMV<-!=D_@rWxb&G=2zzanUPA_D$n#eZnLARa&gT?-2Bl$1|6S6c5^cXub4JPA*^~O`U9pOedpU+R|Y&( z4L+Dgk{8CF?@!D;zP8n0p01#Te*(szXdmDUgQKVpCOM(Q_2!w1;MP9U)A_`7Q zia*g7!Of%AQIUMX8sz9qc&^C3+uH#COzNHY zNdA!ea6~J6Jk98x`ha05{GkM zsu3OH=of~`G0VwlgW=XK+*3T3RX!ieDAYjj39o~5s)pd4JHKhh<0BdPJWCj|-G2+@ zkqr^?TQ$x3bnQzm6^PiAp1tiE$hqrg^X$3Wvc>-Oy}gxu%_XQjhA;{3>p?S zYK&b}FbaHD2wiRxL`bTQSN>eTWlZ)(jL9P=fp*h8)C^>;4P)%BPch9uFy2wUjwjpO zR1PjMAOC=Lmi3J7NhbTt`Y5)%DEujfPUNTykOKv;Nq%#~sZ*5Vvc#P&?6Cd)Hum>> zXq?kY(f{o~w2s67s}8LBd{+oSk~wtRic4_mJC=;`d^aMQCcvL z;J;A6eXeKtx8yjM$u^jiM~ZV}?N3CkZX>Fo7}06jKN8W86IAfAcsi7Lf3PQ`h}6SG zxvH%HSRBJ!K5Qg@9{u)@4}E0reHgW)WVJ*8sQRPff5iONc(9^ERWu0+` z_Sz)T`mTh9_1;DuNl9sbIwEDjPgfj{#MiHgEyH8AW|zi0jYdWEdd!IT2j20g7H0mKyj!k@SL-^v7E@GOKUnJr32NRO z3cc```?^Y^l{fmL&YllLyVV0&fbt4xpQb}NMo&U^s)M%D*7w<_Wg0j$XZvg(Sinag04shBjY%`N_r zx9#dvk>9yIwt>&FMW6k0HaT#m>Kn6Y?otn9lhskJR|T!X-p zuwq-Iwg*;ePjCFGwQ(MR`XL9;XaHH)5pUiZUAiXdv*Ng*Soc%6idRnKGG8XKHVy7Y zMCrFxa4~$fmIl&&tm&U}ZwiOtRg63UTw7tef=^KPIBY1+0zifGX5(KVXfcv^J0BSw zfbP^!B(aLZ61}N99&ouPE_fn1<6Qeu!~|`Qy9=jY=TUTuReN)pUe)PnM6>sDyPzjU2-)59WK{M+q#5ktaCni4D7DShu!M-_s066^A z6^p;WIW*KV%!4N4d>B}<&3Hn_atbd9B{lX5Vq7K{nN`g*f@;GqX`BOsScly6kTMHxbkjYWCPu74+l;Jy);EDrIO zjf|Sv&fSg``XumihrkG%AG0OS?-3IVNWj<0;y z=a}6|WxR>nOvYJ}la$&z(>!tn4g7+2*Z?ply5AkFR+WD7N+sht>tl_~#`R;Ax%7%u z%Oyc44ZLIb7K~R{ct2As5RxWNrS+k+uD)ciV@npZI=41e>1zAoGksdE=V~dt@hRrW zd}wTnC-ElNJnK9wPr!#^6ITV?p;QIq`$3F;S}joa+bW!;s*j1tG+d=>U> zN`Ak>hTF(tugaN>*v5Zr^Jy?`1WOnt(d2cQq{vM5pn5`avdM4Rk| z#tX$l;-44-UK4S}yKNdTGRDzfa3?_g6h;vm)QfAcG23UPu_3;!cNkdSsQ1fUju1|k+BS~9WQ%B;~)sULKUkh zl=sf7|23F%n*l}1o- zP!nomVEUWlSC_m=@&+yGa<+87N%A_Xjn?X=Ne4xL!}8Q1HMZ73gD}xB(J4k5W+K>F z;bQSETGoH1Du`L9<5$8PM(ov)in2g6=|*bnsG2!qQcShveMcO+G8G%KC9jzSa`R@x zQ6V8f9Vp#-yL5mqNobKaQ~2()$}wFlV@a$!T{4QC|1e;Lymx6-OB0I)|ecBEjedzm9)#J}ZB)e^4l+C3Sc% zpPS;T^C7N~K8*XI_P)cw{Lbm@OR)rWrFw8>DnHJS6t(I|b4A_O*24mB>@5x1!aYee zmwY@(t?|*B{8d|rrR3A!%2YVJ^{a_mo=wE_dP+a%0Uj+gby1&gPDzU9TSL*>{!q% zkm1OcoE#6t+oLTpaU8pZ$+-O6sx4$k_HAe`JCVcq_O*tx7L!}H$mnqa1^R$GVm7fq zRz&=mcCsYA?ttm4S`C=46a8Z}T6`J<)z|#40I%pLQDIDsB;GCrI5n*HGJ?S}^-0w! zRm$%aW$2nqYd)m+=7yl!ylKf%Ad4tfPT1z!^kX_s)1)WXbVJZE=W+k7n55Cr5n0i( za2b~ZkLg__N0S`(xPcCiO;wU%0$H8$a}VP)o0&|v^pnzaDtI^>72;Ay+EK3rUV+O~ z>+gGVK11YGh&&#o>9Xc1h(Ddaz8mKZ?b$Lqh>i$+OeT|?H(Y|K*S|CHB>M9r!ut&F7^{CPGtZ}jQrqZ`4*rVM<9)6*L1?`5%( zZk_$@TMA-(+V>?fG*QU!#v4}c5Tp6+8r@lg^c#wvuZwPG){;Tk!RyZS&o^kl#teTA z>cxl;J11^EGkXB4R|NWKMS?}3U-KmRy4Oev5E@i$852>xvUc-dG8e$JKMqST4qnD7 zVc#s8!yo*}Xn`y904TX7r!wRGOdN5*M}wUV-}mL_-j?86YLD%Rf3XNMf&lKxp74d2@9 zGVoNCali0x*`#dFtq1HY!?#*eo~(Nn#O?_Vgl|p-Cy0HaTFDfdN>%Jv3}){iSZ0i( zeOH7_`xJVAEzrG`gQE>QSwr1ulV%?P+5CY;0-{GOghnfbaLq_KW=d>^q@+ZF70l}z zO^Qi~3ea2r47QYmOmUS-IP{vlNeYS6=l$(KBH@#p};VmG5AG6RO3knkIlwU<4FB3&(U3n2CDP10YYkVP|lX xg4CSZHINm!9{2g?cL&mkFG^pF=-AhpO!ez$_Y;oY%(#w_u`6x{?0 { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -// Due to a bug when using "hosts" in Cypress, we cannot set a "baseUrl" in the -// cypress.json file. Workaround this by modifying the "visit" command to preprend -// the base URL. -// -// Further details: https://github.com/cypress-io/cypress/issues/20647 -Cypress.Commands.overwrite('visit', (originalFn, url, options) => { - // Only replace relative URLs - const targetUrl = url.includes('://') ? url : `${BASE_URL}${url}`; - return originalFn(targetUrl, options); -}); - -Cypress.Commands.add( - 'login', - (email = Cypress.env('email'), password = Cypress.env('password')) => { - cy.visit('/ghost/'); - cy.get('[type="email"]').type(email); - cy.get('[type="password"]').type(password); - cy.contains('button', 'Sign in').click(); - // In Ghost, logging is not considered as completed until the Dashboard view - // is visible. Navigating to any other site before that will lead to an error - // 500 - cy.contains('h1', 'Analytics').should('be.visible'); - } -); - -Cypress.on('uncaught:exception', (err, runnable) => { - // we expect a 3rd party library error with message 'ember-concurrency' - // and don't want to fail the test so we return false - if ( - err.message.includes('ember-concurrency') || - err.message.includes('Cannot read properties') || - err.message.includes('Resource was not found') - ) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/ghost/cypress/cypress/support/e2e.js b/.vib/ghost/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/ghost/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/ghost/cypress/cypress/support/utils.js b/.vib/ghost/cypress/cypress/support/utils.js deleted file mode 100644 index 06a6ff1ac5b313..00000000000000 --- a/.vib/ghost/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); \ No newline at end of file diff --git a/.vib/ghost/goss/goss.yaml b/.vib/ghost/goss/goss.yaml deleted file mode 100644 index 7be23354ea7652..00000000000000 --- a/.vib/ghost/goss/goss.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://localhost:{{ .Vars.containerPorts.http }}: - status: 200 -command: - {{- $checkCmd := "ghost config get %s -d /opt/bitnami/ghost | grep -q %d" }} - {{- $dbCheck := printf $checkCmd "database.connection.database" .Vars.mysql.auth.database }} - {{- $userCheck := printf $checkCmd "database.connection.user" .Vars.mysql.auth.username }} - {{- $passCheck := printf $checkCmd "database.connection.password" .Vars.mysql.auth.password }} - check-db-config: - exec: ($dbCheck) && ($userCheck) && ($passCheck) - exit-status: 0 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -file: - /bitnami/ghost: - exists: true - filetype: directory - mode: '2775' - owner: root diff --git a/.vib/ghost/runtime-parameters.yaml b/.vib/ghost/runtime-parameters.yaml deleted file mode 100644 index a4c370f09cefde..00000000000000 --- a/.vib/ghost/runtime-parameters.yaml +++ /dev/null @@ -1,26 +0,0 @@ -ghostUsername: bitnamiTest -ghostPassword: Complicated123!4 -ghostEmail: vim-tests@example.com -ghostHost: vmware-ghost.my -ghostSkipInstall: false -containerPorts: - http: 2369 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - type: LoadBalancer - ports: - http: 80 -mysql: - enabled: true - auth: - database: bitnami_test_ghost - username: bn_test_ghost - password: bitnami_test_password -serviceAccount: - create: true -automountServiceAccountToken: true \ No newline at end of file diff --git a/.vib/ghost/vib-publish.json b/.vib/ghost/vib-publish.json deleted file mode 100644 index ece7749ef150fe..00000000000000 --- a/.vib/ghost/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/ghost" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/ghost/vib-verify.json b/.vib/ghost/vib-verify.json deleted file mode 100644 index 94b8a86c104111..00000000000000 --- a/.vib/ghost/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/ghost" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/ghost" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "ghost/goss/goss.yaml", - "vars_file": "ghost/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-ghost" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/ghost/cypress" - }, - "endpoint": "lb-ghost-http", - "app_protocol": "HTTP", - "env": { - "email": "vim-tests@example.com", - "username": "bitnamiTest", - "password": "Complicated123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/gitea/cypress/cypress.config.js b/.vib/gitea/cypress/cypress.config.js deleted file mode 100644 index 084e4c4afddf2b..00000000000000 --- a/.vib/gitea/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - env: { - username: 'vib-user@example.com', - password: 'bitnami!1234', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/gitea/cypress/cypress/e2e/gitea.cy.js b/.vib/gitea/cypress/cypress/e2e/gitea.cy.js deleted file mode 100644 index a922c413c3d945..00000000000000 --- a/.vib/gitea/cypress/cypress/e2e/gitea.cy.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { - random, -} from '../support/utils'; - -it.only('allows to create a git repository', () => { - cy.login(); - cy.visit('/repo/create'); - cy.fixture('repo').then((repo) => { - cy.get('[name="repo_name"]').type(`${repo.name}-${random}`, { - force: true, - }); - }); - cy.get('button.primary').click(); - cy.contains('touch README.md'); -}); diff --git a/.vib/gitea/cypress/cypress/fixtures/repo.json b/.vib/gitea/cypress/cypress/fixtures/repo.json deleted file mode 100644 index d8d1dd4feaf731..00000000000000 --- a/.vib/gitea/cypress/cypress/fixtures/repo.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "myrepo" -} diff --git a/.vib/gitea/cypress/cypress/support/commands.js b/.vib/gitea/cypress/cypress/support/commands.js deleted file mode 100644 index 889683530d7af6..00000000000000 --- a/.vib/gitea/cypress/cypress/support/commands.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/user/login'); - cy.get('[name="user_name"]').type(username); - cy.get('[type="password"]').type(password); - cy.contains('button', 'Sign In').click(); - cy.get('#navbar .avatar').should('be.visible'); - } -); diff --git a/.vib/gitea/cypress/cypress/support/e2e.js b/.vib/gitea/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/gitea/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/gitea/cypress/cypress/support/utils.js b/.vib/gitea/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/gitea/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/gitea/goss/goss-wait.yaml b/.vib/gitea/goss/goss-wait.yaml deleted file mode 100644 index 1e85445cbf433b..00000000000000 --- a/.vib/gitea/goss/goss-wait.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - # Fluentd requires to be stable before tracking log entries, - # increasing the resiliency of the tests. - wait-to-be-available: - exec: "sleep 300" - exit-status: 0 - timeout: 310000 diff --git a/.vib/gitea/goss/goss.yaml b/.vib/gitea/goss/goss.yaml deleted file mode 100644 index ee85177b0a4599..00000000000000 --- a/.vib/gitea/goss/goss.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -addr: - tcp://127.0.0.1:{{ .Vars.containerPorts.ssh }}: - reachable: true - timeout: 500 - tcp://gitea:{{ .Vars.service.ports.ssh }}: - reachable: true - timeout: 500 -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -file: - /bitnami/gitea/custom/conf/app.ini: - exists: true - filetype: file - contents: - - /NAME.*{{ .Vars.postgresql.auth.database }}/ - - /USER.*{{ .Vars.postgresql.auth.username }}/ - - /HOST.*{{ .Vars.postgresql.primary.service.ports.postgresql }}/ -http: - http://gitea:{{ .Vars.service.ports.http }}: - status: 200 - http://127.0.0.1:{{ .Vars.containerPorts.http }}: - status: 200 diff --git a/.vib/gitea/runtime-parameters.yaml b/.vib/gitea/runtime-parameters.yaml deleted file mode 100644 index 869780b78ecaec..00000000000000 --- a/.vib/gitea/runtime-parameters.yaml +++ /dev/null @@ -1,28 +0,0 @@ -adminEmail: vib-user@example.com -service: - type: LoadBalancer - ports: - http: 80 - ssh: 2500 -containerPorts: - http: 8123 - ssh: 2321 -containerSecurityContext: - enabled: true - runAsUser: 1002 -podSecurityContext: - enabled: true - fsGroup: 1002 -adminPassword: bitnami!1234 -serviceAccount: - create: true -automountServiceAccountToken: true -postgresql: - enabled: true - auth: - username: bn_vib_gitea - database: bitnami_vib_gitea - primary: - service: - ports: - postgresql: 9393 diff --git a/.vib/gitea/vib-publish.json b/.vib/gitea/vib-publish.json deleted file mode 100644 index 5fefae0c5cc056..00000000000000 --- a/.vib/gitea/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/gitea" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/gitea/vib-verify.json b/.vib/gitea/vib-verify.json deleted file mode 100644 index f48d30deebdadc..00000000000000 --- a/.vib/gitea/vib-verify.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/gitea" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/gitea" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "wait": { - "file": "gitea/goss/goss-wait.yaml" - }, - "tests_file": "gitea/goss/goss.yaml", - "vars_file": "gitea/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-gitea" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/gitea/cypress" - }, - "endpoint": "lb-gitea-http", - "app_protocol": "HTTP", - "env": { - "user": "vib-user@example.com", - "password": "bitnami!1234" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/gitlab-runner/goss/goss.yaml b/.vib/gitlab-runner/goss/goss.yaml deleted file mode 100644 index b2b90fcebb7e6e..00000000000000 --- a/.vib/gitlab-runner/goss/goss.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} - check-gitlab-url: - exec: env - exit-status: 0 - stdout: - - /CI_SERVER_URL.*{{ .Vars.gitlabUrl }}/ -file: - /configmaps/config.toml: - exists: true - filetype: symlink - contents: - - /listen_address.*{{ .Vars.containerPorts.metrics }}/ - - /listen_address.*{{ .Vars.containerPorts.sessionServer }}/ - /secrets/runner-token: - exists: true - filetype: symlink - contents: - - {{ .Vars.runnerToken }} diff --git a/.vib/gitlab-runner/runtime-parameters.yaml b/.vib/gitlab-runner/runtime-parameters.yaml deleted file mode 100644 index 2f53ca8ea4a5b4..00000000000000 --- a/.vib/gitlab-runner/runtime-parameters.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Gitlab Runner needs a running Gitlab instance to work. As we do -# not have one, we need to overwrite the command and args with a sleep -command: - - sleep -args: - - infinity -livenessProbe: - enabled: false -readinessProbe: - enabled: false -gitlabUrl: example.com -runnerToken: ComplicatedToken -serviceAccount: - create: true -automountServiceAccountToken: true -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -containerPorts: - metrics: 2231 - sessionServer: 8372 -metrics: - enabled: true -sessionServer: - enabled: true diff --git a/.vib/gitlab-runner/vib-publish.json b/.vib/gitlab-runner/vib-publish.json deleted file mode 100644 index c0e918ec60eda2..00000000000000 --- a/.vib/gitlab-runner/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/gitlab-runner" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/gitlab-runner/vib-verify.json b/.vib/gitlab-runner/vib-verify.json deleted file mode 100644 index d2a0693a3cb9b6..00000000000000 --- a/.vib/gitlab-runner/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/gitlab-runner" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/gitlab-runner" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "gitlab-runner/goss/goss.yaml", - "vars_file": "gitlab-runner/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-gitlab-runner" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/grafana-alloy/cypress/cypress.config.js b/.vib/grafana-alloy/cypress/cypress.config.js deleted file mode 100644 index 08a04cb5384a8d..00000000000000 --- a/.vib/grafana-alloy/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - pageLoadTimeout: 150000, - defaultCommandTimeout: 90000, - chromeWebSecurity: false, - env: { - replicaCount: '2', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/grafana-alloy/cypress/cypress/e2e/grafana_alloy.cy.js b/.vib/grafana-alloy/cypress/cypress/e2e/grafana_alloy.cy.js deleted file mode 100644 index 0691be6f70578d..00000000000000 --- a/.vib/grafana-alloy/cypress/cypress/e2e/grafana_alloy.cy.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('lists all components in a healthy state', () => { - cy.visit('/'); - - cy.get('span[class*="HealthLabel"]').each((span) => { - cy.wrap(span).should('have.text', 'healthy'); - }); - - const members = ['endpointslices', 'pods', 'services', 'ingresses', 'endpoints', 'nodes'] - members.forEach((e) => { - cy.get('span[class*="ComponentList"]').contains(`discovery.kubernetes.${e}`).should('be.visible') - }) - - // Check graph view - cy.get('a[href="/graph"]').click(); - - members.forEach((e) => { - cy.get(`div[data-nodeid*="discovery.kubernetes.${e}"]`).should('exist').and('be.visible'); - }); -}); - -it('clustering in a healthy state', () => { - cy.visit('/clustering'); - - cy.get('tr') - .filter(':contains("grafana-alloy-")') - .then((rows) => { - expect(rows).to.have.length(Cypress.env('replicaCount')); - cy.wrap(rows).each((row) => { - expect(row).to.contain('participant'); - }); - }); -}); \ No newline at end of file diff --git a/.vib/grafana-alloy/cypress/cypress/support/commands.js b/.vib/grafana-alloy/cypress/cypress/support/commands.js deleted file mode 100644 index 593fb4bd3bdafd..00000000000000 --- a/.vib/grafana-alloy/cypress/cypress/support/commands.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// Added to slow down Cypress test execution without using hardcoded waits. If removed, there will be false positives. -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} diff --git a/.vib/grafana-alloy/cypress/cypress/support/e2e.js b/.vib/grafana-alloy/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/grafana-alloy/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/grafana-alloy/goss/goss.yaml b/.vib/grafana-alloy/goss/goss.yaml deleted file mode 100644 index 87dcc979ce9daa..00000000000000 --- a/.vib/grafana-alloy/goss/goss.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://127.0.0.1:{{ .Vars.alloy.containerPorts.http }}/-/healthy: - status: 200 - body: - - /All Alloy components are healthy./ - http://grafana-alloy:{{ .Vars.service.ports.http }}/-/healthy: - status: 200 - body: - - /All Alloy components are healthy./ - http://127.0.0.1:{{ .Vars.alloy.containerPorts.http }}/metrics: - status: 200 - body: - - /alloy_build_info/ - http://grafana-alloy:{{ .Vars.service.ports.http }}/metrics: - status: 200 - body: - - /alloy_build_info/ -file: - /opt/bitnami/grafana-alloy/config/config.alloy: - exists: true - filetype: symlink - {{ if .Vars.alloy.mounts.varlog }} - /var/log: - exists: true - filetype: directory - {{ end }} -command: - {{- $uid := .Vars.alloy.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/grafana-alloy/runtime-parameters.yaml b/.vib/grafana-alloy/runtime-parameters.yaml deleted file mode 100644 index 09ad90111aedba..00000000000000 --- a/.vib/grafana-alloy/runtime-parameters.yaml +++ /dev/null @@ -1,26 +0,0 @@ -resourceType: deployment -replicaCount: 2 -podSecurityContext: - enabled: true - fsGroup: 1002 -alloy: - clustering: - enabled: true - mounts: - varlog: true - dockercontainers: true - containerSecurityContext: - enabled: true - runAsUser: 1002 - containerPorts: - http: 8081 -configReloader: - containerPorts: - http: 9999 -service: - ports: - http: 8081 - type: LoadBalancer -serviceAccount: - create: true -automountServiceAccountToken: true \ No newline at end of file diff --git a/.vib/grafana-alloy/vib-publish.json b/.vib/grafana-alloy/vib-publish.json deleted file mode 100644 index 41c847dcb895db..00000000000000 --- a/.vib/grafana-alloy/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-alloy" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/grafana-alloy/vib-verify.json b/.vib/grafana-alloy/vib-verify.json deleted file mode 100644 index b096d06d4d96b4..00000000000000 --- a/.vib/grafana-alloy/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-alloy" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-alloy" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "grafana-alloy/goss/goss.yaml", - "vars_file": "grafana-alloy/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-grafana-alloy" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/grafana-alloy/cypress" - }, - "endpoint": "lb-grafana-alloy-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/grafana-k6-operator/goss/goss.yaml b/.vib/grafana-k6-operator/goss/goss.yaml deleted file mode 100644 index fa28ba8a029829..00000000000000 --- a/.vib/grafana-k6-operator/goss/goss.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -# As the tests are done in an external kubectl container we can only test the endpoint and the -# deployed test run -command: - # Check with kubectl that the deployed test run finished - check-testrun: - exec: PATH=/opt/bitnami/kubectl/bin:$PATH kubectl get testruns - exit-status: 0 - stdout: - - /testrun-sample.*finished/ -http: - http://grafana-k6-operator-metrics:{{ .Vars.metrics.service.ports.metrics }}/metrics: - status: 200 - body: - - workqueue_work_duration_second diff --git a/.vib/grafana-k6-operator/runtime-parameters.yaml b/.vib/grafana-k6-operator/runtime-parameters.yaml deleted file mode 100644 index 701e7fc6653a8c..00000000000000 --- a/.vib/grafana-k6-operator/runtime-parameters.yaml +++ /dev/null @@ -1,224 +0,0 @@ -extraDeploy: -# BEGIN EXAMPLE -# Example taken from https://github.com/grafana/k6-operator/blob/main/config/samples/k6_v1alpha1_configmap.yaml#L2 -- apiVersion: k6.io/v1alpha1 - kind: TestRun - metadata: - name: testrun-sample - spec: - parallelism: 2 - script: - configMap: - name: k6-test - file: test.js - # Set security restrictions to support all our testing platforms - # (note that this uses the CRD syntax, not the regular pod syntax) - initializer: - containerSecurityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - securityContext: - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - starter: - containerSecurityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - securityContext: - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - runner: - containerSecurityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - securityContext: - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - -- apiVersion: v1 - kind: ConfigMap - metadata: - name: k6-test - data: - test.js: | - import http from 'k6/http'; - import { Rate } from 'k6/metrics'; - import { check, sleep } from 'k6'; - - const failRate = new Rate('failed_requests'); - - export let options = { - stages: [ - { target: 200, duration: '30s' }, - { target: 0, duration: '30s' }, - ], - thresholds: { - failed_requests: ['rate<=0'], - http_req_duration: ['p(95)<500'], - }, - }; - - export default function () { - // Modified site to support airgapped - const result = http.get('http://nginx-vib-tests:8080'); - check(result, { - 'http response status code is 200': result.status === 200, - }); - failRate.add(result.status !== 200); - sleep(1); - } -# END EXAMPLE -# EXTRAS -# In order to support airgapped envs, we deploy a custom nginx instead of -# the external site the original example did -- apiVersion: apps/v1 - kind: Deployment - metadata: - namespace: '{{ include "common.names.namespace" . }}' - name: nginx-vib-tests - spec: - replicas: 1 - selector: - matchLabels: - app: nginx - template: - metadata: - labels: - app: nginx - spec: - containers: - - name: nginx - image: bitnami/nginx - ports: - - containerPort: 8080 - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" -- apiVersion: v1 - kind: Service - metadata: - name: nginx-vib-tests - namespace: '{{ include "common.names.namespace" . }}' - labels: - app: nginx - spec: - selector: - app: nginx - ports: - - port: 8080 - name: http - targetPort: 8080 -# As they are scratch containers, we need to deploy an extra container -# for performing goss tests. -# To do so, we deploy an os-shell container with extra kubectl binary -- apiVersion: apps/v1 - kind: Deployment - metadata: - namespace: '{{ include "common.names.namespace" . }}' - name: vib-kubectl-test - spec: - replicas: 1 - selector: - matchLabels: - app: kubectl - template: - metadata: - labels: - app: kubectl - spec: - serviceAccountName: '{{ include "grafana-k6-operator.serviceAccountName" . }}' - automountServiceAccountToken: true - initContainers: - - name: copy-kubectl - command: - - /bin/bash - args: - - -ec - - | - cp /opt/bitnami/kubectl/bin/kubectl /out/kubectl - image: bitnami/kubectl - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - volumeMounts: - - name: empty-dir - subPath: kubectl-bin - mountPath: /out - containers: - - name: kubectl - command: - - sleep - args: - - infinity - readinessProbe: - exec: - command: - - sh - - -c - - | - exit 0 - # Providing extra time for the test runs to finish - initialDelaySeconds: 120 - periodSeconds: 20 - timeoutSeconds: 1 - failureThreshold: 15 - successThreshold: 1 - image: bitnami/os-shell:latest - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - volumeMounts: - - name: empty-dir - subpath: tmp-dir - mountPath: /tmp - - name: empty-dir - subPath: kubectl-bin - mountPath: /opt/bitnami/kubectl/bin - volumes: - - name: empty-dir - emptyDir: {} -# We need to bind the metrics-reader clusterrole to the SA (this is intended to be done manually by operators) -# so it is accepted by kube-rbac-proxy -- kind: ClusterRoleBinding - apiVersion: '{{ include "common.capabilities.rbac.apiVersion" . }}' - metadata: - name: vib-metrics-reader - roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: '{{ printf "%s-metrics-reader" (include "common.names.fullname.namespace" .) | trunc 63 | trimSuffix "-" }}' - subjects: - - kind: ServiceAccount - name: '{{ template "grafana-k6-operator.serviceAccountName" . }}' - namespace: '{{ include "common.names.namespace" . }}' -# We can only verify the external endpoints, as the goss container will be the kubectl one, which is -# external. Therefore we do not test SAs, containerSecurityContext and containerPorts -metrics: - enabled: true - service: - ports: - metrics: 2311 diff --git a/.vib/grafana-k6-operator/vib-publish.json b/.vib/grafana-k6-operator/vib-publish.json deleted file mode 100644 index ecab8af7966d49..00000000000000 --- a/.vib/grafana-k6-operator/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-k6-operator" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/grafana-k6-operator/vib-verify.json b/.vib/grafana-k6-operator/vib-verify.json deleted file mode 100644 index da2eab7036e78a..00000000000000 --- a/.vib/grafana-k6-operator/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-k6-operator" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-k6-operator" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "grafana-k6-operator/goss/goss.yaml", - "vars_file": "grafana-k6-operator/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-vib-kubectl-test" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/grafana-loki/cypress/cypress.config.js b/.vib/grafana-loki/cypress/cypress.config.js deleted file mode 100644 index e5ddd4ce7e3e3d..00000000000000 --- a/.vib/grafana-loki/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - responseTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/grafana-loki/cypress/cypress/e2e/grafana_loki.cy.js b/.vib/grafana-loki/cypress/cypress/e2e/grafana_loki.cy.js deleted file mode 100644 index 3836310996bfd6..00000000000000 --- a/.vib/grafana-loki/cypress/cypress/e2e/grafana_loki.cy.js +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import body from '../fixtures/logs-body.json'; -import { lastMinuteTimestamp } from '../support/utils'; - -it('checks Loki range endpoint', () => { - cy.request({ - method: 'GET', - url: 'loki/api/v1/query', - qs: { query: 'sum(rate({job="varlogs"}[10m])) by (level)' }, - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.headers['content-type'].toLowerCase()).to.eq( - 'application/json; charset=utf-8' - ); - expect(response.body.data.stats.summary).not.to.be.empty; - expect(response.body.data.stats).to.include.all.keys( - 'summary', - 'querier', - 'ingester' - ); - }); -}); - -it('can publish and retrieve a label', () => { - // Per configuration, Loki rejects timestamps older than 168h - const upToDateJson = JSON.stringify(body).replace( - 'timestamp_placeholder', - lastMinuteTimestamp - ); - cy.request({ - method: 'POST', - headers: { 'Content-Type': 'application/json; charset=utf-8' }, - url: 'loki/api/v1/push', - body: JSON.parse(upToDateJson), - }).then((response) => { - expect(response.status).to.eq(204); - }); - - cy.request({ - method: 'GET', - url: 'loki/api/v1/label/label/values', - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.data).to.contain('value'); - }); -}); diff --git a/.vib/grafana-loki/cypress/cypress/fixtures/logs-body.json b/.vib/grafana-loki/cypress/cypress/fixtures/logs-body.json deleted file mode 100644 index d7606b501eb624..00000000000000 --- a/.vib/grafana-loki/cypress/cypress/fixtures/logs-body.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "streams": [ - { - "stream": { - "label": "value" - }, - "values": [["timestamp_placeholder", "value"]] - } - ] -} diff --git a/.vib/grafana-loki/cypress/cypress/support/e2e.js b/.vib/grafana-loki/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/grafana-loki/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/grafana-loki/cypress/cypress/support/utils.js b/.vib/grafana-loki/cypress/cypress/support/utils.js deleted file mode 100644 index 6e066500e2e40d..00000000000000 --- a/.vib/grafana-loki/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let lastMinuteTimestamp = Date.now() * 1e6 - 6e1 * 1e9; // Date.now() returns the date in miliseconds diff --git a/.vib/grafana-loki/goss/alloy/goss.yaml b/.vib/grafana-loki/goss/alloy/goss.yaml deleted file mode 100644 index 912d825b308bc6..00000000000000 --- a/.vib/grafana-loki/goss/alloy/goss.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://grafana-loki-grafanaalloy:{{ .Vars.grafanaalloy.service.ports.http }}/-/healthy: - status: 200 - body: - - 'All Alloy components are healthy.' - http://grafana-loki-grafanaalloy:{{ .Vars.grafanaalloy.service.ports.http }}/metrics: - status: 200 - body: - - 'alloy_build_info' - - 'loki_write_sent_bytes_total' -file: - /opt/bitnami/grafana-alloy/config/config.alloy: - exists: true - filetype: symlink - contents: - - 'http://grafana-loki-gateway' - /var/log: - exists: true - filetype: directory -command: - {{- $uid := .Vars.grafanaalloy.alloy.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.grafanaalloy.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.grafanaalloy.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*grafana-loki-grafanaalloy/ - {{ end }} diff --git a/.vib/grafana-loki/goss/querier/goss.yaml b/.vib/grafana-loki/goss/querier/goss.yaml deleted file mode 100644 index ab319ae3e64830..00000000000000 --- a/.vib/grafana-loki/goss/querier/goss.yaml +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.loki.dataDir }}/conf/loki.yaml: - mode: "0644" - filetype: file - exists: true - owner: root - contents: - - "memcachedchunks:{{ .Vars.memcachedchunks.service.ports.memcached }}" - - "memcachedfrontend:{{ .Vars.memcachedfrontend.service.ports.memcached }}" - - "memcachedindexqueries:{{ .Vars.memcachedindexqueries.service.ports.memcached }}" - - /http_listen_port.*{{ .Vars.loki.containerPorts.http }}/ -http: - # As we need to make several API requests, we'll use different services (and pods) - # to at the same time test most of them are working properly. For those services not used here, - # we suppose they are running as expected given that all follow the same arch - http://grafana-loki-distributor:{{ .Vars.distributor.service.ports.http }}/services: - status: 200 - body: - - "!Stopping" - - "!Terminated" - - "!Failed" - http://grafana-loki-ingester:{{ .Vars.ingester.service.ports.http }}/config: - status: 200 - body: - - /advertise_port.*{{ .Vars.loki.containerPorts.gossipRing }}/ - http://grafana-loki-compactor:{{ .Vars.compactor.service.ports.http }}/compactor/ring: - status: 200 - body: - - ACTIVE -addr: - tcp://grafana-loki-gossip-ring:{{ .Vars.loki.gossipRing.service.ports.http }}: - reachable: true -command: - check-logcli: - exec: logcli query --addr=http://grafana-loki-querier:{{ .Vars.querier.service.ports.http }} '{app="grafana-loki"}' - exit-status: 0 - {{- $uid := .Vars.querier.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.querier.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/grafana-loki/runtime-parameters.yaml b/.vib/grafana-loki/runtime-parameters.yaml deleted file mode 100644 index db8f811287a570..00000000000000 --- a/.vib/grafana-loki/runtime-parameters.yaml +++ /dev/null @@ -1,80 +0,0 @@ -loki: - dataDir: /bitnami/grafana-loki - containerPorts: - http: 3101 - gossipRing: 7946 - gossipRing: - service: - ports: - http: 7946 -compactor: - enabled: true - service: - ports: - http: 3100 -gateway: - enabled: true - service: - ports: - http: 80 - type: LoadBalancer -distributor: - service: - ports: - http: 3100 -ingester: - service: - ports: - http: 3100 -querier: - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - service: - ports: - http: 3100 -queryFrontend: - service: - ports: - http: 3100 -queryScheduler: - service: - ports: - http: 3100 -grafanaalloy: - enabled: true - podSecurityContext: - enabled: true - fsGroup: 0 - alloy: - containerPorts: - http: 8081 - containerSecurityContext: - enabled: true - runAsUser: 1002 - service: - ports: - http: 8081 - rbac: - create: true - serviceAccount: - create: true - automountServiceAccountToken: true -memcachedchunks: - enabled: true - service: - ports: - memcached: 11212 -memcachedfrontend: - enabled: true - service: - ports: - memcached: 11212 -memcachedindexqueries: - enabled: true - service: - ports: - memcached: 11212 \ No newline at end of file diff --git a/.vib/grafana-loki/vib-publish.json b/.vib/grafana-loki/vib-publish.json deleted file mode 100644 index fbceef482fdc64..00000000000000 --- a/.vib/grafana-loki/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-loki" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/grafana-loki/vib-verify.json b/.vib/grafana-loki/vib-verify.json deleted file mode 100644 index 44dff19a8791a0..00000000000000 --- a/.vib/grafana-loki/vib-verify.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-loki" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-loki" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "grafana-loki/goss/alloy/goss.yaml", - "vars_file": "grafana-loki/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "ds-grafana-loki-grafanaalloy" - } - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "grafana-loki/goss/querier/goss.yaml", - "vars_file": "grafana-loki/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-grafana-loki-querier" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/grafana-loki/cypress" - }, - "endpoint": "lb-grafana-loki-gateway-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/grafana-mimir/cypress/cypress.config.js b/.vib/grafana-mimir/cypress/cypress.config.js deleted file mode 100644 index e5ddd4ce7e3e3d..00000000000000 --- a/.vib/grafana-mimir/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - responseTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/grafana-mimir/cypress/cypress/e2e/grafana_mimir.cy.js b/.vib/grafana-mimir/cypress/cypress/e2e/grafana_mimir.cy.js deleted file mode 100644 index b39f75cb435ea7..00000000000000 --- a/.vib/grafana-mimir/cypress/cypress/e2e/grafana_mimir.cy.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import body from '../fixtures/metric-body.json'; -import { - lastMinuteTimestamp, - random -} from '../support/utils'; - -it('can push metrics and read them', () => { - // Using Open Telemetry endpoint because it allow us to use plain connection. - // Regular prometheus endpoint requires snappy compression. - const orgID = { 'X-Scope-OrgID': 'demo' }; - const upToDateJson = JSON.stringify(body).replace( - '"timestamp_placeholder"', - lastMinuteTimestamp - ).replace( - '"integer_placeholder"', - random - ); - cy.request({ - method: 'POST', - headers: orgID, - url: '/otlp/v1/metrics', - body: JSON.parse(upToDateJson), - }).then((response) => { - expect(response.status).to.eq(200); - }); - // Read metrics - cy.request({ - method: 'GET', - headers: orgID, - url: '/prometheus-test/api/v1/query?query=test', - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.headers['content-type']).to.eq( - 'application/json' - ); - expect(response.body.data.result[0].value).to.contain(random); - }); -}); diff --git a/.vib/grafana-mimir/cypress/cypress/fixtures/metric-body.json b/.vib/grafana-mimir/cypress/cypress/fixtures/metric-body.json deleted file mode 100644 index df14479b1ae4c7..00000000000000 --- a/.vib/grafana-mimir/cypress/cypress/fixtures/metric-body.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "resource_metrics": [ - { - "scope_metrics": [ - { - "metrics": [ - { - "name": "test", - "gauge": { - "data_points": [ - { - "time_unix_nano": "timestamp_placeholder", - "as_int": "integer_placeholder" - } - ] - } - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/.vib/grafana-mimir/cypress/cypress/support/e2e.js b/.vib/grafana-mimir/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/grafana-mimir/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/grafana-mimir/cypress/cypress/support/utils.js b/.vib/grafana-mimir/cypress/cypress/support/utils.js deleted file mode 100644 index 742c6f5f203c01..00000000000000 --- a/.vib/grafana-mimir/cypress/cypress/support/utils.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let lastMinuteTimestamp = (Date.now() - 1000) * 1e6; // Date.now() returns the date in miliseconds -export let random = Math.floor(Math.random() * 1000).toString(); // String with random integer between 0 and 999 \ No newline at end of file diff --git a/.vib/grafana-mimir/goss/goss.yaml b/.vib/grafana-mimir/goss/goss.yaml deleted file mode 100644 index 8bb14e7bec8090..00000000000000 --- a/.vib/grafana-mimir/goss/goss.yaml +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.mimir.dataDir }}/conf/mimir.yaml: - exists: true - contents: - - "memcachedchunks:{{ .Vars.memcachedchunks.service.ports.memcached }}" - - "memcachedfrontend:{{ .Vars.memcachedfrontend.service.ports.memcached }}" - - "memcachedindex:{{ .Vars.memcachedindex.service.ports.memcached }}" - - "memcachedmetadata:{{ .Vars.memcachedmetadata.service.ports.memcached }}" - - "http_listen_port: {{ .Vars.mimir.containerPorts.http }}" -http: - # As we need to make several API requests, we'll use different services (and pods) - # to at the same time test most of them are working properly. For those services not used here, - # we suppose they are running as expected given that all follow the same arch - http://grafana-mimir-query-frontend:{{ .Vars.queryFrontend.service.ports.http }}/services: - status: 200 - body: - - "!Stopping" - - "!Terminated" - - "!Failed" - http://grafana-mimir-distributor:{{ .Vars.distributor.service.ports.http }}/services: - status: 200 - body: - - "!Stopping" - - "!Terminated" - - "!Failed" - http://grafana-mimir-gateway:{{ .Vars.gateway.service.ports.http }}/{{ .Vars.mimir.httpPrefix.prometheus }}/api/v1/status/buildinfo: - status: 200 - body: - - "Grafana Mimir" - http://grafana-mimir-store-gateway:{{ .Vars.storeGateway.service.ports.http }}/config: - status: 200 - body: - - /advertise_port.*{{ .Vars.mimir.containerPorts.gossipRing }}/ - http://grafana-mimir-compactor:{{ .Vars.compactor.service.ports.http }}/compactor/ring: - status: 200 - body: - - ACTIVE -addr: - tcp://grafana-mimir-gossip-ring:{{ .Vars.mimir.gossipRing.service.ports.http }}: - reachable: true -command: - check-mimirtool: - timeout: 120000 - exec: cd /tmp && mimirtool bucket-validation --object-count 1000 - exit-status: 0 - {{- $uid := .Vars.storeGateway.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.storeGateway.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/grafana-mimir/runtime-parameters.yaml b/.vib/grafana-mimir/runtime-parameters.yaml deleted file mode 100644 index c81b79680cb588..00000000000000 --- a/.vib/grafana-mimir/runtime-parameters.yaml +++ /dev/null @@ -1,53 +0,0 @@ -mimir: - dataDir: /bitnami/grafana-mimir - containerPorts: - http: 8082 - gossipRing: 8946 - gossipRing: - service: - ports: - http: 8946 - httpPrefix: - prometheus: /prometheus-test -gateway: - enabled: true - service: - ports: - http: 80 - type: LoadBalancer -compactor: - service: - ports: - http: 8082 -distributor: - service: - ports: - http: 8082 -queryFrontend: - service: - ports: - http: 8082 -storeGateway: - podSecurityContext: - fsGroup: 1002 - containerSecurityContext: - runAsUser: 1002 - service: - ports: - http: 8082 -memcachedchunks: - service: - ports: - memcached: 11212 -memcachedfrontend: - service: - ports: - memcached: 11212 -memcachedindex: - service: - ports: - memcached: 11212 -memcachedmetadata: - service: - ports: - memcached: 11212 \ No newline at end of file diff --git a/.vib/grafana-mimir/vib-action.config b/.vib/grafana-mimir/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/grafana-mimir/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/grafana-mimir/vib-publish.json b/.vib/grafana-mimir/vib-publish.json deleted file mode 100644 index 274b6969b02935..00000000000000 --- a/.vib/grafana-mimir/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-mimir" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/grafana-mimir/vib-verify.json b/.vib/grafana-mimir/vib-verify.json deleted file mode 100644 index 182eada685e53d..00000000000000 --- a/.vib/grafana-mimir/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-mimir" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-mimir" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "grafana-mimir/goss/goss.yaml", - "vars_file": "grafana-mimir/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-grafana-mimir-store-gateway" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/grafana-mimir/cypress" - }, - "endpoint": "lb-grafana-mimir-gateway-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/grafana-operator/cypress/cypress.config.js b/.vib/grafana-operator/cypress/cypress.config.js deleted file mode 100644 index 31e840f641c202..00000000000000 --- a/.vib/grafana-operator/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - pageLoadTimeout: 120000, - defaultCommandTimeout: 30000, - env: { - username: 'test_admin', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/grafana-operator/cypress/cypress/e2e/grafana_operator.cy.js b/.vib/grafana-operator/cypress/cypress/e2e/grafana_operator.cy.js deleted file mode 100644 index 1f5684b972ae75..00000000000000 --- a/.vib/grafana-operator/cypress/cypress/e2e/grafana_operator.cy.js +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows uploading a dashboard as JSON file', () => { - cy.login(); - cy.visit('dashboard/import'); - cy.get('[type=file]').selectFile('cypress/fixtures/test-dashboard.json', { - force: true, - }); - - cy.fixture('dashboards').then((dashboard) => { - cy.get('[data-testid*="data-testid-import-dashboard-title"]') - .clear() - .type(`${dashboard.newDashboard.title} ${random}`); - cy.get('[data-testid*="data-testid-import-dashboard-submit"]').click(); - cy.visit('/dashboards'); - cy.contains(`${dashboard.newDashboard.title} ${random}`); - }); -}); - -it('allows creating and deleting a data source', () => { - cy.login(); - cy.visit('/datasources/new'); - cy.fixture('datasources').then((datasource) => { - cy.contains('button', datasource.newDatasource.type).click({ force: true }); - }); - cy.get('#basic-settings-name').invoke('attr', 'value').then((datasourceName) => { - cy.visit('/datasources'); - cy.contains('a', datasourceName).click({ force: true }); - cy.contains('button', 'Delete').click(); - cy.get('[data-testid*="Confirm"]').click(); - cy.get('[data-testid*="data-testid Alert success"]').should('be.visible'); - }); -}); - -it('checks admin settings endpoint', () => { - cy.request({ - method: 'GET', - url: '/api/admin/settings', - form: true, - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body).to.include.all.keys( - 'alerting', - 'analytics', - 'security' - ); - }); -}); diff --git a/.vib/grafana-operator/cypress/cypress/fixtures/dashboards.json b/.vib/grafana-operator/cypress/cypress/fixtures/dashboards.json deleted file mode 100644 index ee9461e1c6dd03..00000000000000 --- a/.vib/grafana-operator/cypress/cypress/fixtures/dashboards.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newDashboard": { - "title": "Uploaded Dashboard" - } -} diff --git a/.vib/grafana-operator/cypress/cypress/fixtures/datasources.json b/.vib/grafana-operator/cypress/cypress/fixtures/datasources.json deleted file mode 100644 index 969dcd15b9bfee..00000000000000 --- a/.vib/grafana-operator/cypress/cypress/fixtures/datasources.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newDatasource": { - "type": "Prometheus" - } -} diff --git a/.vib/grafana-operator/cypress/cypress/fixtures/test-dashboard.json b/.vib/grafana-operator/cypress/cypress/fixtures/test-dashboard.json deleted file mode 100644 index 9af3a7c6954836..00000000000000 --- a/.vib/grafana-operator/cypress/cypress/fixtures/test-dashboard.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 12345, - "uid": "cLV5GDCkz", - "title": "New test dashboard", - "tags": [], - "style": "dark", - "timezone": "browser", - "editable": true, - "hideControls": false, - "graphTooltip": 1, - "panels": [], - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "templating": { - "list": [] - }, - "annotations": { - "list": [] - }, - "refresh": "5s", - "schemaVersion": 17, - "version": 0, - "links": [] - } -} diff --git a/.vib/grafana-operator/cypress/cypress/support/commands.js b/.vib/grafana-operator/cypress/cypress/support/commands.js deleted file mode 100644 index 0280cd51618486..00000000000000 --- a/.vib/grafana-operator/cypress/cypress/support/commands.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.clearCookies(); - cy.visit('/login'); - cy.get('input[name="user"]').type(username); - cy.get('input[name="password"]').type(password); - cy.contains('Log in').click(); - cy.contains('Home'); - } -); - -Cypress.on('uncaught:exception', (err, runnable) => { - // we expect an error with message 'Cannot read properties of undefined (reading 'eventTrackingNamespace')' - // and don't want to fail the test so we return false - if (err.message.includes('Cannot read properties of undefined')) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/grafana-operator/cypress/cypress/support/e2e.js b/.vib/grafana-operator/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/grafana-operator/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/grafana-operator/cypress/cypress/support/utils.js b/.vib/grafana-operator/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/grafana-operator/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/grafana-operator/goss/goss.yaml b/.vib/grafana-operator/goss/goss.yaml deleted file mode 100644 index ce26db92624146..00000000000000 --- a/.vib/grafana-operator/goss/goss.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://grafana-operator-grafana-service:3000: - status: 200 -command: - {{- $uid := .Vars.operator.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.operator.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.operator.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/grafana-operator/runtime-parameters.yaml b/.vib/grafana-operator/runtime-parameters.yaml deleted file mode 100644 index 38ed8ee4692ba9..00000000000000 --- a/.vib/grafana-operator/runtime-parameters.yaml +++ /dev/null @@ -1,33 +0,0 @@ -operator: - enabled: true - containerSecurityContext: - enabled: true - runAsUser: 1002 - podSecurityContext: - fsGroup: 1002 - containerPorts: - metrics: 8080 - podLabels: - instance: operator - rbac: - create: true - serviceAccount: - create: true - automountServiceAccountToken: true -grafana: - enabled: true - config: - security: - admin_user: test_admin - admin_password: ComplicatedPassword123!4 - containerSecurityContext: - enabled: true - runAsUser: 1002 - runAsGroup: 0 - service: - type: LoadBalancer - extraPorts: - - name: grafana-ve - port: 80 - protocol: TCP - targetPort: grafana-http \ No newline at end of file diff --git a/.vib/grafana-operator/vib-publish.json b/.vib/grafana-operator/vib-publish.json deleted file mode 100644 index cc11fce5a6b7be..00000000000000 --- a/.vib/grafana-operator/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-operator" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/grafana-operator/vib-verify.json b/.vib/grafana-operator/vib-verify.json deleted file mode 100644 index 049b350988a3be..00000000000000 --- a/.vib/grafana-operator/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-operator" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-operator" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "grafana-operator/goss/goss.yaml", - "vars_file": "grafana-operator/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-grafana-operator" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/grafana-operator/cypress" - }, - "endpoint": "lb-grafana-operator-grafana-service-grafana-ve", - "app_protocol": "HTTP", - "env": { - "username": "test_admin", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/grafana-tempo/cypress/cypress.config.js b/.vib/grafana-tempo/cypress/cypress.config.js deleted file mode 100644 index d7e9804fd553ca..00000000000000 --- a/.vib/grafana-tempo/cypress/cypress.config.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - env: { - compactorReplicaCount: '2', - distributorReplicaCount: '1', - ingesterReplicaCount: '1', - querierReplicaCount: '1', - metricsReplicaCount: '1', - gossipRingPort: '7946', - }, - e2e: { - // We've imported your old cypress plugins here. - // You may want to clean this up later by importing these. - setupNodeEvents(on, config) { - return require('./cypress/plugins/index.js')(on, config) - }, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/grafana-tempo/cypress/cypress/e2e/grafana_tempo.cy.js b/.vib/grafana-tempo/cypress/cypress/e2e/grafana_tempo.cy.js deleted file mode 100644 index 80f3e46deadfef..00000000000000 --- a/.vib/grafana-tempo/cypress/cypress/e2e/grafana_tempo.cy.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('(ring) is aware of all the replicas', () => { - cy.visit('/compactor/ring'); - cy.get('tr') - .filter(':contains("grafana-tempo-compactor-")') - .then((rows) => { - expect(rows).to.have.length(Cypress.env('compactorReplicaCount')); - cy.wrap(rows).each((row) => { - expect(row).to.contain('ACTIVE'); - }); - }); -}); - -it('lists all components in a healthy state', () => { - const members = ['compactor', 'distributor', 'ingester', 'querier', 'metrics'] - var numMembers = 0 - members.forEach((e) => { - numMembers += parseInt(Cypress.env(`${e}ReplicaCount`), 10) - }) - - cy.visit('/memberlist'); - - cy.contains('it is healthy'); - cy.contains(`cluster has ${numMembers} members`); - - // Check a random member's gossipRing port - var randomMember = members[Math.floor(Math.random()*members.length)]; - cy.contains('tr', `grafana-tempo-${randomMember}-`).then((tr) => { - expect(tr).to.contain(`:${Cypress.env('gossipRingPort')}`); - }); -}); diff --git a/.vib/grafana-tempo/cypress/cypress/plugins/index.js b/.vib/grafana-tempo/cypress/cypress/plugins/index.js deleted file mode 100644 index 54a3a82cf807f8..00000000000000 --- a/.vib/grafana-tempo/cypress/cypress/plugins/index.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -/** - * @type {Cypress.PluginConfig} - */ -// eslint-disable-next-line no-unused-vars -module.exports = (on, config) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config -} diff --git a/.vib/grafana-tempo/cypress/cypress/support/e2e.js b/.vib/grafana-tempo/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/grafana-tempo/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/grafana-tempo/goss/goss.yaml b/.vib/grafana-tempo/goss/goss.yaml deleted file mode 100644 index af0a72164ebb67..00000000000000 --- a/.vib/grafana-tempo/goss/goss.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -addr: - # Querying /ready in HTTP too early results in error 503 and makes the test flaky - tcp://grafana-tempo-ingester:{{ .Vars.ingester.service.ports.http }}: - reachable: true -http: - http://grafana-tempo-distributor:{{ .Vars.distributor.service.ports.http }}/ready: - status: 200 - http://grafana-tempo-querier:{{ .Vars.querier.service.ports.http }}/ready: - status: 200 -file: - {{ .Vars.tempo.dataDir }}: - exists: true - filetype: directory - mode: "2777" - owner: root - /bitnami/grafana-tempo/conf/tempo.yaml: - exists: true - filetype: file - mode: "0644" - owner: root - contents: - - /http_listen_port.*{{ .Vars.tempo.containerPorts.web }}/ - - /override_config.*\/bitnami\/grafana-tempo\/conf\/overrides.yaml/ - - /host.*grafana-tempo-memcached/ - /bitnami/grafana-tempo/conf/overrides.yaml: - exists: true - filetype: file - mode: "0644" - owner: root -command: - vulture-registered-traces: - exec: tempo-cli query api search-tags grafana-tempo-query-frontend:{{ .Vars.queryFrontend.service.ports.http }} - exit-status: 0 - stdout: - - "vulture" - {{- $uid := .Vars.compactor.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.compactor.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/grafana-tempo/runtime-parameters.yaml b/.vib/grafana-tempo/runtime-parameters.yaml deleted file mode 100644 index 2bc543a4501bd8..00000000000000 --- a/.vib/grafana-tempo/runtime-parameters.yaml +++ /dev/null @@ -1,45 +0,0 @@ -tempo: - dataDir: /bitnami/grafana-tempo/data - traces: - otlp: - grpc: true - search: - enabled: true - containerPorts: - web: 3101 - gossipRing: 7946 -compactor: - enabled: true - replicaCount: 2 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - service: - type: LoadBalancer - ports: - http: 80 -distributor: - replicaCount: 1 - service: - ports: - http: 3101 -ingester: - replicaCount: 1 - service: - ports: - http: 3101 -querier: - replicaCount: 1 - service: - ports: - http: 3101 -queryFrontend: - service: - type: LoadBalancer - ports: - http: 80 -vulture: - enabled: true diff --git a/.vib/grafana-tempo/vib-publish.json b/.vib/grafana-tempo/vib-publish.json deleted file mode 100644 index 743132d5eb7aba..00000000000000 --- a/.vib/grafana-tempo/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-tempo" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/grafana-tempo/vib-verify.json b/.vib/grafana-tempo/vib-verify.json deleted file mode 100644 index 4be2514d9df709..00000000000000 --- a/.vib/grafana-tempo/vib-verify.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-tempo" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana-tempo" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "grafana-tempo/goss/goss.yaml", - "vars_file": "grafana-tempo/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-grafana-tempo-compactor" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/grafana-tempo/cypress" - }, - "endpoint": "lb-grafana-tempo-compactor-http", - "app_protocol": "HTTP", - "env": { - "compactorReplicaCount": "2", - "distributorReplicaCount": "1", - "ingesterReplicaCount": "1", - "querierReplicaCount": "1", - "metricsReplicaCount": "1", - "gossipRingPort": "7946" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/grafana/cypress/cypress.config.js b/.vib/grafana/cypress/cypress.config.js deleted file mode 100644 index 31e840f641c202..00000000000000 --- a/.vib/grafana/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - pageLoadTimeout: 120000, - defaultCommandTimeout: 30000, - env: { - username: 'test_admin', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/grafana/cypress/cypress/e2e/grafana.cy.js b/.vib/grafana/cypress/cypress/e2e/grafana.cy.js deleted file mode 100644 index 75ec4e43d8a4c6..00000000000000 --- a/.vib/grafana/cypress/cypress/e2e/grafana.cy.js +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows uploading a dashboard as JSON file', () => { - cy.login(); - cy.visit('/dashboard/import'); - cy.get('[type=file]').selectFile( - 'cypress/fixtures/test-dashboard.json', - { force: true } - ); - - cy.fixture('dashboards').then((dashboard) => { - cy.get('[data-testid*="data-testid-import-dashboard-title"]') - .clear() - .type(`${dashboard.newDashboard.title} ${random}`); - cy.get('[data-testid*="data-testid-import-dashboard-submit"]').click(); - cy.visit('dashboards'); - cy.contains(`${dashboard.newDashboard.title} ${random}`); - }); -}); - -it('allows creating and deleting a data source', () => { - cy.login(); - cy.visit('/datasources/new'); - cy.fixture('datasources').then((datasource) => { - cy.contains('button', datasource.newDatasource.type).click({ force: true }); - }); - cy.get('#basic-settings-name').invoke('attr', 'value').then((datasourceName) => { - cy.visit('/datasources'); - cy.contains('a', datasourceName).click({ force: true }); - cy.contains('button', 'Delete').click(); - cy.get('[data-testid*="Confirm"]').click(); - cy.get('[data-testid*="data-testid Alert success"]').should('be.visible'); - }); -}); - -it('checks admin settings endpoint', () => { - cy.request({ - method: 'GET', - url: '/api/admin/settings', - form: true, - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body).to.include.all.keys( - 'alerting', - 'analytics', - 'security' - ); - }); -}); diff --git a/.vib/grafana/cypress/cypress/fixtures/dashboards.json b/.vib/grafana/cypress/cypress/fixtures/dashboards.json deleted file mode 100644 index ee9461e1c6dd03..00000000000000 --- a/.vib/grafana/cypress/cypress/fixtures/dashboards.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newDashboard": { - "title": "Uploaded Dashboard" - } -} diff --git a/.vib/grafana/cypress/cypress/fixtures/datasources.json b/.vib/grafana/cypress/cypress/fixtures/datasources.json deleted file mode 100644 index 969dcd15b9bfee..00000000000000 --- a/.vib/grafana/cypress/cypress/fixtures/datasources.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newDatasource": { - "type": "Prometheus" - } -} diff --git a/.vib/grafana/cypress/cypress/fixtures/test-dashboard.json b/.vib/grafana/cypress/cypress/fixtures/test-dashboard.json deleted file mode 100644 index 9af3a7c6954836..00000000000000 --- a/.vib/grafana/cypress/cypress/fixtures/test-dashboard.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "id": 12345, - "uid": "cLV5GDCkz", - "title": "New test dashboard", - "tags": [], - "style": "dark", - "timezone": "browser", - "editable": true, - "hideControls": false, - "graphTooltip": 1, - "panels": [], - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "templating": { - "list": [] - }, - "annotations": { - "list": [] - }, - "refresh": "5s", - "schemaVersion": 17, - "version": 0, - "links": [] - } -} diff --git a/.vib/grafana/cypress/cypress/support/commands.js b/.vib/grafana/cypress/cypress/support/commands.js deleted file mode 100644 index f6297d29ac4849..00000000000000 --- a/.vib/grafana/cypress/cypress/support/commands.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.clearCookies(); - cy.visit('/login'); - cy.get('input[name="user"]').type(username); - cy.get('input[name="password"]').type(password); - cy.contains('Log in').click(); - cy.contains('Home'); - } -); - -Cypress.on('uncaught:exception', (err, runnable) => { - // we expect a 3rd party library error with message 'Cannot read properties of undefined' - // and don't want to fail the test so we return false - if (err.message.includes('Cannot read properties of undefined')) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/grafana/cypress/cypress/support/e2e.js b/.vib/grafana/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/grafana/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/grafana/cypress/cypress/support/utils.js b/.vib/grafana/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/grafana/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/grafana/goss/goss.yaml b/.vib/grafana/goss/goss.yaml deleted file mode 100644 index b80c937747a8c0..00000000000000 --- a/.vib/grafana/goss/goss.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /opt/bitnami/grafana/data: - filetype: directory - exists: true - mode: "2775" - /opt/bitnami/grafana/data/plugins/{{ .Vars.plugins }}: - filetype: directory - exists: true - mode: "2755" -command: - grafana-cli-data-migration: - # The 'grafana-cli admin data-migration encrypt-datasource-passwords' command is not working. In the meantime it is fixed, - # the test checks the 'encrypt-datasource-passwords' option appears. - exec: cd /opt/bitnami/grafana && grafana-cli admin data-migration -h - exit-status: 0 - stdout: - - /encrypt-datasource-passwords/ - {{- $uid := .Vars.grafana.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.grafana.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/grafana/runtime-parameters.yaml b/.vib/grafana/runtime-parameters.yaml deleted file mode 100644 index 8a9f12c0952452..00000000000000 --- a/.vib/grafana/runtime-parameters.yaml +++ /dev/null @@ -1,19 +0,0 @@ -admin: - user: test_admin - password: ComplicatedPassword123!4 -plugins: grafana-kubernetes-app -grafana: - containerPorts: - grafana: 3000 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - type: LoadBalancer - ports: - grafana: 80 -persistence: - enabled: true \ No newline at end of file diff --git a/.vib/grafana/vib-publish.json b/.vib/grafana/vib-publish.json deleted file mode 100644 index 585b56abd3c3a5..00000000000000 --- a/.vib/grafana/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/grafana/vib-verify.json b/.vib/grafana/vib-verify.json deleted file mode 100644 index 9d8d6c1146aee3..00000000000000 --- a/.vib/grafana/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/grafana" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "grafana/goss/goss.yaml", - "vars_file": "grafana/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-grafana" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/grafana/cypress" - }, - "endpoint": "lb-grafana-http", - "app_protocol": "HTTP", - "env": { - "username": "test_admin", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/haproxy/cypress/cypress.config.js b/.vib/haproxy/cypress/cypress.config.js deleted file mode 100644 index e36fc00336e10e..00000000000000 --- a/.vib/haproxy/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/haproxy/cypress/cypress/e2e/haproxy.cy.js b/.vib/haproxy/cypress/cypress/e2e/haproxy.cy.js deleted file mode 100644 index 149f850c36e850..00000000000000 --- a/.vib/haproxy/cypress/cypress/e2e/haproxy.cy.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('can access backend server', () => { - // HAProxy is configured with an NGINX server deployed as a sidecar, which - // plays the role of backend. Successful access to NGINX means HAProxy is - // correctly routing! - cy.visit('/'); - cy.contains('Welcome to nginx') -}); \ No newline at end of file diff --git a/.vib/haproxy/cypress/cypress/support/e2e.js b/.vib/haproxy/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/haproxy/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/haproxy/goss/goss.yaml b/.vib/haproxy/goss/goss.yaml deleted file mode 100644 index 53f3b66a8a110a..00000000000000 --- a/.vib/haproxy/goss/goss.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/haproxy/runtime-parameters.yaml b/.vib/haproxy/runtime-parameters.yaml deleted file mode 100644 index f44b00cac9bfba..00000000000000 --- a/.vib/haproxy/runtime-parameters.yaml +++ /dev/null @@ -1,50 +0,0 @@ -configuration: | - global - log stdout format raw local0 - maxconn 1024 - defaults - log global - timeout client 60s - timeout connect 60s - timeout server 60s - frontend fe_main - bind :8081 - default_backend be_main - backend be_main - server web1 127.0.0.1:8080 check -containerPorts: - - name: http - containerPort: 8081 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -serviceAccount: - create: true -automountServiceAccountToken: true -service: - type: LoadBalancer - ports: - - name: http - protocol: TCP - port: 80 - targetPort: http -sidecars: - - name: nginx - image: docker.io/bitnami/nginx:1.25.2-debian-11-r5 - imagePullPolicy: Always - ports: - - name: web - containerPort: 8080 - securityContext: - runAsUser: 1001 - runAsNonRoot: true - privileged: false - readOnlyRootFilesystem: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" diff --git a/.vib/haproxy/vib-publish.json b/.vib/haproxy/vib-publish.json deleted file mode 100644 index 00baecc9366476..00000000000000 --- a/.vib/haproxy/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/haproxy" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/haproxy/vib-verify.json b/.vib/haproxy/vib-verify.json deleted file mode 100644 index d0d7a28951aa24..00000000000000 --- a/.vib/haproxy/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/haproxy" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/haproxy" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "haproxy/goss/goss.yaml", - "vars_file": "haproxy/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-haproxy" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/haproxy/cypress" - }, - "endpoint": "lb-haproxy-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/harbor/cypress/cypress.config.js b/.vib/harbor/cypress/cypress.config.js deleted file mode 100644 index 76924e75e2b33b..00000000000000 --- a/.vib/harbor/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - env: { - username: 'admin', - password: 'ComplicatedPassword123!4', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'https://localhost/', - }, -} diff --git a/.vib/harbor/cypress/cypress/e2e/harbor.cy.js b/.vib/harbor/cypress/cypress/e2e/harbor.cy.js deleted file mode 100644 index 81ee7d18ec621c..00000000000000 --- a/.vib/harbor/cypress/cypress/e2e/harbor.cy.js +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows creating a project', () => { - cy.login(); - cy.visit('/harbor/projects'); - cy.fixture('projects').then((project) => { - cy.contains('New Project').click(); - cy.get('[id*="project_name"]').type(`${project.newProject.name}-${random}`); - cy.contains('button', 'OK').should('not.be.disabled').click(); - cy.contains('Created project successfully'); - }); -}); - -it('allows creating a registry', () => { - cy.login(); - cy.visit('/harbor/registries'); - cy.fixture('registries').then((registry) => { - cy.contains('New Endpoint').click(); - cy.get('#adapter').select(`${registry.newRegistry.provider}`); - cy.get('#destination_name').type(`${registry.newRegistry.name}-${random}`); - cy.get('#destination_url').type(`${registry.newRegistry.url}`); - cy.contains('Test Connection').should('not.be.disabled').click(); - cy.contains('Connection tested successfully'); - cy.contains('button', 'OK').should('not.be.disabled').click(); - cy.contains('.datagrid-table', `${registry.newRegistry.name}-${random}`); - }); -}); - -it('allows launching a vulnerability scan', () => { - cy.login(); - cy.visit('/harbor/interrogation-services/scanners'); - cy.contains('.datagrid-row', 'Trivy').within(() => { - cy.contains('Enabled'); - }); - cy.contains('Vulnerability').click(); - cy.contains('SCAN NOW').click(); - cy.contains('Trigger scan all successfully'); -}); - -it('checks every subcomponent status', () => { - cy.request({ - method: 'GET', - url: '/api/v2.0/health', - form: true, - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.status).to.eq('healthy'); - }); -}); diff --git a/.vib/harbor/cypress/cypress/fixtures/projects.json b/.vib/harbor/cypress/cypress/fixtures/projects.json deleted file mode 100644 index 53099c03e1ac23..00000000000000 --- a/.vib/harbor/cypress/cypress/fixtures/projects.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newProject": { - "name": "example-project" - } -} diff --git a/.vib/harbor/cypress/cypress/fixtures/registries.json b/.vib/harbor/cypress/cypress/fixtures/registries.json deleted file mode 100644 index 94fa6764d57509..00000000000000 --- a/.vib/harbor/cypress/cypress/fixtures/registries.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "newRegistry": { - "provider": "harbor", - "name": "harbor", - "url": "http://harbor-registry:5000" - } -} diff --git a/.vib/harbor/cypress/cypress/support/commands.js b/.vib/harbor/cypress/cypress/support/commands.js deleted file mode 100644 index 28892c547abdfa..00000000000000 --- a/.vib/harbor/cypress/cypress/support/commands.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/account/sign-in'); - cy.get('#login_username').type(username); - cy.get('#login_password').type(password); - cy.get('button[type="submit"]').should('not.be.disabled').click(); - } -); diff --git a/.vib/harbor/cypress/cypress/support/e2e.js b/.vib/harbor/cypress/cypress/support/e2e.js deleted file mode 100644 index 2d27eee1a248bb..00000000000000 --- a/.vib/harbor/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import "./commands"; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/harbor/cypress/cypress/support/utils.js b/.vib/harbor/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/harbor/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/harbor/goss/goss.yaml b/.vib/harbor/goss/goss.yaml deleted file mode 100644 index b4268b61eb926e..00000000000000 --- a/.vib/harbor/goss/goss.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /etc/registry/config.yml: - exists: true - filetype: file - mode: "0644" - owner: root - contents: - - "level: {{ .Vars.logLevel }}" - - "rootdirectory: {{ .Vars.persistence.imageChartStorage.filesystem.rootdirectory }}" - - "addr: localhost:{{ .Vars.registry.server.containerPorts.debug }}" - {{ .Vars.persistence.imageChartStorage.filesystem.rootdirectory }}: - exists: true - filetype: directory - mode: "2775" - owner: root - /etc/registry/root.crt: - exists: true - filetype: file - mode: "0644" - owner: root diff --git a/.vib/harbor/runtime-parameters.yaml b/.vib/harbor/runtime-parameters.yaml deleted file mode 100644 index 84910394529f82..00000000000000 --- a/.vib/harbor/runtime-parameters.yaml +++ /dev/null @@ -1,15 +0,0 @@ -adminPassword: ComplicatedPassword123!4 -exposureType: proxy -service: - ports: - https: 443 - type: LoadBalancer -logLevel: debug -persistence: - imageChartStorage: - filesystem: - rootdirectory: /storage -registry: - server: - containerPorts: - debug: 5001 \ No newline at end of file diff --git a/.vib/harbor/vib-publish.json b/.vib/harbor/vib-publish.json deleted file mode 100644 index 0fc67d7b2f459e..00000000000000 --- a/.vib/harbor/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/harbor" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/harbor/vib-verify.json b/.vib/harbor/vib-verify.json deleted file mode 100644 index 3f2e9f0e6b194e..00000000000000 --- a/.vib/harbor/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/harbor" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/harbor" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "harbor/goss/goss.yaml", - "vars_file": "harbor/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-harbor-registry" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/harbor/cypress" - }, - "endpoint": "lb-harbor-https", - "app_protocol": "HTTPS", - "env": { - "username": "admin", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/influxdb/ginkgo/go.mod b/.vib/influxdb/ginkgo/go.mod deleted file mode 100644 index 9c966ce6ebdf73..00000000000000 --- a/.vib/influxdb/ginkgo/go.mod +++ /dev/null @@ -1,59 +0,0 @@ -module test-influxdb-chart - -go 1.24.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.33.1 - k8s.io/apimachinery v0.33.1 - k8s.io/client-go v0.33.1 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/fxamacker/cbor/v2 v2.7.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.21.0 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.23.0 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/google/gnostic-models v0.6.9 // indirect - github.com/google/go-cmp v0.7.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.6.0 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/x448/float16 v0.8.4 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.9.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.5 // indirect - gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect - k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect - sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect - sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect - sigs.k8s.io/yaml v1.4.0 // indirect -) diff --git a/.vib/influxdb/ginkgo/go.sum b/.vib/influxdb/ginkgo/go.sum deleted file mode 100644 index 448b8ff0731391..00000000000000 --- a/.vib/influxdb/ginkgo/go.sum +++ /dev/null @@ -1,153 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= -github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= -github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= -github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= -github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw= -github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= -github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= -golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= -google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= -gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.33.1 h1:tA6Cf3bHnLIrUK4IqEgb2v++/GYUtqiu9sRVk3iBXyw= -k8s.io/api v0.33.1/go.mod h1:87esjTn9DRSRTD4fWMXamiXxJhpOIREjWOSjsW1kEHw= -k8s.io/apimachinery v0.33.1 h1:mzqXWV8tW9Rw4VeW9rEkqvnxj59k1ezDUl20tFK/oM4= -k8s.io/apimachinery v0.33.1/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM= -k8s.io/client-go v0.33.1 h1:ZZV/Ks2g92cyxWkRRnfUDsnhNn28eFpt26aGc8KbXF4= -k8s.io/client-go v0.33.1/go.mod h1:JAsUrl1ArO7uRVFWfcj6kOomSlCv+JpvIsp6usAGefA= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4= -k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8= -k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro= -k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= -sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo= -sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= -sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc= -sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= -sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/.vib/influxdb/ginkgo/influxdb_suite_test.go b/.vib/influxdb/ginkgo/influxdb_suite_test.go deleted file mode 100644 index fd03130873811a..00000000000000 --- a/.vib/influxdb/ginkgo/influxdb_suite_test.go +++ /dev/null @@ -1,93 +0,0 @@ -package influxdb_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - deployName string - namespace string - database string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&deployName, "name", "", "name of the Influxdb deployment") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&database, "database", "", "name of the database to be used") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestInfluxdb(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Influxdb Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, action, token, query string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "influxdb", - Image: image, - Command: []string{ - "bash", "-ec", - fmt.Sprintf("influxdb3 %s --database %s --host $INFLUX_HOST --token $ADMIN_TOKEN '%s'", action, database, query), - }, - Env: []v1.EnvVar{ - { - Name: "INFLUX_HOST", - Value: fmt.Sprintf("http://%s:%s", deployName, port), - }, - { - Name: "ADMIN_TOKEN", - Value: token, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/influxdb/ginkgo/influxdb_test.go b/.vib/influxdb/ginkgo/influxdb_test.go deleted file mode 100644 index fc308319874c91..00000000000000 --- a/.vib/influxdb/ginkgo/influxdb_test.go +++ /dev/null @@ -1,116 +0,0 @@ -package influxdb_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" - "k8s.io/client-go/rest" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Influxdb", Ordered, func() { - var c *kubernetes.Clientset - var conf *rest.Config - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf = utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("time series data is written and Influxdb is scaled down to 0 replicas and back up", func() { - It("should have access to query the written data", func() { - getAvailableReplicas := func(deploy *appsv1.Deployment) int32 { return deploy.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - deploy, err := c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(deploy.Status.Replicas).NotTo(BeZero()) - origReplicas := *deploy.Spec.Replicas - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, deployName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "http") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.DplGetContainerImage(deploy, "influxdb") - Expect(err).NotTo(HaveOccurred()) - - // Let's obtain the token from the InfluxDB secret - secret, err := c.CoreV1().Secrets(namespace).Get(ctx, "influxdb", getOpts) - Expect(err).NotTo(HaveOccurred()) - - // The token is stored in the secret as a base64 encoded string - tokenBytes, ok := secret.Data["admin-token"] - Expect(ok).To(BeTrue()) - - // We don't need to decode the string, the Go K8s client does it for us - token := string(tokenBytes) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to write data") - createDBJobName := fmt.Sprintf("%s-write-%s", - deployName, jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, "write", token, `home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1747036800`) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("scaling down to 0 replicas") - deploy, err = utils.DplScale(ctx, c, deploy, 0) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, BeZero())) - - By("scaling up to the original replicas") - deploy, err = utils.DplScale(ctx, c, deploy, origReplicas) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to query the data") - queryJobName := fmt.Sprintf("%s-query-%s", - deployName, jobSuffix) - err = createJob(ctx, c, queryJobName, port, image, "query", token, "SELECT * FROM home") - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, queryJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/influxdb/goss/goss.yaml b/.vib/influxdb/goss/goss.yaml deleted file mode 100644 index 7d9d27ed1db816..00000000000000 --- a/.vib/influxdb/goss/goss.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - # This file shouldn't exist given the token is created - # using a K8s Job - /bitnami/influxdb/.token: - exists: false -addr: - tcp://influxdb:{{ .Vars.service.ports.http }}: - reachable: true - timeout: 10000 - tcp://127.0.0.1:{{ .Vars.containerPorts.http }}: - reachable: true - timeout: 10000 -command: - influxdb3-show-databases: - exec: bash -c ". /opt/bitnami/scripts/influxdb-env.sh; influxdb3 show databases --host http://127.0.0.1:{{ .Vars.containerPorts.http }} --token \$INFLUXDB_ADMIN_TOKEN" - exit-status: 0 - stdout: - - "{{ .Vars.databases }}" - influxdb3-write: - exec: bash -c ". /opt/bitnami/scripts/influxdb-env.sh; influxdb3 write --database {{ .Vars.databases }} --host http://influxdb:{{ .Vars.service.ports.http }} --token \$INFLUXDB_ADMIN_TOKEN 'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1747036800'" - exit-status: 0 - stdout: - - "success" - influxdb3-query: - exec: bash -c "sleep 3; . /opt/bitnami/scripts/influxdb-env.sh; influxdb3 query --database {{ .Vars.databases }} --host http://influxdb:{{ .Vars.service.ports.http }} --token \$INFLUXDB_ADMIN_TOKEN 'SELECT * FROM home'" - exit-status: 0 - stdout: - - "Living Room" - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/influxdb/runtime-parameters.yaml b/.vib/influxdb/runtime-parameters.yaml deleted file mode 100644 index 3872f61dff01a1..00000000000000 --- a/.vib/influxdb/runtime-parameters.yaml +++ /dev/null @@ -1,219 +0,0 @@ -objectStore: s3 -bucket: influxdb -s3: - auth: - accessKeyId: some-access-key-id - secretAccessKey: some-secret-access-key - existingSecret: seaweedfs - endpoint: http://seaweedfs:8333 -databases: foo -containerPorts: - http: 8181 -containerSecurityContext: - enabled: true - runAsUser: 1002 -podSecurityContext: - enabled: true - fsGroup: 1002 -service: - type: LoadBalancer - ports: - http: 80 -serviceAccount: - create: true - automountServiceAccountToken: true -# Using Helm hooks is incompatible with 'extra-deploy' objects given -# the pre-install hook requires these 'extra-deploy' objects to be created -# in advance, hence we'll run 'create-admin-token' as a normal K8s job -useHelmHooks: false -createAdminTokenJob: - enabled: true - cleanup: false - waitForS3: - retryAttempts: 30 - retryInterval: 5 -extraDeploy: -- apiVersion: v1 - kind: Secret - metadata: - name: seaweedfs - namespace: "{{ include \"common.names.namespace\" . }}" - labels: - app.kubernetes.io/part-of: influxdb - app.kubernetes.io/component: seaweedfs - type: Opaque - data: - s3-access-key-id: "{{ .Values.s3.auth.accessKeyId | b64enc }}" - s3-secret-access-key: "{{ .Values.s3.auth.secretAccessKey | b64enc }}" -- apiVersion: apps/v1 - kind: StatefulSet - metadata: - name: seaweedfs - namespace: "{{ include \"common.names.namespace\" . }}" - labels: - app.kubernetes.io/part-of: influxdb - app.kubernetes.io/component: seaweedfs - spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/part-of: influxdb - app.kubernetes.io/component: seaweedfs - serviceName: seaweedfs - template: - metadata: - labels: - app.kubernetes.io/part-of: influxdb - app.kubernetes.io/component: seaweedfs - spec: - initContainers: - - name: auth-config-init - image: docker.io/bitnami/seaweedfs:latest - command: - - bash - args: - - -ec - - | - cat > "/s3/config.json" < - -it('lists and retrieves jaeger traces', () => { - - // The container we use to create traces, uses 'frontend' as a service name - const testService = 'frontend'; - const currentDate = new Date(); - const timestampMillis = currentDate.getTime() * 1000; - - cy.visit(`/search?end=${timestampMillis}&limit=20&lookback=1h&maxDuration&minDuration&service=${testService}&start=0`); - - cy.contains('a', '/dispatch').invoke('attr', 'href').then((href) => { - const traceID = href.substring(href.lastIndexOf('/') + 1, href.length); - - cy.request({ - method: 'GET', - url: `/api/traces/${traceID}` - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.data[0].traceID).to.eq(traceID); - }); - }) -}); diff --git a/.vib/jaeger/cypress/cypress/support/e2e.js b/.vib/jaeger/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/jaeger/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/jaeger/goss/goss.yaml b/.vib/jaeger/goss/goss.yaml deleted file mode 100644 index f322619d665f89..00000000000000 --- a/.vib/jaeger/goss/goss.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://jaeger-collector:{{ .Vars.collector.service.ports.otlp.http }}/v1/traces: - status: 405 - body: - - method not allowed - http://jaeger-query:{{ .Vars.query.service.ports.http }}/: - status: 200 - body: - - Jaeger UI - http://localhost:{{ .Vars.collector.containerPorts.otlp.http }}/v1/traces: - status: 405 - body: - - method not allowed -command: - check-cassandra-auth: - exec: \[ $CASSANDRA_USERNAME = {{ .Vars.cassandra.dbUser.user }} ] && [ $CASSANDRA_PASSWORD = {{ .Vars.cassandra.dbUser.password }} ] && [ $CASSANDRA_KEYSPACE = {{ .Vars.cassandra.keyspace }} ]; - exit-status: 0 - {{- $uid := .Vars.collector.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.collector.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/jaeger/runtime-parameters.yaml b/.vib/jaeger/runtime-parameters.yaml deleted file mode 100644 index 50019d4d8f1a73..00000000000000 --- a/.vib/jaeger/runtime-parameters.yaml +++ /dev/null @@ -1,74 +0,0 @@ -query: - sidecars: |- - - name: hotrod-example - image: jaegertracing/example-hotrod:latest - args: ['all'] - env: - - name: OTEL_EXPORTER_OTLP_ENDPOINT - value: http://jaeger-collector:14318 - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - {{- if not (.Capabilities.APIVersions.Has "security.openshift.io/v1") }} - runAsUser: 1001 - {{- end }} - capabilities: - drop: [ "ALL" ] - seccompProfile: - type: "RuntimeDefault" - - name: trace-generator - image: bitnami/os-shell:11-debian-11-r2 - command: - - /bin/bash - - -ec - - | - #!/bin/bash - while true; do - # Sample taken from inspecting hotrod code - curl 'http://127.0.0.1:8080/dispatch?customer=392&nonse=0.45838884710501726' - sleep 5 - done - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: [ "ALL" ] - seccompProfile: - type: "RuntimeDefault" - service: - type: LoadBalancer - ports: - grpc: 16688 - http: 80 -collector: - service: - ports: - otlp: - http: 14318 - containerPorts: - otlp: - http: 14318 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - serviceAccount: - create: true - automountServiceAccountToken: true - extraVolumes: - - name: empty-dir - emptyDir: {} - extraVolumeMounts: - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir -cassandra: - enabled: true - keyspace: bitnami_test_jaeger - dbUser: - user: bn_test_jaeger - password: bn_test_jaeger diff --git a/.vib/jaeger/vib-action.config b/.vib/jaeger/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/jaeger/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/jaeger/vib-publish.json b/.vib/jaeger/vib-publish.json deleted file mode 100644 index c8e3e6a77a2303..00000000000000 --- a/.vib/jaeger/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jaeger" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/jaeger/vib-verify.json b/.vib/jaeger/vib-verify.json deleted file mode 100644 index 073ac8114af9a0..00000000000000 --- a/.vib/jaeger/vib-verify.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jaeger" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jaeger" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4", - "worker_nodes_instance_count": 3 - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "jaeger/goss/goss.yaml", - "vars_file": "jaeger/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-jaeger-collector" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/jaeger/cypress" - }, - "endpoint": "lb-jaeger-query-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/janusgraph/goss/goss.yaml b/.vib/janusgraph/goss/goss.yaml deleted file mode 100644 index 61c3f66c0be575..00000000000000 --- a/.vib/janusgraph/goss/goss.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $vertex_name := printf "test_%s" (randAlpha 5) }} - janusgraph-graph-creation: - exec: JAVA_OPTIONS="" /opt/bitnami/scripts/janusgraph/entrypoint.sh gremlin.sh -e ./janusgraph/goss/testfiles/test.groovy {{ $vertex_name }} - exit-status: 0 - timeout: 180000 - stdout: - - "object={{ $vertex_name }}" - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 -file: - /bitnami/janusgraph/conf/janusgraph.properties: - exists: true - filetype: file - mode: "0644" - contents: - - /storage.backend/ -http: - http://janusgraph-metrics:{{ .Vars.metrics.service.ports.metrics }}/metrics: - status: 200 - body: - - /metrics_org_janusgraph_.*/ -addr: - tcp://janusgraph:{{ .Vars.service.ports.gremlin }}: - reachable: true diff --git a/.vib/janusgraph/goss/testfiles/test.groovy b/.vib/janusgraph/goss/testfiles/test.groovy deleted file mode 100755 index 46fcb64a839c6d..00000000000000 --- a/.vib/janusgraph/goss/testfiles/test.groovy +++ /dev/null @@ -1,9 +0,0 @@ -conf = new File('conf/remote.yaml'); -cluster = Cluster.build(conf).create(); -client = cluster.connect(); - -// Add a vertex -client.submit("graph.addVertex('name', '${args[0]}')").all().get(); -// Read all vertex -r = client.submit('g.V().values("name")'); -println "Result:" + r.toList(); diff --git a/.vib/janusgraph/runtime-parameters.yaml b/.vib/janusgraph/runtime-parameters.yaml deleted file mode 100644 index 1d92c88b79deab..00000000000000 --- a/.vib/janusgraph/runtime-parameters.yaml +++ /dev/null @@ -1,17 +0,0 @@ -containerPorts: - gremlin: 8183 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - type: LoadBalancer - ports: - gremlin: 8184 -metrics: - enabled: true - service: - ports: - metrics: 5557 diff --git a/.vib/janusgraph/vib-publish.json b/.vib/janusgraph/vib-publish.json deleted file mode 100644 index 22f2ac5d07eceb..00000000000000 --- a/.vib/janusgraph/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/janusgraph" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/janusgraph/vib-verify.json b/.vib/janusgraph/vib-verify.json deleted file mode 100644 index 64caf732ee6491..00000000000000 --- a/.vib/janusgraph/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/janusgraph" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/janusgraph" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "janusgraph/goss/goss.yaml", - "vars_file": "janusgraph/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-janusgraph" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/jenkins/cypress/cypress.config.js b/.vib/jenkins/cypress/cypress.config.js deleted file mode 100644 index 76b333669f4c41..00000000000000 --- a/.vib/jenkins/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - env: { - username: 'user', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/jenkins/cypress/cypress/e2e/jenkins.cy.js b/.vib/jenkins/cypress/cypress/e2e/jenkins.cy.js deleted file mode 100644 index d7c943cb282c08..00000000000000 --- a/.vib/jenkins/cypress/cypress/e2e/jenkins.cy.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random, checkErrors } from '../support/utils'; - -it('should be possible to create a new Jenkins pipeline', () => { - cy.login(); - cy.visit('/view/All/newJob'); - - cy.fixture('items').then((item) => { - cy.get('#name').type(`${item.freestyleProject.name}-${random}`); - cy.contains(item.freestyleProject.type).click(); - cy.contains('button', 'OK').should('be.enabled').click(); - cy.contains('Error').should('not.exist'); - - cy.contains('button', 'Save').click(); - cy.contains('h1', item.freestyleProject.name); - }); - - // As a new project is created in every execution, the next build - // will always be the first one. - const nextBuildNumber = 1; - cy.contains('Build Now').click(); - cy.contains(`#${nextBuildNumber}`); - - cy.contains('Build Now'); - // Depending on the setup, the node where to execute the build needs to be - // provisioned, which can take up some time - cy.get(`a[href$='/${nextBuildNumber}/'][class*='app-builds']`).click(); - - cy.fixture('items').then((item) => { - cy.visit( - `/job/${item.freestyleProject.name}-${random}/${nextBuildNumber}/` - ); - cy.contains(`#${nextBuildNumber}`); - cy.contains('Started by user'); - }); -}); - -it('should list the built-in node', () => { - cy.login(); - cy.visit('/computer'); - - cy.contains('Nodes'); - cy.get('table#computers').within(() => { - cy.contains('tr', 'Built-In Node'); - }); -}); diff --git a/.vib/jenkins/cypress/cypress/fixtures/items.json b/.vib/jenkins/cypress/cypress/fixtures/items.json deleted file mode 100644 index 2c4e6ef5c8b5b0..00000000000000 --- a/.vib/jenkins/cypress/cypress/fixtures/items.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "freestyleProject": { - "name": "ProjectTest", - "type": "Freestyle project" - } -} diff --git a/.vib/jenkins/cypress/cypress/support/commands.js b/.vib/jenkins/cypress/cypress/support/commands.js deleted file mode 100644 index cfdaf86e52c28d..00000000000000 --- a/.vib/jenkins/cypress/cypress/support/commands.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/login'); - cy.get('#j_username').type(username); - cy.get('#j_password').type(password); - cy.get('[name=Submit]').click(); - cy.get('a[href*="/manage"]').should('be.visible'); - } -); diff --git a/.vib/jenkins/cypress/cypress/support/e2e.js b/.vib/jenkins/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/jenkins/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/jenkins/cypress/cypress/support/utils.js b/.vib/jenkins/cypress/cypress/support/utils.js deleted file mode 100644 index 61c27c283ff13b..00000000000000 --- a/.vib/jenkins/cypress/cypress/support/utils.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); - -export const checkErrors = (selector, allowedList) => { - cy.get(selector).then(($errors) => { - const errorMessages = []; - for (let index = 0; index < $errors.length; index++) { - const errorMsg = $errors[index].outerText; - const visible = Cypress.$($errors[index]).is(':visible'); - if (visible && !allowedList.includes(errorMsg)) { - cy.log( - `The following misconfiguration message appears in the UI: ${errorMsg}` - ); - errorMessages.push(errorMsg); - } - } - expect(errorMessages).to.be.empty; - }); -}; diff --git a/.vib/jenkins/goss/goss.yaml b/.vib/jenkins/goss/goss.yaml deleted file mode 100644 index 7468fc60735651..00000000000000 --- a/.vib/jenkins/goss/goss.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - jenkins-cli-user: - exec: java -jar /bitnami/jenkins/home/war/WEB-INF/lib/cli-${APP_VERSION}.jar -s http://localhost:{{ .Vars.containerPorts.http }} -auth {{ .Vars.jenkinsUser }}:{{ .Vars.jenkinsPassword }} who-am-i - exit-status: 0 - timeout: 20000 -file: - /bitnami/jenkins: - exists: true - mode: "2775" - owner: root - filetype: directory diff --git a/.vib/jenkins/runtime-parameters.yaml b/.vib/jenkins/runtime-parameters.yaml deleted file mode 100644 index d348460f7da551..00000000000000 --- a/.vib/jenkins/runtime-parameters.yaml +++ /dev/null @@ -1,8 +0,0 @@ -jenkinsUser: user -jenkinsPassword: ComplicatedPassword123!4 -containerPorts: - http: 8080 -service: - type: LoadBalancer - ports: - http: 80 diff --git a/.vib/jenkins/vib-publish.json b/.vib/jenkins/vib-publish.json deleted file mode 100644 index 19046c16d39071..00000000000000 --- a/.vib/jenkins/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jenkins" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/jenkins/vib-verify.json b/.vib/jenkins/vib-verify.json deleted file mode 100644 index 216fac9f479af5..00000000000000 --- a/.vib/jenkins/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jenkins" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jenkins" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "jenkins/goss/goss.yaml", - "vars_file": "jenkins/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-jenkins" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/jenkins/cypress" - }, - "endpoint": "lb-jenkins-http", - "app_protocol": "HTTP", - "env": { - "username": "user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/jupyterhub/cypress/cypress.config.js b/.vib/jupyterhub/cypress/cypress.config.js deleted file mode 100644 index c48dcf287f1f99..00000000000000 --- a/.vib/jupyterhub/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - env: { - username: 'test_user', - password: 'BitnamiComplicatedPassword123!45678', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, - retries: 5 -} diff --git a/.vib/jupyterhub/cypress/cypress/e2e/jupyterhub.cy.js b/.vib/jupyterhub/cypress/cypress/e2e/jupyterhub.cy.js deleted file mode 100644 index 53d9ef1d86e474..00000000000000 --- a/.vib/jupyterhub/cypress/cypress/e2e/jupyterhub.cy.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows to upload and execute a python notebook', () => { - cy.session('test_upload', () => { - const notebookName = `notebook_template_${random}.ipynb`; - const userName = Cypress.env('username'); - - cy.clearCookies() - cy.login(); - cy.visit(`/user/${userName}/tree/tmp`); - cy.contains('Upload').should('be.visible'); - cy.get('[type=file]').selectFile('cypress/fixtures/notebook_template.ipynb', { - force: true, - }); - cy.get('.filename_input').clear().type(notebookName); - cy.contains('button', 'Upload').click(); - cy.contains('a', notebookName); - - cy.visit(`/user/${userName}/notebooks/tmp/${notebookName}`); - cy.contains('button', 'Run').click(); - cy.contains('Hello World!'); - }); -}); - -it('allows generating an API token', () => { - cy.session('test_token', () => { - cy.clearCookies() - cy.login(); - cy.visit('/hub/token'); - // We need to wait until the background API request is finished - cy.contains(/\d+Z/).should('not.exist'); - cy.contains('button', 'API token').click(); - cy.get('#token-result') - .should('be.visible') - .invoke('text') - .then((apiToken) => { - cy.request({ - url: '/hub/api/users', - method: 'GET', - headers: { - Authorization: `token ${apiToken}`, - }, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body[0].name).to.eq(Cypress.env('username')); - }); - }); - }); -}); diff --git a/.vib/jupyterhub/cypress/cypress/fixtures/notebook_template.ipynb b/.vib/jupyterhub/cypress/cypress/fixtures/notebook_template.ipynb deleted file mode 100644 index fdf479ce0aea03..00000000000000 --- a/.vib/jupyterhub/cypress/cypress/fixtures/notebook_template.ipynb +++ /dev/null @@ -1,51 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "908534a5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Hello World!" - ] - } - ], - "source": [ - "print(\"Hello\" + \" World!\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "215c7ef4", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.9" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/.vib/jupyterhub/cypress/cypress/support/commands.js b/.vib/jupyterhub/cypress/cypress/support/commands.js deleted file mode 100644 index c1d10b6f00dd74..00000000000000 --- a/.vib/jupyterhub/cypress/cypress/support/commands.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.get('#username_input').type(username); - cy.get('#password_input').type(password); - cy.get('#login_submit').click(); - // The authentication is not completed until the page is rendered - // Accessing the for the first time may take extra-time: "Your server is starting up" - cy.contains('Launcher', {timeout: 60000}); - } -); - -Cypress.on('uncaught:exception', (err, runnable) => { - // we expect a 3rd party library error with message 'list not defined' - // and don't want to fail the test so we return false - if (err.message.includes('Cannot read properties of null')) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/jupyterhub/cypress/cypress/support/e2e.js b/.vib/jupyterhub/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/jupyterhub/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/jupyterhub/cypress/cypress/support/utils.js b/.vib/jupyterhub/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/jupyterhub/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/jupyterhub/goss/goss.yaml b/.vib/jupyterhub/goss/goss.yaml deleted file mode 100644 index 37e8a650f79aab..00000000000000 --- a/.vib/jupyterhub/goss/goss.yaml +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - # For this test to work, the pod should have the proper label to allow ingress - # traffic as per the NetworkPolicy - http://jupyterhub-hub:{{ .Vars.hub.service.ports.http }}/hub/health: - status: 200 - http://jupyterhub-proxy-api:{{ .Vars.proxy.service.api.ports.http }}: - status: 404 -file: - /etc/jupyterhub: - exists: true - filetype: directory - mode: "0755" - owner: root - /etc/jupyterhub/jupyterhub_config.py: - exists: true - filetype: file - mode: "0644" - owner: root - contents: - - /hub_container_port.*{{ .Vars.hub.containerPorts.http }}/ - /usr/local/etc/jupyterhub/secret/values.yaml: - exists: true - filetype: symlink - mode: "0777" - owner: root - contents: - - "postgresql://{{ .Vars.postgresql.auth.username }}@jupyterhub-postgresql:{{ .Vars.postgresql.service.ports.postgresql }}/{{ .Vars.postgresql.auth.database }}" - - /type.*dynamic/ -command: - {{- $uid := .Vars.hub.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.hub.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.hub.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/jupyterhub/runtime-parameters.yaml b/.vib/jupyterhub/runtime-parameters.yaml deleted file mode 100644 index e29bccb3fc3fb3..00000000000000 --- a/.vib/jupyterhub/runtime-parameters.yaml +++ /dev/null @@ -1,45 +0,0 @@ -hub: - baseUrl: / - adminUser: test_user - password: BitnamiComplicatedPassword123!45678 - containerPorts: - http: 8082 - containerSecurityContext: - enabled: true - runAsUser: 1002 - podSecurityContext: - enabled: true - fsGroup: 1002 - serviceAccount: - create: true - automountServiceAccountToken: true - rbac: - create: true - # The label is needed for GOSS tests - podLabels: - hub.jupyter.org/network-access-hub: "true" - service: - ports: - http: 8082 -proxy: - service: - api: - ports: - http: 8000 - public: - type: LoadBalancer - ports: - http: 80 -imagePuller: - enabled: true -singleuser: - persistence: - enabled: true -postgresql: - enabled: true - auth: - username: bn_vib_jupyterhub - database: bitnami_vib_jupyterhub - service: - ports: - postgresql: 5432 \ No newline at end of file diff --git a/.vib/jupyterhub/vib-action.config b/.vib/jupyterhub/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/jupyterhub/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/jupyterhub/vib-publish.json b/.vib/jupyterhub/vib-publish.json deleted file mode 100644 index a6a5a7f542addd..00000000000000 --- a/.vib/jupyterhub/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jupyterhub" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/jupyterhub/vib-verify.json b/.vib/jupyterhub/vib-verify.json deleted file mode 100644 index c9e59ec2d011f0..00000000000000 --- a/.vib/jupyterhub/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jupyterhub" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jupyterhub" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "jupyterhub/goss/goss.yaml", - "vars_file": "jupyterhub/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-jupyterhub-hub" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/jupyterhub/cypress" - }, - "endpoint": "lb-jupyterhub-proxy-public-http", - "app_protocol": "HTTP", - "env": { - "username": "test_user", - "password": "BitnamiComplicatedPassword123!45678" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kafka/ginkgo/go.mod b/.vib/kafka/ginkgo/go.mod deleted file mode 100644 index 6771b2d6a9d228..00000000000000 --- a/.vib/kafka/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-kafka-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/kafka/ginkgo/go.sum b/.vib/kafka/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/kafka/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/kafka/ginkgo/kafka_suite_test.go b/.vib/kafka/ginkgo/kafka_suite_test.go deleted file mode 100644 index ca95b5f0041e25..00000000000000 --- a/.vib/kafka/ginkgo/kafka_suite_test.go +++ /dev/null @@ -1,88 +0,0 @@ -package kafka_test - -import ( - "context" - "flag" - "testing" - "time" - - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - releaseName string - namespace string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&releaseName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestKafka(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Kafka Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name string, port string, image string, op string, topic string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "kafka", - Image: image, - Command: []string{"kafka-topics.sh", op, "--topic", topic, "--bootstrap-server", "$(KAFKA_HOST):$(KAFKA_PORT)"}, - Env: []v1.EnvVar{ - { - Name: "KAFKA_HOST", - Value: releaseName, - }, - { - Name: "KAFKA_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/kafka/ginkgo/kafka_test.go b/.vib/kafka/ginkgo/kafka_test.go deleted file mode 100644 index 61236556641dbf..00000000000000 --- a/.vib/kafka/ginkgo/kafka_test.go +++ /dev/null @@ -1,105 +0,0 @@ -package kafka_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Kafka", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a topic is created and Kafka is scaled down to 0 replicas and back up", func() { - It("should have access to the created topic", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - stsName := fmt.Sprintf("%s-controller", releaseName) - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, releaseName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-client") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "kafka") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test topic") - createTPJobName := fmt.Sprintf("%s-createtp-%s", - stsName, jobSuffix) - tpName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createTPJobName, port, image, "--create", tpName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createTPJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test topic") - deleteTPJobName := fmt.Sprintf("%s-deletetp-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteTPJobName, port, image, "--delete", tpName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteTPJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/kafka/goss/goss.yaml b/.vib/kafka/goss/goss.yaml deleted file mode 100644 index 3b321dd29f5611..00000000000000 --- a/.vib/kafka/goss/goss.yaml +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.controller.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root - {{ .Vars.controller.logPersistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root - /opt/bitnami/kafka/config/server.properties: - exists: true - filetype: file - mode: "0644" - contents: - - "listeners=CLIENT://:{{ .Vars.listeners.client.containerPort }},INTERNAL://:{{ .Vars.listeners.interbroker.containerPort }},EXTERNAL://:{{ .Vars.listeners.external.containerPort }},CONTROLLER://:{{ .Vars.listeners.controller.containerPort }}" -command: - create-kafka-topic: - exec: kafka-topics.sh --create --topic quickstart-events{{randAlpha 5}} --bootstrap-server kafka:{{ .Vars.service.ports.client }} - exit-status: 0 - timeout: 20000 - {{- $uid := .Vars.controller.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.controller.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.controller.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/kafka/runtime-parameters.yaml b/.vib/kafka/runtime-parameters.yaml deleted file mode 100644 index 0acc9de339e65f..00000000000000 --- a/.vib/kafka/runtime-parameters.yaml +++ /dev/null @@ -1,45 +0,0 @@ -externalAccess: - enabled: true - controller: - service: - ports: - external: 80 - type: LoadBalancer -defaultInitContainers: - autoDiscovery: - enabled: true - containerSecurityContext: - enabled: true - runAsUser: 1002 -rbac: - create: true -listeners: - client: - containerPort: 9192 - protocol: PLAINTEXT - controller: - containerPort: 9193 - interbroker: - containerPort: 9194 - external: - containerPort: 9195 -service: - ports: - client: 19092 - controller: 19093 - interbroker: 19094 -controller: - logPersistence: - enabled: true - mountPath: /opt/bitnami/kafka/logs - persistence: - mountPath: /bitnami/kafka - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - automountServiceAccountToken: true -serviceAccount: - create: true diff --git a/.vib/kafka/vib-publish.json b/.vib/kafka/vib-publish.json deleted file mode 100644 index 3b5fc769c44f2f..00000000000000 --- a/.vib/kafka/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kafka" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kafka/vib-verify.json b/.vib/kafka/vib-verify.json deleted file mode 100644 index 3996f4321bce68..00000000000000 --- a/.vib/kafka/vib-verify.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kafka" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kafka" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "kafka/goss/goss.yaml", - "vars_file": "kafka/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-kafka-controller" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/kafka/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "kafka" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/keycloak/cypress/cypress.config.js b/.vib/keycloak/cypress/cypress.config.js deleted file mode 100644 index 409611cf7bbb8d..00000000000000 --- a/.vib/keycloak/cypress/cypress.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - pageLoadTimeout: 240000, - defaultCommandTimeout: 90000, - viewportWidth: 1920, - viewportHeight: 1080, - env: { - username: 'user', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/keycloak/cypress/cypress/e2e/keycloak.cy.js b/.vib/keycloak/cypress/cypress/e2e/keycloak.cy.js deleted file mode 100644 index e423e450ef9804..00000000000000 --- a/.vib/keycloak/cypress/cypress/e2e/keycloak.cy.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows creating a new user', () => { - cy.login(); - cy.get('[href*="/users"]').click(); - cy.get('[data-testid="add-user"]').click(); - cy.fixture('users').then((user) => { - cy.get('#username').type(`${user.newUser.username}.${random}`); - cy.get('#firstName').type(`${user.newUser.firstName}.${random}`); - cy.get('#lastName').type(`${user.newUser.lastName}.${random}`); - }); - cy.get('[data-testid="user-creation-save"]').click({ force: true }); - cy.contains('The user has been created'); -}); - -it('import and check user information', () => { - cy.login(); - cy.get('[href*="/realm-settings"]').click(); - cy.get('[data-testid="action-dropdown"]').click(); - cy.get('[data-testid="openPartialImportModal"]').click(); - const importFile = 'cypress/fixtures/import-data.json'; - cy.fixture('users').then((user) => { - cy.readFile(importFile).then((obj) => { - obj.users[0].username = `${user.importedUser.username}.${random}`; - obj.users[0].email = `${random}.${user.importedUser.email}`; - obj.users[0].lastName = `${user.importedUser.lastName}-${random}`; - cy.writeFile(importFile, obj); - }); - cy.get('#partial-import-file-filename').selectFile(importFile, { action: 'drag-drop' }); - cy.get('[data-testid="users-checkbox"]').click(); - cy.get('[data-testid="confirm"]').click(); - cy.contains('record added'); - cy.get('[data-testid="close-button"]').click(); - cy.get('[href*="/users"]').click(); - cy.contains(`${user.importedUser.username}.${random}`); - }); -}); diff --git a/.vib/keycloak/cypress/cypress/fixtures/empty-localization-file.json b/.vib/keycloak/cypress/cypress/fixtures/empty-localization-file.json deleted file mode 100644 index 0967ef424bce67..00000000000000 --- a/.vib/keycloak/cypress/cypress/fixtures/empty-localization-file.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/.vib/keycloak/cypress/cypress/fixtures/import-data.json b/.vib/keycloak/cypress/cypress/fixtures/import-data.json deleted file mode 100644 index da3db2c5753aac..00000000000000 --- a/.vib/keycloak/cypress/cypress/fixtures/import-data.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "users" : [ { - "id" : "", - "createdTimestamp" : 0, - "username" : "test-realm-user", - "enabled" : true, - "totp" : false, - "emailVerified" : true, - "firstName" : "test-realm", - "lastName" : "user", - "email" : "test-realm-user@example.com", - "credentials" : [ ], - "disableableCredentialTypes" : [ ], - "requiredActions" : [ ], - "realmRoles" : [ "default-roles-test-realm" ], - "notBefore" : 0, - "groups" : [ ] - } ] -} diff --git a/.vib/keycloak/cypress/cypress/fixtures/locales.json b/.vib/keycloak/cypress/cypress/fixtures/locales.json deleted file mode 100644 index 9c509cf6e0184c..00000000000000 --- a/.vib/keycloak/cypress/cypress/fixtures/locales.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "German": "DE" -} diff --git a/.vib/keycloak/cypress/cypress/fixtures/users.json b/.vib/keycloak/cypress/cypress/fixtures/users.json deleted file mode 100644 index 34f082bb5aaabd..00000000000000 --- a/.vib/keycloak/cypress/cypress/fixtures/users.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "newUser": { - "firstName": "Theodore", - "lastName": "Ronclaw", - "username": "thea", - "email": "thea@mail.com", - "password": "someComplicatedPass12345!", - "role": "User" - }, - "importedUser": { - "lastName": "Ranvenclaw", - "username": "theo", - "email": "theo@mail.com" - } -} diff --git a/.vib/keycloak/cypress/cypress/support/commands.js b/.vib/keycloak/cypress/cypress/support/commands.js deleted file mode 100644 index 709bb4bdf1f706..00000000000000 --- a/.vib/keycloak/cypress/cypress/support/commands.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.clearCookies(); - cy.visit('/admin'); - cy.get('#username').type(username); - cy.get('#password').type(password); - cy.get('[type="submit"]').click(); - cy.contains('Loading').should('not.exist'); - } -); - -Cypress.on('uncaught:exception', (err, runnable, promise) => { - // when the exception originated from an unhandled promise - // rejection, the promise is provided as a third argument - // you can turn off failing the test in this case - if (promise) { - return false - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/keycloak/cypress/cypress/support/e2e.js b/.vib/keycloak/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/keycloak/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/keycloak/cypress/cypress/support/utils.js b/.vib/keycloak/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/keycloak/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/keycloak/goss/goss.yaml b/.vib/keycloak/goss/goss.yaml deleted file mode 100644 index f6058a7b68d5e0..00000000000000 --- a/.vib/keycloak/goss/goss.yaml +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /opt/bitnami/keycloak/conf/keycloak.conf: - exists: true - filetype: file - mode: "0644" -command: - check-logging-config: - exec: $(echo $KC_LOG_CONSOLE_OUTPUT | grep -q {{ .Vars.logging.output }}) - exit-status: 0 - {{ if .Vars.tls.enabled }} - check-https-port-config: - exec: $(echo $KC_HTTPS_PORT | grep -q {{ .Vars.containerPorts.https }}) - exit-status: 0 - {{ if .Vars.tls.autoGenerated.enabled }} - check-https-certs-config: - exec: $(echo $KC_HTTPS_CERTIFICATE_FILE | grep -q /opt/bitnami/keycloak/certs/tls.crt && echo $KC_HTTPS_CERTIFICATE_KEY_FILE | grep -q /opt/bitnami/keycloak/certs/tls.key) - exit-status: 0 - {{ end }} - {{ end }} - {{ if .Vars.metrics.enabled }} - check-management-port-config: - exec: $(echo $KC_HTTP_MANAGEMENT_PORT | grep -q {{ .Vars.containerPorts.management }}) - exit-status: 0 - check-metrics-config: - exec: $(echo $KC_METRICS_ENABLED | grep -q true) - exit-status: 0 - {{ end }} - {{ if and .Vars.serviceAccount.create .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -http: - https://127.0.0.1:{{ .Vars.containerPorts.https }}/realms/master: - status: 200 - timeout: 10000 - allow-insecure: true - body: - - /realm.*master/ - https://127.0.0.1:{{ .Vars.containerPorts.management }}/health: - status: 200 - timeout: 10000 - allow-insecure: true - body: - - /status.*UP/ - {{ if .Vars.metrics.enabled }} - https://127.0.0.1:{{ .Vars.containerPorts.management }}/metrics: - status: 200 - timeout: 10000 - allow-insecure: true - body: - - /http_server_requests_seconds/ - https://keycloak-metrics:{{ .Vars.metrics.service.ports.metrics }}/metrics: - status: 200 - timeout: 10000 - allow-insecure: true - body: - - /http_server_requests_seconds/ - {{- end }} diff --git a/.vib/keycloak/runtime-parameters.yaml b/.vib/keycloak/runtime-parameters.yaml deleted file mode 100644 index 0504e524fec95b..00000000000000 --- a/.vib/keycloak/runtime-parameters.yaml +++ /dev/null @@ -1,34 +0,0 @@ -auth: - adminUser: user - adminPassword: ComplicatedPassword123!4 -containerPorts: - https: 8443 - management: 9990 -postgresql: - auth: - username: bn_keycloak -logging: - output: default -service: - type: LoadBalancer - http: - enabled: false - ports: - https: 443 -serviceAccount: - create: true -automountServiceAccountToken: true -tls: - enabled: true - usePemCerts: true - autoGenerated: - enabled: true - engine: helm -metrics: - enabled: true - service: - ports: - metrics: 9000 -extraEnvVars: - - name: KC_HEALTH_ENABLED - value: "true" diff --git a/.vib/keycloak/vib-publish.json b/.vib/keycloak/vib-publish.json deleted file mode 100644 index 1a741308f841a8..00000000000000 --- a/.vib/keycloak/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/keycloak" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/keycloak/vib-verify.json b/.vib/keycloak/vib-verify.json deleted file mode 100644 index 6314abf1e7ece5..00000000000000 --- a/.vib/keycloak/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/keycloak" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/keycloak" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "keycloak/goss/goss.yaml", - "vars_file": "keycloak/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-keycloak" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/keycloak/cypress" - }, - "endpoint": "lb-keycloak-https", - "app_protocol": "HTTPS", - "env": { - "username": "user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/keydb/ginkgo/go.mod b/.vib/keydb/ginkgo/go.mod deleted file mode 100644 index 02514f8e17590f..00000000000000 --- a/.vib/keydb/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-keydb-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/keydb/ginkgo/go.sum b/.vib/keydb/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/keydb/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/keydb/ginkgo/keydb_suite_test.go b/.vib/keydb/ginkgo/keydb_suite_test.go deleted file mode 100644 index f1620cc305c594..00000000000000 --- a/.vib/keydb/ginkgo/keydb_suite_test.go +++ /dev/null @@ -1,109 +0,0 @@ -package keydb_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the master statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&password, "password", "", "database password") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestKeyDB(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "KeyDB Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "keydb", - Image: image, - Command: []string{ - "keydb-cli", - "--tls", - "--cacert", "/certs/ca.crt", - "-h", stsName, - "-p", port, - stmt, - }, - Env: []v1.EnvVar{ - { - Name: "REDISCLI_AUTH", - Value: password, - }, - }, - SecurityContext: securityContext, - VolumeMounts: []v1.VolumeMount{ - { - Name: "keydb-certificates", - MountPath: "/certs", - }, - }, - }, - }, - Volumes: []v1.Volume{ - { - Name: "keydb-certificates", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-crt", stsName), - }, - }, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/keydb/ginkgo/keydb_test.go b/.vib/keydb/ginkgo/keydb_test.go deleted file mode 100644 index af92f6f6876008..00000000000000 --- a/.vib/keydb/ginkgo/keydb_test.go +++ /dev/null @@ -1,113 +0,0 @@ -package keydb_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("KeyDB", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a key-value is created and KeyDB is rollout restarted", func() { - It("should have access to the created key-value", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-keydb") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "keydb") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test key-value") - createKEYJobName := fmt.Sprintf("%s-createkey-%s", - stsName, jobSuffix) - keyName := fmt.Sprintf("test%s", jobSuffix) - keyValue := fmt.Sprintf("v%s", jobSuffix) - - err = createJob(ctx, c, createKEYJobName, port, image, fmt.Sprintf("SET %s %s", keyName, keyValue)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createKEYJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, createKEYJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := 0; i < int(origReplicas); i++ { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test key-value") - deleteKeyJobName := fmt.Sprintf("%s-deletekey-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteKeyJobName, port, image, fmt.Sprintf("DEL %s", keyName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, deleteKeyJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/keydb/goss/goss.yaml b/.vib/keydb/goss/goss.yaml deleted file mode 100644 index c661563ea3372c..00000000000000 --- a/.vib/keydb/goss/goss.yaml +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -{{- $auth := printf "REDISCLI_AUTH='%s'" .Vars.auth.password }} -{{- $tls := print "--tls --cacert /opt/bitnami/keydb/certs/ca.crt" }} -{{- $master_endpoint := printf "-h 127.0.0.1 -p %d" .Vars.master.containerPorts.keydb }} -{{- $replicas_endpoint := printf "-h keydb-replica -p %d" .Vars.replica.service.ports.keydb }} -{{- $replicas := .Vars.replica.replicaCount }} -command: - {{- $key := printf "key_%s" (randAlpha 5) }} - {{- $value := printf "value_%s" (randAlpha 5) }} - keydb-set-key-value-pairs: - exec: export {{ $auth }} && keydb-cli {{ $tls }} {{ $master_endpoint }} SET {{ $key }} {{ $value }} {{ range $e, $i := until $replicas }} && keydb-cli {{ $tls }} -h keydb-replica-{{ $i }}.keydb-replica-hl -p {{ $.Vars.replica.containerPorts.keydb }} GET {{ $key }} | grep -q {{ $value }}{{ end }} - exit-status: 0 - {{ range $command := .Vars.master.disableCommands }} - keydb-disabled-{{ $command }}: - exec: export {{ $auth }} && keydb-cli {{ $tls }} {{ $master_endpoint }} {{ $command }} - exit-status: 0 - stdout: - - "ERR unknown command" - {{ end }} - keydb-master-role: - exec: export {{ $auth }} && keydb-cli {{ $tls }} {{ $master_endpoint }} ROLE - exit-status: 0 - stdout: - - "master" - {{ range $e, $i := until $replicas }} - - "keydb-replica-{{ $i }}" - {{ end }} - keydb-replicas-role: - exec: export {{ $auth }} && keydb-cli {{ $tls }} {{ $replicas_endpoint }} ROLE - exit-status: 0 - stdout: - - "active-replica" - {{- $uid := .Vars.master.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.master.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.master.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -file: - {{ .Vars.master.persistence.mountPath }}: - filetype: directory - exists: true - mode: "2775" - owner: root - /opt/bitnami/keydb/etc: - filetype: directory - exists: true - mode: "2777" - owner: root diff --git a/.vib/keydb/runtime-parameters.yaml b/.vib/keydb/runtime-parameters.yaml deleted file mode 100644 index 857655accc54a1..00000000000000 --- a/.vib/keydb/runtime-parameters.yaml +++ /dev/null @@ -1,51 +0,0 @@ -architecture: replication -auth: - enabled: true - password: ComplicatedPassword123!4 -tls: - enabled: true - autoGenerated: - enabled: true -master: - replicaCount: 1 - disableCommands: - - FLUSHALL - - FLUSHDB - containerPorts: - keydb: 6380 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - persistence: - enabled: true - mountPath: /data - service: - ports: - keydb: 80 - type: LoadBalancer - serviceAccount: - create: true - automountServiceAccountToken: true -replica: - replicaCount: 3 - activeReplica: true - containerPorts: - keydb: 6380 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - persistence: - enabled: true - mountPath: /data - service: - ports: - keydb: 6378 - type: ClusterIP -metrics: - enabled: true diff --git a/.vib/keydb/vib-publish.json b/.vib/keydb/vib-publish.json deleted file mode 100644 index fd602b63348985..00000000000000 --- a/.vib/keydb/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/keydb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/keydb/vib-verify.json b/.vib/keydb/vib-verify.json deleted file mode 100644 index fe2a52f19a2adb..00000000000000 --- a/.vib/keydb/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/keydb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/keydb" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "keydb/goss/goss.yaml", - "vars_file": "keydb/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-keydb-master" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/keydb/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "keydb-master", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kiam/vib-publish.json b/.vib/kiam/vib-publish.json deleted file mode 100644 index 6b50cf1ff26a36..00000000000000 --- a/.vib/kiam/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kiam" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kiam/vib-verify.json b/.vib/kiam/vib-verify.json deleted file mode 100644 index de8420b3c54bc9..00000000000000 --- a/.vib/kiam/vib-verify.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kiam" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/keycloak" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kibana/cypress/cypress.config.js b/.vib/kibana/cypress/cypress.config.js deleted file mode 100644 index 137635bfaf7e0b..00000000000000 --- a/.vib/kibana/cypress/cypress.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - pageLoadTimeout: 150000, - defaultCommandTimeout: 90000, - chromeWebSecurity: false, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/kibana/cypress/cypress/e2e/kibana.cy.js b/.vib/kibana/cypress/cypress/e2e/kibana.cy.js deleted file mode 100644 index da8301bcdcfcec..00000000000000 --- a/.vib/kibana/cypress/cypress/e2e/kibana.cy.js +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -import { skipTheWelcomeScreen, random } from '../support/utils'; - -before(() => { - skipTheWelcomeScreen(); -}); - -it('allows uploading data', () => { - // Wait for DOM content to load - cy.wait(10000); - cy.get('body').then(($body) => { - // Close welcome tutorial pop-up if present - if ($body.find('[data-test-subj="skipWelcomeScreen"]').is(':visible')) { - cy.get('[data-test-subj="skipWelcomeScreen"]').click(); - } - }); - cy.get('[data-test-subj="uploadFile"]').click(); - cy.get('[type=file]').selectFile( - 'cypress/fixtures/test-data-to-import.ndjson', - { - force: true, - } - ); - cy.get('[data-test-subj="dataVisualizerFileOpenImportPageButton"]').click(); - cy.fixture('indexes').then((index) => { - cy.get('[data-test-subj="dataVisualizerFileIndexNameInput"]').type( - `${index.newIndex.name}.${random}` - ); - }); - cy.get('[data-test-subj="dataVisualizerFileImportButton"]').click(); - cy.get('[data-test-subj="dataVisualizerFileImportSuccessCallout"]'); -}); - -it('allows creating a dashboard and visualization', () => { - cy.visit('app/visualize/'); - cy.get('[data-test-subj="newItemButton"]').click(); - cy.get('[data-test-subj="visType-vega"]').forceClick(); - cy.get('[data-test-subj="visualizeSaveButton"]').forceClick(); - cy.fixture('visualizations').then((visualization) => { - cy.get('[data-test-subj="savedObjectTitle"]').type( - `${visualization.newVisualization.title}.${random}` - ); - }); - cy.get('[id="new-dashboard-option"]').forceClick(); - cy.get('[data-test-subj="confirmSaveSavedObjectButton"]').forceClick(); - cy.get('[data-test-subj="dashboardInteractiveSaveMenuItem"]').click(); - cy.fixture('dashboards').then((dashboard) => { - cy.get('[data-test-subj="savedObjectTitle"]').type( - `${dashboard.newDashboard.title}.${random}` - ); - cy.get('[data-test-subj="confirmSaveSavedObjectButton"]').forceClick(); - cy.visit('/app/dashboards/list'); - cy.contains(`${dashboard.newDashboard.title}.${random}`); - }); -}); diff --git a/.vib/kibana/cypress/cypress/fixtures/dashboards.json b/.vib/kibana/cypress/cypress/fixtures/dashboards.json deleted file mode 100644 index 3eecf379ea45ea..00000000000000 --- a/.vib/kibana/cypress/cypress/fixtures/dashboards.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newDashboard": { - "title": "Dashboard title", - "description": "Dashboard description" - } -} diff --git a/.vib/kibana/cypress/cypress/fixtures/indexes.json b/.vib/kibana/cypress/cypress/fixtures/indexes.json deleted file mode 100644 index 398d7b27f6eac0..00000000000000 --- a/.vib/kibana/cypress/cypress/fixtures/indexes.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newIndex": { - "name": "test_index" - } -} diff --git a/.vib/kibana/cypress/cypress/fixtures/test-data-to-import.ndjson b/.vib/kibana/cypress/cypress/fixtures/test-data-to-import.ndjson deleted file mode 100644 index b0444284691fb5..00000000000000 --- a/.vib/kibana/cypress/cypress/fixtures/test-data-to-import.ndjson +++ /dev/null @@ -1,193 +0,0 @@ -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T03:30:00.000Z","client":{"geo":{"region_iso_code":"TO","country_name":"Italy","city_name":"Settimo Torinese","location":{"lon":7.7701,"lat":45.1392},"region_name":"Turin","country_iso_code":"IT"},"address":"81.201.9.186","ip":"81.201.9.186"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://clark-barker.com/categories/search/"},"response":{"body":{"bytes":5565},"status_code":200}},"message":"81.201.9.186 - - [01/Jan/2020:03:30:00 +0000] \"GET /brands HTTP/2.0\" 200 5565 \"http://clark-barker.com/categories/search/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":3,"url":{"path":"/brands","username":"-","original":"/brands"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T08:07:02.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"209.74.85.63","ip":"209.74.85.63"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://bridges.info/main/list/homepage/"},"response":{"body":{"bytes":5565},"status_code":200}},"message":"209.74.85.63 - - [01/Jan/2020:08:07:02 +0000] \"GET /brands HTTP/2.0\" 200 5565 \"http://bridges.info/main/list/homepage/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":8,"url":{"path":"/brands","username":"-","original":"/brands"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T08:49:14.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"16.39.120.229","ip":"16.39.120.229"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-m260-lawn-mower"},"response":{"body":{"bytes":7575},"status_code":200}},"message":"16.39.120.229 - - [01/Jan/2020:08:49:14 +0000] \"GET /brands/john-deere HTTP/2.0\" 200 7575 \"https://example.com/products/craftsman-m260-lawn-mower\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":8,"url":{"path":"/brands/john-deere","username":"-","original":"/brands/john-deere"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T09:33:45.000Z","client":{"geo":{"region_iso_code":"CE","country_name":"Italy","city_name":"Castel Volturno","location":{"lon":13.9435,"lat":41.0329},"region_name":"Provincia di Caserta","country_iso_code":"IT"},"address":"2.46.220.92","ip":"2.46.220.92"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":7575},"status_code":200}},"message":"2.46.220.92 - - [01/Jan/2020:09:33:45 +0000] \"GET /brands/john-deere HTTP/2.0\" 200 7575 \"https://us.search.yahoo.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":9,"url":{"path":"/brands/john-deere","username":"-","original":"/brands/john-deere"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T11:04:17.000Z","client":{"geo":{"region_iso_code":"14","country_name":"Japan","city_name":"Yokohama","location":{"lon":139.5864,"lat":35.4131},"region_name":"Kanagawa","country_iso_code":"JP"},"address":"122.214.111.115","ip":"122.214.111.115"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":9829},"status_code":200}},"message":"122.214.111.115 - - [01/Jan/2020:11:04:17 +0000] \"GET /products/craftsman-v20-cordless-chainsaw HTTP/2.0\" 200 9829 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":11,"url":{"path":"/products/craftsman-v20-cordless-chainsaw","username":"-","original":"/products/craftsman-v20-cordless-chainsaw"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T14:11:15.000Z","client":{"geo":{"region_iso_code":"CA","country_name":"United States","city_name":"San Jose","location":{"lon":-121.836,"lat":37.2507},"region_name":"California","country_iso_code":"US"},"address":"24.4.161.101","ip":"24.4.161.101"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":5555},"status_code":200}},"message":"24.4.161.101 - - [01/Jan/2020:14:11:15 +0000] \"GET /brands/black-decker HTTP/2.0\" 200 5555 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":14,"url":{"path":"/brands/black-decker","username":"-","original":"/brands/black-decker"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T16:26:15.000Z","client":{"geo":{"country_name":"China","location":{"lon":113.7266,"lat":34.7725},"country_iso_code":"CN"},"address":"111.57.244.43","ip":"111.57.244.43"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":7373},"status_code":200}},"message":"111.57.244.43 - - [01/Jan/2020:16:26:15 +0000] \"GET / HTTP/2.0\" 200 7373 \"https://us.search.yahoo.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/","username":"-","original":"/"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T19:04:36.000Z","client":{"address":"ae16:1ce4:7796:fe81:cbea:7f4f:cbcb:1b31","ip":"ae16:1ce4:7796:fe81:cbea:7f4f:cbcb:1b31"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":7124},"status_code":200}},"message":"ae16:1ce4:7796:fe81:cbea:7f4f:cbcb:1b31 - - [01/Jan/2020:19:04:36 +0000] \"GET /products/bad-boy-mz-magnum-lawn-tractor HTTP/2.0\" 200 7124 \"https://us.search.yahoo.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":19,"url":{"path":"/products/bad-boy-mz-magnum-lawn-tractor","username":"-","original":"/products/bad-boy-mz-magnum-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T20:00:00.000Z","client":{"geo":{"country_name":"China","location":{"lon":113.7266,"lat":34.7725},"country_iso_code":"CN"},"address":"223.75.184.160","ip":"223.75.184.160"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":5740},"status_code":200}},"message":"223.75.184.160 - - [01/Jan/2020:20:00:00 +0000] \"GET /products/black-decker-direct-plug-cordless-screwdriver HTTP/2.0\" 200 5740 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":20,"url":{"path":"/products/black-decker-direct-plug-cordless-screwdriver","username":"-","original":"/products/black-decker-direct-plug-cordless-screwdriver"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T05:00:00.000Z","client":{"address":"c0d4:fcac:6f5a:2237:d46c:c04e:7481:d05b","ip":"c0d4:fcac:6f5a:2237:d46c:c04e:7481:d05b"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":8689},"status_code":200}},"message":"c0d4:fcac:6f5a:2237:d46c:c04e:7481:d05b - - [02/Jan/2020:05:00:00 +0000] \"GET /products/john-deere-x580-lawn-tractor HTTP/2.0\" 200 8689 \"https://www.bing.com/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":5,"url":{"path":"/products/john-deere-x580-lawn-tractor","username":"-","original":"/products/john-deere-x580-lawn-tractor"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T08:04:17.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"172.41.130.240","ip":"172.41.130.240"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/john-deere-x580-lawn-tractor"},"response":{"body":{"bytes":7575},"status_code":200}},"message":"172.41.130.240 - - [02/Jan/2020:08:04:17 +0000] \"GET /brands/john-deere HTTP/2.0\" 200 7575 \"https://example.com/products/john-deere-x580-lawn-tractor\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":8,"url":{"path":"/brands/john-deere","username":"-","original":"/brands/john-deere"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T08:55:41.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"44.157.64.141","ip":"44.157.64.141"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.google.com"},"response":{"body":{"bytes":7334},"status_code":200}},"message":"44.157.64.141 - - [02/Jan/2020:08:55:41 +0000] \"GET /brands/bosch HTTP/2.0\" 200 7334 \"https://www.google.com\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":8,"url":{"path":"/brands/bosch","username":"-","original":"/brands/bosch"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T15:16:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"208.129.26.140","ip":"208.129.26.140"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://bridges.info/main/list/homepage/"},"response":{"body":{"bytes":5555},"status_code":200}},"message":"208.129.26.140 - - [02/Jan/2020:15:16:00 +0000] \"GET /brands/black-decker HTTP/2.0\" 200 5555 \"http://bridges.info/main/list/homepage/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":15,"url":{"path":"/brands/black-decker","username":"-","original":"/brands/black-decker"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T21:12:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"198.141.53.72","ip":"198.141.53.72"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://bridges.info/main/list/homepage/"},"response":{"body":{"bytes":7124},"status_code":200}},"message":"198.141.53.72 - - [02/Jan/2020:21:12:00 +0000] \"GET /products/bad-boy-mz-magnum-lawn-tractor HTTP/2.0\" 200 7124 \"http://bridges.info/main/list/homepage/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":21,"url":{"path":"/products/bad-boy-mz-magnum-lawn-tractor","username":"-","original":"/products/bad-boy-mz-magnum-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-03T07:45:00.000Z","client":{"geo":{"region_iso_code":"ON","country_name":"Canada","city_name":"Brampton","location":{"lon":-79.7876,"lat":43.6249},"region_name":"Ontario","country_iso_code":"CA"},"address":"99.234.199.196","ip":"99.234.199.196"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/john-deere-x580-lawn-tractor"},"response":{"body":{"bytes":6976},"status_code":200}},"message":"99.234.199.196 - - [03/Jan/2020:07:45:00 +0000] \"GET /brands/maxcraft HTTP/2.0\" 200 6976 \"https://example.com/products/john-deere-x580-lawn-tractor\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":7,"url":{"path":"/brands/maxcraft","username":"-","original":"/brands/maxcraft"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-03T09:40:00.000Z","client":{"geo":{"country_name":"Poland","location":{"lon":21.0362,"lat":52.2394},"country_iso_code":"PL"},"address":"88.220.230.16","ip":"88.220.230.16"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":6230},"status_code":200}},"message":"88.220.230.16 - - [03/Jan/2020:09:40:00 +0000] \"GET /products/craftsman-v60-cordless-lawn-mower HTTP/2.0\" 200 6230 \"https://us.search.yahoo.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":9,"url":{"path":"/products/craftsman-v60-cordless-lawn-mower","username":"-","original":"/products/craftsman-v60-cordless-lawn-mower"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-03T11:40:00.000Z","client":{"geo":{"country_name":"Japan","location":{"lon":139.69,"lat":35.69},"country_iso_code":"JP"},"address":"126.144.15.124","ip":"126.144.15.124"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.allison-martin.info/category/tag/login.php"},"response":{"body":{"bytes":5740},"status_code":200}},"message":"126.144.15.124 - - [03/Jan/2020:11:40:00 +0000] \"GET /products/black-decker-direct-plug-cordless-screwdriver HTTP/2.0\" 200 5740 \"http://www.allison-martin.info/category/tag/login.php\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":11,"url":{"path":"/products/black-decker-direct-plug-cordless-screwdriver","username":"-","original":"/products/black-decker-direct-plug-cordless-screwdriver"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-03T17:20:00.000Z","client":{"geo":{"region_iso_code":"RJ","country_name":"Brazil","city_name":"Niterói","location":{"lon":-43.1025,"lat":-22.922},"region_name":"Rio de Janeiro","country_iso_code":"BR"},"address":"179.227.27.91","ip":"179.227.27.91"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.allison-martin.info/category/tag/login.php"},"response":{"body":{"bytes":8689},"status_code":200}},"message":"179.227.27.91 - - [03/Jan/2020:17:20:00 +0000] \"GET /products/john-deere-x580-lawn-tractor HTTP/2.0\" 200 8689 \"http://www.allison-martin.info/category/tag/login.php\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":17,"url":{"path":"/products/john-deere-x580-lawn-tractor","username":"-","original":"/products/john-deere-x580-lawn-tractor"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-04T04:00:00.000Z","client":{"geo":{"country_name":"China","location":{"lon":113.7266,"lat":34.7725},"country_iso_code":"CN"},"address":"59.199.125.170","ip":"59.199.125.170"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://bridges.info/main/list/homepage/"},"response":{"body":{"bytes":5594},"status_code":200}},"message":"59.199.125.170 - - [04/Jan/2020:04:00:00 +0000] \"GET /products/stanley-194749-waterproof-toolbox HTTP/2.0\" 200 5594 \"http://bridges.info/main/list/homepage/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":4,"url":{"path":"/products/stanley-194749-waterproof-toolbox","username":"-","original":"/products/stanley-194749-waterproof-toolbox"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-04T06:00:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"138.183.18.145","ip":"138.183.18.145"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"138.183.18.145 - - [04/Jan/2020:06:00:00 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":6,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-04T09:24:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"8.228.77.121","ip":"8.228.77.121"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/"},"response":{"body":{"bytes":8559},"status_code":200}},"message":"8.228.77.121 - - [04/Jan/2020:09:24:00 +0000] \"GET /products/craftsman-m260-lawn-mower HTTP/2.0\" 200 8559 \"https://example.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":9,"url":{"path":"/products/craftsman-m260-lawn-mower","username":"-","original":"/products/craftsman-m260-lawn-mower"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-04T14:12:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"192.8.63.52","ip":"192.8.63.52"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"192.8.63.52 - - [04/Jan/2020:14:12:00 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://www.lopez.biz/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":14,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-05T15:12:00.000Z","client":{"geo":{"region_iso_code":"AK","country_name":"United States","city_name":"Anchorage","location":{"lon":-149.8077,"lat":61.0988},"region_name":"Alaska","country_iso_code":"US"},"address":"66.58.154.103","ip":"66.58.154.103"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":5594},"status_code":200}},"message":"66.58.154.103 - - [05/Jan/2020:15:12:00 +0000] \"GET /products/stanley-194749-waterproof-toolbox HTTP/2.0\" 200 5594 \"https://us.search.yahoo.com/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":15,"url":{"path":"/products/stanley-194749-waterproof-toolbox","username":"-","original":"/products/stanley-194749-waterproof-toolbox"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T09:10:00.000Z","client":{"geo":{"country_name":"Guatemala","location":{"lon":-90.25,"lat":15.5},"country_iso_code":"GT"},"address":"201.222.61.54","ip":"201.222.61.54"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"201.222.61.54 - - [06/Jan/2020:09:10:00 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":9,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T11:12:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"8.27.130.79","ip":"8.27.130.79"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":8559},"status_code":200}},"message":"8.27.130.79 - - [06/Jan/2020:11:12:00 +0000] \"GET /products/craftsman-m260-lawn-mower HTTP/2.0\" 200 8559 \"https://us.search.yahoo.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":11,"url":{"path":"/products/craftsman-m260-lawn-mower","username":"-","original":"/products/craftsman-m260-lawn-mower"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T13:21:48.000Z","client":{"geo":{"country_name":"Greece","location":{"lon":23.7167,"lat":37.9667},"country_iso_code":"GR"},"address":"94.65.97.90","ip":"94.65.97.90"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/john-deere-x580-lawn-tractor"},"response":{"body":{"bytes":8281},"status_code":200}},"message":"94.65.97.90 - - [06/Jan/2020:13:21:48 +0000] \"GET /products/bosch-easyimpact-550-hammer-drill HTTP/2.0\" 200 8281 \"https://example.com/products/john-deere-x580-lawn-tractor\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":13,"url":{"path":"/products/bosch-easyimpact-550-hammer-drill","username":"-","original":"/products/bosch-easyimpact-550-hammer-drill"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T15:30:00.000Z","client":{"geo":{"country_name":"China","region_iso_code":"HN","region_name":"Hunan","location":{"lon":113.1117,"lat":28.1783},"country_iso_code":"CN"},"address":"106.20.20.57","ip":"106.20.20.57"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":5565},"status_code":200}},"message":"106.20.20.57 - - [06/Jan/2020:15:30:00 +0000] \"GET /brands HTTP/2.0\" 200 5565 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":15,"url":{"path":"/brands","username":"-","original":"/brands"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T16:32:42.000Z","client":{"geo":{"region_iso_code":"27","country_name":"Japan","city_name":"Osaka","location":{"lon":135.5164,"lat":34.6558},"region_name":"Ōsaka","country_iso_code":"JP"},"address":"202.17.146.47","ip":"202.17.146.47"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/john-deere-x580-lawn-tractor"},"response":{"body":{"bytes":5123},"status_code":200}},"message":"202.17.146.47 - - [06/Jan/2020:16:32:42 +0000] \"GET /brands/craftsman HTTP/2.0\" 200 5123 \"https://example.com/products/john-deere-x580-lawn-tractor\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/brands/craftsman","username":"-","original":"/brands/craftsman"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T18:54:00.000Z","client":{"geo":{"region_iso_code":"MPM","country_name":"Mozambique","city_name":"Maputo","location":{"lon":32.601,"lat":-25.9707},"region_name":"Cidade de Maputo","country_iso_code":"MZ"},"address":"197.249.34.158","ip":"197.249.34.158"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.phillips.info/"},"response":{"body":{"bytes":6753},"status_code":200}},"message":"197.249.34.158 - - [06/Jan/2020:18:54:00 +0000] \"GET /products/stihl-ms170-chainsaw HTTP/2.0\" 200 6753 \"http://www.phillips.info/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":18,"url":{"path":"/products/stihl-ms170-chainsaw","username":"-","original":"/products/stihl-ms170-chainsaw"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T21:20:00.000Z","client":{"geo":{"country_name":"Japan","location":{"lon":139.69,"lat":35.69},"country_iso_code":"JP"},"address":"219.25.27.82","ip":"219.25.27.82"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products"},"response":{"body":{"bytes":7334},"status_code":200}},"message":"219.25.27.82 - - [06/Jan/2020:21:20:00 +0000] \"GET /brands/bosch HTTP/2.0\" 200 7334 \"https://example.com/products\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":21,"url":{"path":"/brands/bosch","username":"-","original":"/brands/bosch"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T08:00:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"50.147.71.70","ip":"50.147.71.70"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":7575},"status_code":200}},"message":"50.147.71.70 - - [07/Jan/2020:08:00:00 +0000] \"GET /brands/john-deere HTTP/2.0\" 200 7575 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":8,"url":{"path":"/brands/john-deere","username":"-","original":"/brands/john-deere"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T11:00:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"9.49.99.88","ip":"9.49.99.88"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://clark-barker.com/categories/search/"},"response":{"body":{"bytes":8941},"status_code":200}},"message":"9.49.99.88 - - [07/Jan/2020:11:00:00 +0000] \"GET /brands/fischer HTTP/2.0\" 200 8941 \"http://clark-barker.com/categories/search/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":11,"url":{"path":"/brands/fischer","username":"-","original":"/brands/fischer"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T12:05:00.000Z","client":{"geo":{"country_name":"Indonesia","location":{"lon":106.8286,"lat":-6.175},"country_iso_code":"ID"},"address":"114.12.49.245","ip":"114.12.49.245"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":5740},"status_code":200}},"message":"114.12.49.245 - - [07/Jan/2020:12:05:00 +0000] \"GET /products/black-decker-direct-plug-cordless-screwdriver HTTP/2.0\" 200 5740 \"https://us.search.yahoo.com/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":12,"url":{"path":"/products/black-decker-direct-plug-cordless-screwdriver","username":"-","original":"/products/black-decker-direct-plug-cordless-screwdriver"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T16:55:12.000Z","client":{"geo":{"country_name":"United Kingdom","location":{"lon":-0.1224,"lat":51.4964},"country_iso_code":"GB"},"address":"77.246.44.18","ip":"77.246.44.18"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.allison-martin.info/category/tag/login.php"},"response":{"body":{"bytes":5740},"status_code":200}},"message":"77.246.44.18 - - [07/Jan/2020:16:55:12 +0000] \"GET /products/black-decker-direct-plug-cordless-screwdriver HTTP/2.0\" 200 5740 \"http://www.allison-martin.info/category/tag/login.php\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/products/black-decker-direct-plug-cordless-screwdriver","username":"-","original":"/products/black-decker-direct-plug-cordless-screwdriver"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T18:05:00.000Z","client":{"geo":{"country_name":"Russia","location":{"lon":37.6068,"lat":55.7386},"country_iso_code":"RU"},"address":"91.243.68.102","ip":"91.243.68.102"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"91.243.68.102 - - [07/Jan/2020:18:05:00 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://example.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":18,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T19:05:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"67.126.193.142","ip":"67.126.193.142"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":5565},"status_code":200}},"message":"67.126.193.142 - - [07/Jan/2020:19:05:00 +0000] \"GET /brands HTTP/2.0\" 200 5565 \"https://www.bing.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":19,"url":{"path":"/brands","username":"-","original":"/brands"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T07:26:40.000Z","client":{"geo":{"region_iso_code":"QC","country_name":"Canada","city_name":"Montreal","location":{"lon":-73.5794,"lat":45.5063},"region_name":"Quebec","country_iso_code":"CA"},"address":"198.50.244.219","ip":"198.50.244.219"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":8941},"status_code":200}},"message":"198.50.244.219 - - [08/Jan/2020:07:26:40 +0000] \"GET /brands/fischer HTTP/2.0\" 200 8941 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":7,"url":{"path":"/brands/fischer","username":"-","original":"/brands/fischer"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T08:23:20.000Z","client":{"geo":{"country_name":"Canada","location":{"lon":-79.3716,"lat":43.6319},"country_iso_code":"CA"},"address":"142.41.178.106","ip":"142.41.178.106"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":5594},"status_code":200}},"message":"142.41.178.106 - - [08/Jan/2020:08:23:20 +0000] \"GET /products/stanley-194749-waterproof-toolbox HTTP/2.0\" 200 5594 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":8,"url":{"path":"/products/stanley-194749-waterproof-toolbox","username":"-","original":"/products/stanley-194749-waterproof-toolbox"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T09:03:31.000Z","client":{"geo":{"country_name":"Iran","location":{"lon":51.4231,"lat":35.6961},"country_iso_code":"IR"},"address":"5.106.255.165","ip":"5.106.255.165"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":8941},"status_code":200}},"message":"5.106.255.165 - - [08/Jan/2020:09:03:31 +0000] \"GET /brands/fischer HTTP/2.0\" 200 8941 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":9,"url":{"path":"/brands/fischer","username":"-","original":"/brands/fischer"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T09:45:43.000Z","client":{"geo":{"region_iso_code":"WA","country_name":"United States","city_name":"Seattle","location":{"lon":-122.3451,"lat":47.6348},"region_name":"Washington","country_iso_code":"US"},"address":"3.45.51.200","ip":"3.45.51.200"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/john-deere-x580-lawn-tractor"},"response":{"body":{"bytes":6001},"status_code":200}},"message":"3.45.51.200 - - [08/Jan/2020:09:45:43 +0000] \"GET /products HTTP/2.0\" 200 6001 \"https://example.com/products/john-deere-x580-lawn-tractor\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":9,"url":{"path":"/products","username":"-","original":"/products"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T10:28:08.000Z","client":{"geo":{"region_iso_code":"NC","country_name":"United States","city_name":"Raleigh","location":{"lon":-78.6253,"lat":35.7977},"region_name":"North Carolina","country_iso_code":"US"},"address":"56.137.253.148","ip":"56.137.253.148"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":8941},"status_code":200}},"message":"56.137.253.148 - - [08/Jan/2020:10:28:08 +0000] \"GET /brands/fischer HTTP/2.0\" 200 8941 \"https://www.bing.com/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":10,"url":{"path":"/brands/fischer","username":"-","original":"/brands/fischer"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T12:03:31.000Z","client":{"geo":{"region_iso_code":"40","country_name":"Japan","city_name":"Fukuoka","location":{"lon":130.4107,"lat":33.5438},"region_name":"Fukuoka","country_iso_code":"JP"},"address":"124.213.179.187","ip":"124.213.179.187"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"124.213.179.187 - - [08/Jan/2020:12:03:31 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://us.search.yahoo.com/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":12,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T13:26:40.000Z","client":{"geo":{"region_iso_code":"ES","country_name":"Brazil","city_name":"Vitória","location":{"lon":-40.3465,"lat":-20.3351},"region_name":"Espirito Santo","country_iso_code":"BR"},"address":"179.146.158.93","ip":"179.146.158.93"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://clark-barker.com/categories/search/"},"response":{"body":{"bytes":6753},"status_code":200}},"message":"179.146.158.93 - - [08/Jan/2020:13:26:40 +0000] \"GET /products/stihl-ms170-chainsaw HTTP/2.0\" 200 6753 \"http://clark-barker.com/categories/search/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":13,"url":{"path":"/products/stihl-ms170-chainsaw","username":"-","original":"/products/stihl-ms170-chainsaw"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T16:13:20.000Z","client":{"geo":{"country_name":"Germany","location":{"lon":9.491,"lat":51.2993},"country_iso_code":"DE"},"address":"51.46.114.132","ip":"51.46.114.132"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://clark-barker.com/categories/search/"},"response":{"body":{"bytes":6230},"status_code":200}},"message":"51.46.114.132 - - [08/Jan/2020:16:13:20 +0000] \"GET /products/craftsman-v60-cordless-lawn-mower HTTP/2.0\" 200 6230 \"http://clark-barker.com/categories/search/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/products/craftsman-v60-cordless-lawn-mower","username":"-","original":"/products/craftsman-v60-cordless-lawn-mower"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T18:29:59.000Z","client":{"geo":{"country_name":"Taiwan","location":{"lon":121.0,"lat":23.5},"country_iso_code":"TW"},"address":"163.26.62.88","ip":"163.26.62.88"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://bridges.info/main/list/homepage/"},"response":{"body":{"bytes":8281},"status_code":200}},"message":"163.26.62.88 - - [08/Jan/2020:18:29:59 +0000] \"GET /products/bosch-easyimpact-550-hammer-drill HTTP/2.0\" 200 8281 \"http://bridges.info/main/list/homepage/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":18,"url":{"path":"/products/bosch-easyimpact-550-hammer-drill","username":"-","original":"/products/bosch-easyimpact-550-hammer-drill"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T19:20:00.000Z","client":{"geo":{"region_iso_code":"KDA","country_name":"Russia","city_name":"Krasnodar","location":{"lon":38.975,"lat":45.0355},"region_name":"Krasnodarskiy Kray","country_iso_code":"RU"},"address":"185.20.133.80","ip":"185.20.133.80"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.phillips.info/"},"response":{"body":{"bytes":7575},"status_code":200}},"message":"185.20.133.80 - - [08/Jan/2020:19:20:00 +0000] \"GET /brands/john-deere HTTP/2.0\" 200 7575 \"http://www.phillips.info/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":19,"url":{"path":"/brands/john-deere","username":"-","original":"/brands/john-deere"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T21:07:30.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"208.12.4.87","ip":"208.12.4.87"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":6753},"status_code":200}},"message":"208.12.4.87 - - [08/Jan/2020:21:07:30 +0000] \"GET /products/stihl-ms170-chainsaw HTTP/2.0\" 200 6753 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":21,"url":{"path":"/products/stihl-ms170-chainsaw","username":"-","original":"/products/stihl-ms170-chainsaw"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T06:30:00.000Z","client":{"geo":{"country_name":"South Korea","location":{"lon":127.75,"lat":36.5},"country_iso_code":"KR"},"address":"116.34.132.10","ip":"116.34.132.10"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":8941},"status_code":200}},"message":"116.34.132.10 - - [09/Jan/2020:06:30:00 +0000] \"GET /brands/fischer HTTP/2.0\" 200 8941 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":6,"url":{"path":"/brands/fischer","username":"-","original":"/brands/fischer"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T11:04:17.000Z","client":{"address":"d785:473c:8053:69c9:5bb2:2b3a:b126:9341","ip":"d785:473c:8053:69c9:5bb2:2b3a:b126:9341"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":6230},"status_code":200}},"message":"d785:473c:8053:69c9:5bb2:2b3a:b126:9341 - - [09/Jan/2020:11:04:17 +0000] \"GET /products/craftsman-v60-cordless-lawn-mower HTTP/2.0\" 200 6230 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":11,"url":{"path":"/products/craftsman-v60-cordless-lawn-mower","username":"-","original":"/products/craftsman-v60-cordless-lawn-mower"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T12:38:41.000Z","client":{"geo":{"region_iso_code":"TXG","country_name":"Taiwan","city_name":"Taichung","location":{"lon":120.6839,"lat":24.1469},"region_name":"Taichung City","country_iso_code":"TW"},"address":"111.83.37.21","ip":"111.83.37.21"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/"},"response":{"body":{"bytes":7575},"status_code":200}},"message":"111.83.37.21 - - [09/Jan/2020:12:38:41 +0000] \"GET /brands/john-deere HTTP/2.0\" 200 7575 \"https://example.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":12,"url":{"path":"/brands/john-deere","username":"-","original":"/brands/john-deere"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T14:07:02.000Z","client":{"geo":{"region_iso_code":"GD","country_name":"China","city_name":"Xinyi","location":{"lon":110.9475,"lat":22.373},"region_name":"Guangdong","country_iso_code":"CN"},"address":"14.16.64.106","ip":"14.16.64.106"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-m260-lawn-mower"},"response":{"body":{"bytes":7575},"status_code":200}},"message":"14.16.64.106 - - [09/Jan/2020:14:07:02 +0000] \"GET /brands/john-deere HTTP/2.0\" 200 7575 \"https://example.com/products/craftsman-m260-lawn-mower\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36\"","dataset":"nginx.access","hour_of_day":14,"url":{"path":"/brands/john-deere","username":"-","original":"/brands/john-deere"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"59.0.3071","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T16:18:45.000Z","client":{"geo":{"region_iso_code":"OAX","country_name":"Mexico","city_name":"Santo Domingo Tehuantepec","location":{"lon":-95.2527,"lat":16.3292},"region_name":"Oaxaca","country_iso_code":"MX"},"address":"189.198.160.216","ip":"189.198.160.216"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/"},"response":{"body":{"bytes":7575},"status_code":200}},"message":"189.198.160.216 - - [09/Jan/2020:16:18:45 +0000] \"GET /brands/john-deere HTTP/2.0\" 200 7575 \"https://example.com/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/brands/john-deere","username":"-","original":"/brands/john-deere"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T18:00:00.000Z","client":{"address":"9bf0:7f30:4bcc:72a7:6519:f279:48dd:8220","ip":"9bf0:7f30:4bcc:72a7:6519:f279:48dd:8220"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.phillips.info/"},"response":{"body":{"bytes":8689},"status_code":200}},"message":"9bf0:7f30:4bcc:72a7:6519:f279:48dd:8220 - - [09/Jan/2020:18:00:00 +0000] \"GET /products/john-deere-x580-lawn-tractor HTTP/2.0\" 200 8689 \"http://www.phillips.info/\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":18,"url":{"path":"/products/john-deere-x580-lawn-tractor","username":"-","original":"/products/john-deere-x580-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Mac OS X","version":"10.13","full":"Mac OS X 10.13"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T20:49:03.000Z","client":{"geo":{"country_name":"Egypt","location":{"lon":31.223,"lat":30.0355},"country_iso_code":"EG"},"address":"84.36.202.217","ip":"84.36.202.217"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.phillips.info/"},"response":{"body":{"bytes":6230},"status_code":200}},"message":"84.36.202.217 - - [09/Jan/2020:20:49:03 +0000] \"GET /products/craftsman-v60-cordless-lawn-mower HTTP/2.0\" 200 6230 \"http://www.phillips.info/\" \"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)\"","dataset":"nginx.access","hour_of_day":20,"url":{"path":"/products/craftsman-v60-cordless-lawn-mower","username":"-","original":"/products/craftsman-v60-cordless-lawn-mower"},"user_agent":{"name":"Safari","original":"Safari/12603.3.8 CFNetwork/811.5.4 Darwin/16.7.0 (x86_64)","os":{"name":"Mac OS X","version":"10.12","full":"Mac OS X 10.12"},"version":"12603.3.8","device":{"name":"Mac"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T07:00:00.000Z","client":{"geo":{"country_name":"South Korea","location":{"lon":126.9741,"lat":37.5112},"country_iso_code":"KR"},"address":"119.75.151.223","ip":"119.75.151.223"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.google.com"},"response":{"body":{"bytes":5555},"status_code":200}},"message":"119.75.151.223 - - [01/Jan/2020:07:00:00 +0000] \"GET /brands/black-decker HTTP/2.0\" 200 5555 \"https://www.google.com\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":7,"url":{"path":"/brands/black-decker","username":"-","original":"/brands/black-decker"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T14:56:15.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"207.74.7.56","ip":"207.74.7.56"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://bridges.info/main/list/homepage/"},"response":{"body":{"bytes":8689},"status_code":200}},"message":"207.74.7.56 - - [01/Jan/2020:14:56:15 +0000] \"GET /products/john-deere-x580-lawn-tractor HTTP/2.0\" 200 8689 \"http://bridges.info/main/list/homepage/\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":14,"url":{"path":"/products/john-deere-x580-lawn-tractor","username":"-","original":"/products/john-deere-x580-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T15:41:15.000Z","client":{"geo":{"region_iso_code":"PA","country_name":"United States","city_name":"Easton","location":{"lon":-75.2336,"lat":40.6561},"region_name":"Pennsylvania","country_iso_code":"US"},"address":"139.147.0.136","ip":"139.147.0.136"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":5123},"status_code":200}},"message":"139.147.0.136 - - [01/Jan/2020:15:41:15 +0000] \"GET /brands/craftsman HTTP/2.0\" 200 5123 \"https://www.lopez.biz/\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":15,"url":{"path":"/brands/craftsman","username":"-","original":"/brands/craftsman"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T21:00:00.000Z","client":{"geo":{"region_iso_code":"BA","country_name":"Hungary","city_name":"Pécs","location":{"lon":18.2333,"lat":46.0833},"region_name":"Baranya","country_iso_code":"HU"},"address":"188.36.229.207","ip":"188.36.229.207"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"188.36.229.207 - - [01/Jan/2020:21:00:00 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://www.bing.com/\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":21,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T12:41:24.000Z","client":{"geo":{"region_iso_code":"BC","country_name":"Canada","city_name":"Surrey","location":{"lon":-122.824,"lat":49.1049},"region_name":"British Columbia","country_iso_code":"CA"},"address":"70.70.197.41","ip":"70.70.197.41"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-m260-lawn-mower"},"response":{"body":{"bytes":5555},"status_code":200}},"message":"70.70.197.41 - - [02/Jan/2020:12:41:24 +0000] \"GET /brands/black-decker HTTP/2.0\" 200 5555 \"https://example.com/products/craftsman-m260-lawn-mower\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":12,"url":{"path":"/brands/black-decker","username":"-","original":"/brands/black-decker"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T16:04:00.000Z","client":{"geo":{"region_iso_code":"VR","country_name":"Italy","city_name":"Verona","location":{"lon":10.9859,"lat":45.4317},"region_name":"Provincia di Verona","country_iso_code":"IT"},"address":"37.182.50.79","ip":"37.182.50.79"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.google.com"},"response":{"body":{"bytes":6001},"status_code":200}},"message":"37.182.50.79 - - [02/Jan/2020:16:04:00 +0000] \"GET /products HTTP/2.0\" 200 6001 \"https://www.google.com\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/products","username":"-","original":"/products"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T16:52:00.000Z","client":{"geo":{"region_iso_code":"TX","country_name":"United States","city_name":"Texarkana","location":{"lon":-94.0774,"lat":33.4669},"region_name":"Texas","country_iso_code":"US"},"address":"96.18.59.174","ip":"96.18.59.174"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":6976},"status_code":200}},"message":"96.18.59.174 - - [02/Jan/2020:16:52:00 +0000] \"GET /brands/maxcraft HTTP/2.0\" 200 6976 \"https://www.bing.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/brands/maxcraft","username":"-","original":"/brands/maxcraft"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T17:46:00.000Z","client":{"geo":{"country_name":"Japan","location":{"lon":139.69,"lat":35.69},"country_iso_code":"JP"},"address":"133.22.75.92","ip":"133.22.75.92"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":5782},"status_code":200}},"message":"133.22.75.92 - - [02/Jan/2020:17:46:00 +0000] \"GET /brands/stanley HTTP/2.0\" 200 5782 \"https://www.bing.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":17,"url":{"path":"/brands/stanley","username":"-","original":"/brands/stanley"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-03T13:40:00.000Z","client":{"geo":{"region_iso_code":"MS","country_name":"United States","city_name":"Ellisville","location":{"lon":-89.2231,"lat":31.5797},"region_name":"Mississippi","country_iso_code":"US"},"address":"65.183.106.99","ip":"65.183.106.99"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":9829},"status_code":200}},"message":"65.183.106.99 - - [03/Jan/2020:13:40:00 +0000] \"GET /products/craftsman-v20-cordless-chainsaw HTTP/2.0\" 200 9829 \"https://us.search.yahoo.com/\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":13,"url":{"path":"/products/craftsman-v20-cordless-chainsaw","username":"-","original":"/products/craftsman-v20-cordless-chainsaw"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-03T15:34:16.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"4.176.39.1","ip":"4.176.39.1"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-m260-lawn-mower"},"response":{"body":{"bytes":8689},"status_code":200}},"message":"4.176.39.1 - - [03/Jan/2020:15:34:16 +0000] \"GET /products/john-deere-x580-lawn-tractor HTTP/2.0\" 200 8689 \"https://example.com/products/craftsman-m260-lawn-mower\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":15,"url":{"path":"/products/john-deere-x580-lawn-tractor","username":"-","original":"/products/john-deere-x580-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-03T19:24:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"22.234.172.127","ip":"22.234.172.127"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-m260-lawn-mower"},"response":{"body":{"bytes":8689},"status_code":200}},"message":"22.234.172.127 - - [03/Jan/2020:19:24:00 +0000] \"GET /products/john-deere-x580-lawn-tractor HTTP/2.0\" 200 8689 \"https://example.com/products/craftsman-m260-lawn-mower\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":19,"url":{"path":"/products/john-deere-x580-lawn-tractor","username":"-","original":"/products/john-deere-x580-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-04T12:00:00.000Z","client":{"geo":{"country_name":"China","location":{"lon":113.7266,"lat":34.7725},"country_iso_code":"CN"},"address":"122.64.127.247","ip":"122.64.127.247"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products"},"response":{"body":{"bytes":6976},"status_code":200}},"message":"122.64.127.247 - - [04/Jan/2020:12:00:00 +0000] \"GET /brands/maxcraft HTTP/2.0\" 200 6976 \"https://example.com/products\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":12,"url":{"path":"/brands/maxcraft","username":"-","original":"/brands/maxcraft"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-04T16:30:00.000Z","client":{"geo":{"region_iso_code":"BJ","country_name":"China","city_name":"Beijing","location":{"lon":116.3889,"lat":39.9288},"region_name":"Beijing","country_iso_code":"CN"},"address":"121.23.244.45","ip":"121.23.244.45"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":7334},"status_code":200}},"message":"121.23.244.45 - - [04/Jan/2020:16:30:00 +0000] \"GET /brands/bosch HTTP/2.0\" 200 7334 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/brands/bosch","username":"-","original":"/brands/bosch"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-04T19:12:00.000Z","client":{"geo":{"region_iso_code":"NY","country_name":"United States","city_name":"Yorktown Heights","location":{"lon":-73.7829,"lat":41.3033},"region_name":"New York","country_iso_code":"US"},"address":"216.179.108.183","ip":"216.179.108.183"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":8689},"status_code":200}},"message":"216.179.108.183 - - [04/Jan/2020:19:12:00 +0000] \"GET /products/john-deere-x580-lawn-tractor HTTP/2.0\" 200 8689 \"https://www.bing.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":19,"url":{"path":"/products/john-deere-x580-lawn-tractor","username":"-","original":"/products/john-deere-x580-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-05T17:30:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"65.124.63.20","ip":"65.124.63.20"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://clark-barker.com/categories/search/"},"response":{"body":{"bytes":6753},"status_code":200}},"message":"65.124.63.20 - - [05/Jan/2020:17:30:00 +0000] \"GET /products/stihl-ms170-chainsaw HTTP/2.0\" 200 6753 \"http://clark-barker.com/categories/search/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":17,"url":{"path":"/products/stihl-ms170-chainsaw","username":"-","original":"/products/stihl-ms170-chainsaw"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T12:20:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"6.221.152.20","ip":"6.221.152.20"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.google.com"},"response":{"body":{"bytes":6001},"status_code":200}},"message":"6.221.152.20 - - [06/Jan/2020:12:20:00 +0000] \"GET /products HTTP/2.0\" 200 6001 \"https://www.google.com\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":12,"url":{"path":"/products","username":"-","original":"/products"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T17:42:00.000Z","client":{"geo":{"country_name":"South Korea","location":{"lon":126.9741,"lat":37.5112},"country_iso_code":"KR"},"address":"116.43.55.53","ip":"116.43.55.53"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/"},"response":{"body":{"bytes":7373},"status_code":200}},"message":"116.43.55.53 - - [06/Jan/2020:17:42:00 +0000] \"GET / HTTP/2.0\" 200 7373 \"https://example.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":17,"url":{"path":"/","username":"-","original":"/"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T13:04:36.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"144.70.17.238","ip":"144.70.17.238"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/"},"response":{"body":{"bytes":5864},"status_code":200}},"message":"144.70.17.238 - - [07/Jan/2020:13:04:36 +0000] \"GET /products/maxcraft-60626-stubby-claw-hammer HTTP/2.0\" 200 5864 \"https://example.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":13,"url":{"path":"/products/maxcraft-60626-stubby-claw-hammer","username":"-","original":"/products/maxcraft-60626-stubby-claw-hammer"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T20:06:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"159.49.88.245","ip":"159.49.88.245"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-m260-lawn-mower"},"response":{"body":{"bytes":8281},"status_code":200}},"message":"159.49.88.245 - - [07/Jan/2020:20:06:00 +0000] \"GET /products/bosch-easyimpact-550-hammer-drill HTTP/2.0\" 200 8281 \"https://example.com/products/craftsman-m260-lawn-mower\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":20,"url":{"path":"/products/bosch-easyimpact-550-hammer-drill","username":"-","original":"/products/bosch-easyimpact-550-hammer-drill"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T21:25:42.000Z","client":{"geo":{"country_name":"Italy","location":{"lon":12.1097,"lat":43.1479},"country_iso_code":"IT"},"address":"5.84.128.117","ip":"5.84.128.117"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://bridges.info/main/list/homepage/"},"response":{"body":{"bytes":7124},"status_code":200}},"message":"5.84.128.117 - - [07/Jan/2020:21:25:42 +0000] \"GET /products/bad-boy-mz-magnum-lawn-tractor HTTP/2.0\" 200 7124 \"http://bridges.info/main/list/homepage/\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":21,"url":{"path":"/products/bad-boy-mz-magnum-lawn-tractor","username":"-","original":"/products/bad-boy-mz-magnum-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T12:45:43.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"17.59.16.74","ip":"17.59.16.74"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-m260-lawn-mower"},"response":{"body":{"bytes":6976},"status_code":200}},"message":"17.59.16.74 - - [08/Jan/2020:12:45:43 +0000] \"GET /brands/maxcraft HTTP/2.0\" 200 6976 \"https://example.com/products/craftsman-m260-lawn-mower\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":12,"url":{"path":"/brands/maxcraft","username":"-","original":"/brands/maxcraft"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-08T16:53:20.000Z","client":{"geo":{"country_name":"Australia","location":{"lon":143.2104,"lat":-33.494},"country_iso_code":"AU"},"address":"58.172.243.231","ip":"58.172.243.231"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":7124},"status_code":200}},"message":"58.172.243.231 - - [08/Jan/2020:16:53:20 +0000] \"GET /products/bad-boy-mz-magnum-lawn-tractor HTTP/2.0\" 200 7124 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/products/bad-boy-mz-magnum-lawn-tractor","username":"-","original":"/products/bad-boy-mz-magnum-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T00:30:00.000Z","client":{"geo":{"region_iso_code":"30","country_name":"Ukraine","city_name":"Kyiv","location":{"lon":30.5238,"lat":50.4547},"region_name":"Kyiv City","country_iso_code":"UA"},"address":"93.74.179.140","ip":"93.74.179.140"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":6230},"status_code":200}},"message":"93.74.179.140 - - [09/Jan/2020:00:30:00 +0000] \"GET /products/craftsman-v60-cordless-lawn-mower HTTP/2.0\" 200 6230 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":0,"url":{"path":"/products/craftsman-v60-cordless-lawn-mower","username":"-","original":"/products/craftsman-v60-cordless-lawn-mower"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T08:48:45.000Z","client":{"geo":{"country_name":"China","region_iso_code":"GD","region_name":"Guangdong","location":{"lon":113.25,"lat":23.1167},"country_iso_code":"CN"},"address":"113.82.113.189","ip":"113.82.113.189"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":7124},"status_code":200}},"message":"113.82.113.189 - - [09/Jan/2020:08:48:45 +0000] \"GET /products/bad-boy-mz-magnum-lawn-tractor HTTP/2.0\" 200 7124 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":8,"url":{"path":"/products/bad-boy-mz-magnum-lawn-tractor","username":"-","original":"/products/bad-boy-mz-magnum-lawn-tractor"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T09:33:45.000Z","client":{"geo":{"country_name":"Japan","location":{"lon":139.69,"lat":35.69},"country_iso_code":"JP"},"address":"58.98.18.179","ip":"58.98.18.179"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/john-deere-x580-lawn-tractor"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"58.98.18.179 - - [09/Jan/2020:09:33:45 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://example.com/products/john-deere-x580-lawn-tractor\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":9,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T13:22:30.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"26.192.48.230","ip":"26.192.48.230"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products/craftsman-v60-cordless-lawn-mower"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"26.192.48.230 - - [09/Jan/2020:13:22:30 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://example.com/products/craftsman-v60-cordless-lawn-mower\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":13,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T18:55:12.000Z","client":{"geo":{"country_name":"China","location":{"lon":113.7266,"lat":34.7725},"country_iso_code":"CN"},"address":"221.137.239.250","ip":"221.137.239.250"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/products"},"response":{"body":{"bytes":9829},"status_code":200}},"message":"221.137.239.250 - - [09/Jan/2020:18:55:12 +0000] \"GET /products/craftsman-v20-cordless-chainsaw HTTP/2.0\" 200 9829 \"https://example.com/products\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":18,"url":{"path":"/products/craftsman-v20-cordless-chainsaw","username":"-","original":"/products/craftsman-v20-cordless-chainsaw"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-09T19:47:07.000Z","client":{"geo":{"region_iso_code":"PD","country_name":"Italy","city_name":"Padova","location":{"lon":11.89,"lat":45.4102},"region_name":"Padua","country_iso_code":"IT"},"address":"93.34.230.41","ip":"93.34.230.41"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://clark-barker.com/categories/search/"},"response":{"body":{"bytes":5555},"status_code":200}},"message":"93.34.230.41 - - [09/Jan/2020:19:47:07 +0000] \"GET /brands/black-decker HTTP/2.0\" 200 5555 \"http://clark-barker.com/categories/search/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","dataset":"nginx.access","hour_of_day":19,"url":{"path":"/brands/black-decker","username":"-","original":"/brands/black-decker"},"user_agent":{"name":"Chrome","original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36","os":{"name":"Windows"},"version":"60.0.3112","device":{"name":"Other"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T10:18:45.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"71.243.51.38","ip":"71.243.51.38"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.google.com"},"response":{"body":{"bytes":7334},"status_code":200}},"message":"71.243.51.38 - - [01/Jan/2020:10:18:45 +0000] \"GET /brands/bosch HTTP/2.0\" 200 7334 \"https://www.google.com\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1\"","dataset":"nginx.access","hour_of_day":10,"url":{"path":"/brands/bosch","username":"-","original":"/brands/bosch"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1","os":{"name":"iOS","version":"11.0","full":"iOS 11.0"},"version":"11.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T12:41:15.000Z","client":{"address":"7daa:fdb7:5c2c:7589:835b:97f5:c490:ead0","ip":"7daa:fdb7:5c2c:7589:835b:97f5:c490:ead0"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://clark-barker.com/categories/search/"},"response":{"body":{"bytes":6753},"status_code":200}},"message":"7daa:fdb7:5c2c:7589:835b:97f5:c490:ead0 - - [01/Jan/2020:12:41:15 +0000] \"GET /products/stihl-ms170-chainsaw HTTP/2.0\" 200 6753 \"http://clark-barker.com/categories/search/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":12,"url":{"path":"/products/stihl-ms170-chainsaw","username":"-","original":"/products/stihl-ms170-chainsaw"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-01T18:09:12.000Z","client":{"geo":{"region_iso_code":"ENF","country_name":"United Kingdom","city_name":"Enfield Town","location":{"lon":-0.0667,"lat":51.6667},"region_name":"Enfield","country_iso_code":"GB"},"address":"77.102.79.63","ip":"77.102.79.63"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":8941},"status_code":200}},"message":"77.102.79.63 - - [01/Jan/2020:18:09:12 +0000] \"GET /brands/fischer HTTP/2.0\" 200 8941 \"https://www.lopez.biz/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":18,"url":{"path":"/brands/fischer","username":"-","original":"/brands/fischer"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-02T13:34:16.000Z","client":{"geo":{"region_iso_code":"SN","country_name":"Germany","city_name":"Leipzig","location":{"lon":12.4195,"lat":51.3332},"region_name":"Saxony","country_iso_code":"DE"},"address":"79.246.80.27","ip":"79.246.80.27"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.phillips.info/"},"response":{"body":{"bytes":8941},"status_code":200}},"message":"79.246.80.27 - - [02/Jan/2020:13:34:16 +0000] \"GET /brands/fischer HTTP/2.0\" 200 8941 \"http://www.phillips.info/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":13,"url":{"path":"/brands/fischer","username":"-","original":"/brands/fischer"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-05T06:00:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"44.52.27.189","ip":"44.52.27.189"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":7334},"status_code":200}},"message":"44.52.27.189 - - [05/Jan/2020:06:00:00 +0000] \"GET /brands/bosch HTTP/2.0\" 200 7334 \"https://us.search.yahoo.com/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":6,"url":{"path":"/brands/bosch","username":"-","original":"/brands/bosch"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-05T09:00:00.000Z","client":{"geo":{"region_iso_code":"NC","country_name":"United States","city_name":"Raleigh","location":{"lon":-78.6253,"lat":35.7977},"region_name":"North Carolina","country_iso_code":"US"},"address":"56.199.21.219","ip":"56.199.21.219"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.phillips.info/"},"response":{"body":{"bytes":8941},"status_code":200}},"message":"56.199.21.219 - - [05/Jan/2020:09:00:00 +0000] \"GET /brands/fischer HTTP/2.0\" 200 8941 \"http://www.phillips.info/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":9,"url":{"path":"/brands/fischer","username":"-","original":"/brands/fischer"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-05T11:24:00.000Z","client":{"geo":{"region_iso_code":"41","country_name":"South Korea","city_name":"Goyang-si","location":{"lon":126.835,"lat":37.6564},"region_name":"Gyeonggi-do","country_iso_code":"KR"},"address":"175.213.92.123","ip":"175.213.92.123"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://us.search.yahoo.com/"},"response":{"body":{"bytes":6001},"status_code":200}},"message":"175.213.92.123 - - [05/Jan/2020:11:24:00 +0000] \"GET /products HTTP/2.0\" 200 6001 \"https://us.search.yahoo.com/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":11,"url":{"path":"/products","username":"-","original":"/products"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-05T13:08:34.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"107.254.98.252","ip":"107.254.98.252"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.google.com"},"response":{"body":{"bytes":9829},"status_code":200}},"message":"107.254.98.252 - - [05/Jan/2020:13:08:34 +0000] \"GET /products/craftsman-v20-cordless-chainsaw HTTP/2.0\" 200 9829 \"https://www.google.com\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":13,"url":{"path":"/products/craftsman-v20-cordless-chainsaw","username":"-","original":"/products/craftsman-v20-cordless-chainsaw"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-05T20:00:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"23.58.127.133","ip":"23.58.127.133"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://example.com/"},"response":{"body":{"bytes":5565},"status_code":200}},"message":"23.58.127.133 - - [05/Jan/2020:20:00:00 +0000] \"GET /brands HTTP/2.0\" 200 5565 \"https://example.com/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":20,"url":{"path":"/brands","username":"-","original":"/brands"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T05:30:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"134.132.201.21","ip":"134.132.201.21"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.lopez.biz/"},"response":{"body":{"bytes":5565},"status_code":200}},"message":"134.132.201.21 - - [06/Jan/2020:05:30:00 +0000] \"GET /brands HTTP/2.0\" 200 5565 \"https://www.lopez.biz/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1\"","dataset":"nginx.access","hour_of_day":5,"url":{"path":"/brands","username":"-","original":"/brands"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1","os":{"name":"iOS","version":"11.0","full":"iOS 11.0"},"version":"11.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T08:10:00.000Z","client":{"geo":{"country_name":"United Kingdom","location":{"lon":-0.1224,"lat":51.4964},"country_iso_code":"GB"},"address":"25.219.166.225","ip":"25.219.166.225"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.phillips.info/"},"response":{"body":{"bytes":5555},"status_code":200}},"message":"25.219.166.225 - - [06/Jan/2020:08:10:00 +0000] \"GET /brands/black-decker HTTP/2.0\" 200 5555 \"http://www.phillips.info/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1\"","dataset":"nginx.access","hour_of_day":8,"url":{"path":"/brands/black-decker","username":"-","original":"/brands/black-decker"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1","os":{"name":"iOS","version":"11.0","full":"iOS 11.0"},"version":"11.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-06T14:27:15.000Z","client":{"geo":{"region_iso_code":"18","country_name":"Finland","city_name":"Helsinki","location":{"lon":24.9736,"lat":60.2278},"region_name":"Uusimaa","country_iso_code":"FI"},"address":"164.5.26.112","ip":"164.5.26.112"},"http":{"version":"2.0","request":{"method":"get","referrer":"http://www.phillips.info/"},"response":{"body":{"bytes":6001},"status_code":200}},"message":"164.5.26.112 - - [06/Jan/2020:14:27:15 +0000] \"GET /products HTTP/2.0\" 200 6001 \"http://www.phillips.info/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":14,"url":{"path":"/products","username":"-","original":"/products"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T10:00:00.000Z","client":{"geo":{"country_name":"United States","location":{"lon":-97.822,"lat":37.751},"country_iso_code":"US"},"address":"70.205.25.115","ip":"70.205.25.115"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":6505},"status_code":200}},"message":"70.205.25.115 - - [07/Jan/2020:10:00:00 +0000] \"GET /products/fischer-dubel-sx-100-pcs HTTP/2.0\" 200 6505 \"https://www.bing.com/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1\"","dataset":"nginx.access","hour_of_day":10,"url":{"path":"/products/fischer-dubel-sx-100-pcs","username":"-","original":"/products/fischer-dubel-sx-100-pcs"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1","os":{"name":"iOS","version":"10.0","full":"iOS 10.0"},"version":"10.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} -{"@timestamp":"2021-01-07T16:00:00.000Z","client":{"geo":{"region_iso_code":"WA","country_name":"United States","city_name":"Seattle","location":{"lon":-122.3451,"lat":47.6348},"region_name":"Washington","country_iso_code":"US"},"address":"144.207.41.232","ip":"144.207.41.232"},"http":{"version":"2.0","request":{"method":"get","referrer":"https://www.bing.com/"},"response":{"body":{"bytes":8689},"status_code":200}},"message":"144.207.41.232 - - [07/Jan/2020:16:00:00 +0000] \"GET /products/john-deere-x580-lawn-tractor HTTP/2.0\" 200 8689 \"https://www.bing.com/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1\"","dataset":"nginx.access","hour_of_day":16,"url":{"path":"/products/john-deere-x580-lawn-tractor","username":"-","original":"/products/john-deere-x580-lawn-tractor"},"user_agent":{"name":"Mobile Safari","original":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1","os":{"name":"iOS","version":"11.0","full":"iOS 11.0"},"version":"11.0","device":{"name":"iPhone"}}} -{"index":{"_index":"access-logs-2021-01"}} diff --git a/.vib/kibana/cypress/cypress/fixtures/visualizations.json b/.vib/kibana/cypress/cypress/fixtures/visualizations.json deleted file mode 100644 index 7da82d7a997f3a..00000000000000 --- a/.vib/kibana/cypress/cypress/fixtures/visualizations.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newVisualization": { - "title": "Visualization title", - "description": "You guessed it, this is the visualization description" - } -} diff --git a/.vib/kibana/cypress/cypress/support/commands.js b/.vib/kibana/cypress/cypress/support/commands.js deleted file mode 100644 index 539f2aeb96ba4c..00000000000000 --- a/.vib/kibana/cypress/cypress/support/commands.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// Added to slow down Cypress test execution without using hardcoded waits. If removed, there will be false positives. -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -//Due to instability of the UI we use a lot of {force:true}. This is a cy.click() wrapper with {force:true} enabled -Cypress.Commands.add('forceClick', { prevSubject: 'element' }, (subject) => { - cy.wrap(subject).click({ force: true }); -}); - -Cypress.on('uncaught:exception', (err, runnable, promise) => { - // We expect an error "Cannot read properties of undefined (reading 'includes')" - // during the installation of a template so we add an exception - if (err.message.includes("Cannot read properties of undefined (reading 'includes')")) { - return false; - } - if(err.message.includes("ResizeObserver loop")){ - return false; - } - // when the exception originated from an unhandled promise - // rejection, the promise is provided as a third argument - // you can turn off failing the test in this case - if (promise) { - return false - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/kibana/cypress/cypress/support/e2e.js b/.vib/kibana/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/kibana/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/kibana/cypress/cypress/support/utils.js b/.vib/kibana/cypress/cypress/support/utils.js deleted file mode 100644 index 59e8478ad467e8..00000000000000 --- a/.vib/kibana/cypress/cypress/support/utils.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(9); - -export const skipTheWelcomeScreen = () => { - cy.visit('/'); - cy.get('[data-test-subj="kbnLoadingMessage"]').should('not.exist'); - cy.get('.euiLoadingSpinner').should('not.exist'); - cy.get('body').then(($body) => { - if ($body.text().includes('Explore on my own')) { - cy.get('[data-test-subj="skipWelcomeScreen"]').click(); - } - }); -}; diff --git a/.vib/kibana/goss/goss.yaml b/.vib/kibana/goss/goss.yaml deleted file mode 100644 index 241eb4e4263dca..00000000000000 --- a/.vib/kibana/goss/goss.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/kibana: - exists: true - filetype: directory - mode: "2775" - owner: root - /bitnami/kibana/conf: - exists: true - filetype: directory - mode: "2777" - owner: root - /opt/bitnami/kibana/config/kibana.yml: - mode: "0644" - filetype: file - exists: true - contents: - - /csp.strict.*{{ index .Vars.extraConfiguration "csp.strict" }}/ -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/kibana/runtime-parameters.yaml b/.vib/kibana/runtime-parameters.yaml deleted file mode 100644 index bbfa71030d8371..00000000000000 --- a/.vib/kibana/runtime-parameters.yaml +++ /dev/null @@ -1,29 +0,0 @@ -containerPorts: - http: 5602 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -resourcesPreset: medium -extraConfiguration: - "csp.strict": false -service: - ports: - http: 80 - type: LoadBalancer -elasticsearch: - hosts: - - localhost - port: 9200 -sidecars: - - name: elasticsearch - image: bitnami/elasticsearch:latest - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 9200 -serviceAccount: - create: true -automountServiceAccountToken: true diff --git a/.vib/kibana/vib-publish.json b/.vib/kibana/vib-publish.json deleted file mode 100644 index a91c6f7dc5ef24..00000000000000 --- a/.vib/kibana/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kibana" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kibana/vib-verify.json b/.vib/kibana/vib-verify.json deleted file mode 100644 index 49fcb7140369f1..00000000000000 --- a/.vib/kibana/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kibana" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kibana" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "kibana/goss/goss.yaml", - "vars_file": "kibana/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-kibana" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/kibana/cypress" - }, - "endpoint": "lb-kibana-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kong/cypress/cypress.config.js b/.vib/kong/cypress/cypress.config.js deleted file mode 100644 index b831ba023ab94c..00000000000000 --- a/.vib/kong/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - apikey: 'ComplicatedPassword123!4', - ingressHost: 'www.example.com', - ingressPath: '/nginx', - adminHttpPort: '443', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://{{ TARGET_IP }}', - }, -} diff --git a/.vib/kong/cypress/cypress/e2e/kong.cy.js b/.vib/kong/cypress/cypress/e2e/kong.cy.js deleted file mode 100644 index 6ad50589a8223f..00000000000000 --- a/.vib/kong/cypress/cypress/e2e/kong.cy.js +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -import { random } from '../support/utils'; - -it('allows accessing a restricted service (CRD) when API key is presented', () => { - const ROUTE_PATH = Cypress.env('ingressPath'); - - // Give the ingress controller some extra time to start - cy.wait(30000); - cy.request({ - method: 'GET', - url: ROUTE_PATH, - headers: { Host: Cypress.env('ingressHost') }, - failOnStatusCode: false, - }).then((response) => { - // No API Key presented - expect(response.status).to.eq(401); - }); - - cy.request({ - method: 'GET', - url: ROUTE_PATH, - headers: { - apikey: Cypress.env('apikey'), - Host: Cypress.env('ingressHost'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body).to.contain('Welcome to nginx'); - }); -}); - -it('allows adding a new service and route through admin API', () => { - // As adminAPI is exposed in another port, we need to use a different base url. - const BASE_URL = `${Cypress.config('baseUrl')}:${Cypress.env( - 'adminHttpPort' - )}`; - - cy.fixture('services').then((services) => { - cy.request({ - method: 'POST', - url: `${BASE_URL}/services`, - body: { - name: `${services.newService.name}-${random}`, - url: services.newService.upstreamURL, - }, - }).then((response) => { - expect(response.status).to.eq(201); - }); - - cy.request({ - method: 'GET', - url: `${BASE_URL}/services`, - }).then((response) => { - expect(response.status).to.eq(200); - expect(JSON.stringify(response.body)).to.contain(services.newService.upstreamURL.replace(/^https?:\/\//, '')); - }); - - cy.fixture('routes').then((routes) => { - cy.request({ - method: 'POST', - url: `${BASE_URL}/services/${services.newService.name}-${random}/routes`, - body: { - paths: [ - `${routes.newRoute.path}${random}` - ], - }, - }).then((response) => { - expect(response.status).to.eq(201); - }); - - // Changes takes some seconds to apply - cy.wait(7000); - cy.request({ - method: 'GET', - url: `${BASE_URL}/services/${services.newService.name}-${random}/routes`, - }).then((response) => { - expect(response.status).to.eq(200); - expect(JSON.stringify(response.body)).to.contain(`${routes.newRoute.path}${random}`); - }); - }); - }); -}); diff --git a/.vib/kong/cypress/cypress/fixtures/routes.json b/.vib/kong/cypress/cypress/fixtures/routes.json deleted file mode 100644 index dad3d621bb345c..00000000000000 --- a/.vib/kong/cypress/cypress/fixtures/routes.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newRoute": { - "path": "/chestnut" - } -} diff --git a/.vib/kong/cypress/cypress/fixtures/services.json b/.vib/kong/cypress/cypress/fixtures/services.json deleted file mode 100644 index e9bbeeee82e7f2..00000000000000 --- a/.vib/kong/cypress/cypress/fixtures/services.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newService": { - "name": "cypress-service", - "upstreamURL": "https://google.com" - } -} diff --git a/.vib/kong/cypress/cypress/support/e2e.js b/.vib/kong/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/kong/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/kong/cypress/cypress/support/utils.js b/.vib/kong/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/kong/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/kong/goss/goss.yaml b/.vib/kong/goss/goss.yaml deleted file mode 100644 index 64b0abb4efcdf7..00000000000000 --- a/.vib/kong/goss/goss.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://kong:{{ .Vars.service.ports.proxyHttps }}: - # The proxy does respond but the route is not registered - status: 404 - allow-insecure: true - https://kong:{{ .Vars.service.ports.adminHttps }}: - status: 200 - allow-insecure: true -file: - /opt/bitnami/kong/conf/kong.conf: - exists: true - filetype: file - mode: '0644' - contents: - - /pg_user.*{{ .Vars.postgresql.auth.username }}/ - - /pg_database.*{{ .Vars.postgresql.auth.database }}/ - - /pg_password.*{{ .Vars.postgresql.auth.password }}/ - /opt/bitnami/kong/server/nginx-kong.conf: - exists: true - filetype: file - mode: '0644' - contents: - - /listen.*{{ .Vars.kong.containerPorts.proxyHttp }}/ - - /listen.*{{ .Vars.kong.containerPorts.adminHttp }}/ - - /listen.*{{ .Vars.kong.containerPorts.proxyHttps }}.*ssl/ - - /listen.*{{ .Vars.kong.containerPorts.adminHttps }}.*ssl/ -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/kong/runtime-parameters.yaml b/.vib/kong/runtime-parameters.yaml deleted file mode 100644 index 6e2593d628931d..00000000000000 --- a/.vib/kong/runtime-parameters.yaml +++ /dev/null @@ -1,114 +0,0 @@ -replicaCount: 1 -database: postgresql -containerSecurityContext: - enabled: true - runAsUser: 1002 -kong: - containerPorts: - proxyHttp: 8000 - proxyHttps: 8443 - adminHttp: 8001 - adminHttps: 8444 -service: - type: LoadBalancer - exposeAdmin: true - disableHttpPort: false - ports: - proxyHttp: 80 - proxyHttps: 8443 - adminHttp: 443 - adminHttps: 8444 -ingressController: - enabled: true - ingressClass: kong -postgresql: - enabled: true - auth: - username: kong - password: "" - database: kong -extraDeploy: -- apiVersion: apps/v1 - kind: Deployment - metadata: - name: nginx-vib-tests - spec: - replicas: 1 - selector: - matchLabels: - app: nginx - template: - metadata: - labels: - app: nginx - spec: - containers: - - name: nginx - image: bitnami/nginx - ports: - - containerPort: 8080 - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - readOnlyRootFilesystem: false - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault -- apiVersion: v1 - kind: Service - metadata: - name: nginx-vib-tests - labels: - app: nginx - spec: - selector: - app: nginx - ports: - - port: 8080 - name: http - targetPort: 8080 -- apiVersion: v1 - kind: Secret - metadata: - name: apikey-vib-tests - labels: - konghq.com/credential: key-auth - data: - key: Q29tcGxpY2F0ZWRQYXNzd29yZDEyMyE0 -- apiVersion: configuration.konghq.com/v1 - kind: KongConsumer - metadata: - name: vib-tests - annotations: - kubernetes.io/ingress.class: kong - username: vib-tests - credentials: - - apikey-vib-tests -- apiVersion: configuration.konghq.com/v1 - kind: KongPlugin - metadata: - name: auth-vib-tests - plugin: key-auth -- apiVersion: networking.k8s.io/v1 - kind: Ingress - metadata: - name: vib-tests - annotations: - konghq.com/strip-path: "true" - konghq.com/plugins: auth-vib-tests - spec: - ingressClassName: kong - rules: - - host: www.example.com - http: - paths: - - path: /nginx - pathType: ImplementationSpecific - backend: - service: - name: nginx-vib-tests - port: - number: 8080 diff --git a/.vib/kong/vib-publish.json b/.vib/kong/vib-publish.json deleted file mode 100644 index 150c3258064408..00000000000000 --- a/.vib/kong/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kong" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kong/vib-verify.json b/.vib/kong/vib-verify.json deleted file mode 100644 index db654870b93c68..00000000000000 --- a/.vib/kong/vib-verify.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kong" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kong" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "kong/goss/goss.yaml", - "vars_file": "kong/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-kong" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/kong/cypress" - }, - "endpoint": "lb-kong-http-proxy", - "app_protocol": "HTTP", - "env": { - "apikey": "ComplicatedPassword123!4", - "ingressHost": "www.example.com", - "ingressPath": "/nginx", - "adminHttpPort": "443" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kube-arangodb/cypress/cypress.config.js b/.vib/kube-arangodb/cypress/cypress.config.js deleted file mode 100644 index 6a6fdc3b3afe97..00000000000000 --- a/.vib/kube-arangodb/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - env: { - username: 'vib-user', - password: 'ComplicatedPassword123!4', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'https://localhost', - }, -} diff --git a/.vib/kube-arangodb/cypress/cypress/e2e/kube-arangodb.cy.js b/.vib/kube-arangodb/cypress/cypress/e2e/kube-arangodb.cy.js deleted file mode 100644 index 27f14d44eb4550..00000000000000 --- a/.vib/kube-arangodb/cypress/cypress/e2e/kube-arangodb.cy.js +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('Can access the API and get the deployed Arango Database status', () => { - let token; - // /login returns an API token so we can access - // other API endpoints - cy.request({ - method: 'POST', - url: '/login', - body: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - }).then((response) => { - expect(response.status).to.eq(200); - token = response.body.token; - }).then(() => { - // In order to avoid a race condition, we wait 60 seconds to ensure that the - // Arango database is fully deployed and available - cy.wait(60000); - cy.request({ - method: 'GET', - url: '/api/deployment', - headers: { - 'Authorization': `Bearer ${token}`, - }, - }).then((apiResponse) => { - expect(apiResponse.status).to.eq(200); - if (apiResponse.body.deployments[0]) { - cy.fixture('deployments').then((d) => { - // This is a sample output of /api/deployment - // {"deployments":[{"name":"vib-arangodb","namespace":"test","mode":"Single","environment":"Development", - // "state_color":"green","pod_count":1,"ready_pod_count":1,"volume_count":1,"ready_volume_count":1, - // "storage_classes":[""],"database_url":"","database_version":"3.11.13","database_license":"community"}]} - // - // We will check that the name is correct and the status is green - expect(apiResponse.body.deployments[0].name).to.eq(d.deployment.name); - expect(apiResponse.body.deployments[0].state_color).to.eq(d.deployment.status); - }); - } - }); - }); -}); diff --git a/.vib/kube-arangodb/cypress/cypress/fixtures/deployments.json b/.vib/kube-arangodb/cypress/cypress/fixtures/deployments.json deleted file mode 100644 index 8753467120b862..00000000000000 --- a/.vib/kube-arangodb/cypress/cypress/fixtures/deployments.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "deployment": { - "name": "vib-arangodb", - "status": "green" - } -} diff --git a/.vib/kube-arangodb/cypress/cypress/support/commands.js b/.vib/kube-arangodb/cypress/cypress/support/commands.js deleted file mode 100644 index 6feb22c4456c54..00000000000000 --- a/.vib/kube-arangodb/cypress/cypress/support/commands.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.on('uncaught:exception', (err, runnable, promise) => { - // when the exception originated from an unhandled promise - // rejection, the promise is provided as a third argument - // you can turn off failing the test in this case - if (promise) { - return false - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/kube-arangodb/cypress/cypress/support/e2e.js b/.vib/kube-arangodb/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/kube-arangodb/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/kube-arangodb/goss/goss.yaml b/.vib/kube-arangodb/goss/goss.yaml deleted file mode 100644 index 9a42db8c0397c2..00000000000000 --- a/.vib/kube-arangodb/goss/goss.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://kube-arangodb:{{ .Vars.service.ports.apiHttp }}/health: - status: 200 - timeout: 10000 - allow-insecure: true - https://127.0.0.1:{{ .Vars.containerPorts.apiHttp }}/health: - status: 200 - timeout: 10000 - allow-insecure: true - https://kube-arangodb-webhook:{{ .Vars.webhooks.service.ports.webhook }}/health: - status: 200 - timeout: 10000 - allow-insecure: true - https://127.0.0.1:{{ .Vars.webhooks.containerPorts.webhook }}/health: - status: 200 - timeout: 10000 - allow-insecure: true - https://kube-arangodb:{{ .Vars.service.ports.server }}/metrics: - status: 200 - timeout: 10000 - allow-insecure: true - https://127.0.0.1:{{ .Vars.containerPorts.server }}/metrics: - status: 200 - timeout: 10000 - allow-insecure: true -addr: - # Container ports - tcp://kube-arangodb:{{ .Vars.service.ports.apiGrpc }}: - reachable: true - timeout: 180000 - tcp://127.0.0.1:{{ .Vars.containerPorts.apiGrpc }}: - reachable: true - timeout: 180000 - -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/kube-arangodb/runtime-parameters.yaml b/.vib/kube-arangodb/runtime-parameters.yaml deleted file mode 100644 index 323845c110b4e6..00000000000000 --- a/.vib/kube-arangodb/runtime-parameters.yaml +++ /dev/null @@ -1,45 +0,0 @@ -containerPorts: - server: 9023 - apiHttp: 9024 - apiGrpc: 9025 -service: - type: LoadBalancer - ports: - server: 443 - apiHttp: 9628 - apiGrpc: 9728 -auth: - username: vib-user - password: "ComplicatedPassword123!4" -serviceAccount: - create: true -automountServiceAccountToken: true -containerSecurityContext: - enabled: true - runAsUser: 1002 - runAsGroup: 1002 -podSecurityContext: - fsGroup: 1002 -metrics: - enabled: true -extraVolumes: - - name: empty-dir - emptyDir: {} -extraVolumeMounts: - - name: empty-dir - mountPath: /tmp -webhooks: - containerPorts: - webhook: 9999 - service: - ports: - webhook: 4443 -extraDeploy: -- | - apiVersion: "database.arangodb.com/v1" - kind: "ArangoDeployment" - metadata: - name: "vib-arangodb" - spec: - {{- include "kube-arangodb.imagePullSecrets" . | nindent 2 }} - mode: Single diff --git a/.vib/kube-arangodb/vib-publish.json b/.vib/kube-arangodb/vib-publish.json deleted file mode 100644 index d23fb4cdc8bd76..00000000000000 --- a/.vib/kube-arangodb/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-arangodb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kube-arangodb/vib-verify.json b/.vib/kube-arangodb/vib-verify.json deleted file mode 100644 index be4211e3e243c2..00000000000000 --- a/.vib/kube-arangodb/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-arangodb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-arangodb" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "kube-arangodb/goss/goss.yaml", - "vars_file": "kube-arangodb/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-kube-arangodb" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/kube-arangodb/cypress" - }, - "env": { - "username": "vib-user", - "password": "ComplicatedPassword123!4" - }, - "endpoint": "lb-kube-arangodb-https-server", - "app_protocol": "HTTPS" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kube-prometheus/cypress/cypress.config.js b/.vib/kube-prometheus/cypress/cypress.config.js deleted file mode 100644 index 9535289193c52f..00000000000000 --- a/.vib/kube-prometheus/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/kube-prometheus/cypress/cypress.env.json b/.vib/kube-prometheus/cypress/cypress.env.json deleted file mode 100644 index 782520cc510029..00000000000000 --- a/.vib/kube-prometheus/cypress/cypress.env.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "deployments": { - "alertmanager": { - "query": "alertmanager_alerts" - }, - "kube-state-metrics": { - "query": "kube_deployment_created" - }, - "node-exporter": { - "query": "node_boot_time_seconds" - }, - "prometheus": { - "query": "prometheus_http_requests_total" - }, - "prometheus-operator": { - "query": "prometheus_operator_spec_replicas" - } - }, - "monitors": { - "kubelet": { - "query": "kubelet_node_name" - }, - "apiserver": { - "query": "apiserver_storage_objects" - } - }, - "targets": { - "alertmanager": { - "replicaCount": 2 - }, - "kube-state-metrics": { - "replicaCount": 1 - }, - "operator": { - "replicaCount": 1 - }, - "prometheus-prometheus": { - "replicaCount": 2 - } - } -} diff --git a/.vib/kube-prometheus/cypress/cypress/e2e/kube_prometheus.cy.js b/.vib/kube-prometheus/cypress/cypress/e2e/kube_prometheus.cy.js deleted file mode 100644 index b3161b97a61215..00000000000000 --- a/.vib/kube-prometheus/cypress/cypress/e2e/kube_prometheus.cy.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('allows executing a query and displaying response data for each deployment', () => { - const deployments = Cypress.env('deployments'); - - cy.visit(`/graph`); - Object.keys(deployments).forEach((podName, i) => { - const query = Object.values(deployments)[i].query; - - cy.visit(`/graph?g0.expr=${query}`); - cy.contains('span', `container="${podName}"`) - }) -}); - -it('allows executing a query and displaying response data for each service monitor', () => { - const monitors = Cypress.env('monitors'); - - cy.visit(`/graph`); - Object.keys(monitors).forEach((jobName, i) => { - const query = Object.values(monitors)[i].query; - - cy.visit(`/graph?g0.expr=${query}`); - cy.contains('span', `job="${jobName}"`) - }) -}); - -it('checks targets status', () => { - const targets = Cypress.env('targets'); - - Object.keys(targets).forEach((podName, i) => { - const podData = Object.values(targets)[i]; - - cy.visit(`/targets?search=${podName}`); - cy.get('a[href$=metrics]').should('have.length', `${podData.replicaCount}`); - }) -}); diff --git a/.vib/kube-prometheus/cypress/cypress/support/e2e.js b/.vib/kube-prometheus/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/kube-prometheus/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/kube-prometheus/goss/goss.yaml b/.vib/kube-prometheus/goss/goss.yaml deleted file mode 100644 index dcb73b7a303e62..00000000000000 --- a/.vib/kube-prometheus/goss/goss.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- if .Vars.operator.containerSecurityContext.enabled }} - check-no-capabilities: - exec: cat /proc/1/status - exit-status: 0 - stdout: - - "CapInh: 0000000000000000" - - "CapPrm: 0000000000000000" - - "CapEff: 0000000000000000" - - "CapBnd: 0000000000000000" - - "CapAmb: 0000000000000000" - {{- end }} - {{- $uid := .Vars.operator.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.operator.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.operator.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/kube-prometheus/runtime-parameters.yaml b/.vib/kube-prometheus/runtime-parameters.yaml deleted file mode 100644 index 221cfccb238aa9..00000000000000 --- a/.vib/kube-prometheus/runtime-parameters.yaml +++ /dev/null @@ -1,67 +0,0 @@ -operator: - enabled: true - serviceAccount: - create: true - automountServiceAccountToken: true - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - capabilities: - drop: - - ALL - runAsNonRoot: true - readOnlyRootFilesystem: false - serviceMonitor: - enabled: true - kubeletService: - enabled: true - service: - ports: - http: 8081 -prometheus: - enabled: true - replicaCount: 2 - serviceMonitor: - enabled: true - service: - type: LoadBalancer - ports: - http: 80 -alertmanager: - enabled: true - replicaCount: 2 - serviceMonitor: - enabled: true - service: - ports: - http: 9094 -node-exporter: - serviceMonitor: - enabled: true -kube-state-metrics: - replicaCount: 1 - serviceMonitor: - enabled: true -exporters: - node-exporter: - enabled: true - kube-state-metrics: - enabled: true -kubelet: - enabled: true -kubeApiServer: - enabled: true -kubeControllerManager: - enabled: true -kubeScheduler: - enabled: true -coreDns: - enabled: true -kubeProxy: - enabled: true -rbac: - create: true - pspEnabled: true diff --git a/.vib/kube-prometheus/vib-action.config b/.vib/kube-prometheus/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/kube-prometheus/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/kube-prometheus/vib-publish.json b/.vib/kube-prometheus/vib-publish.json deleted file mode 100644 index 63af5123019210..00000000000000 --- a/.vib/kube-prometheus/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-prometheus" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kube-prometheus/vib-verify.json b/.vib/kube-prometheus/vib-verify.json deleted file mode 100644 index 0687a980527906..00000000000000 --- a/.vib/kube-prometheus/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-prometheus" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-prometheus" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/kube-prometheus/cypress" - }, - "endpoint": "lb-kube-prometheus-prometheus-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "kube-prometheus/goss/goss.yaml", - "vars_file": "kube-prometheus/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-kube-prometheus-operator" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kube-state-metrics/goss/goss.yaml b/.vib/kube-state-metrics/goss/goss.yaml deleted file mode 100644 index 35b837777e23b1..00000000000000 --- a/.vib/kube-state-metrics/goss/goss.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://127.0.0.1:{{ .Vars.containerPorts.http }}/metrics: - status: 200 - body: - - /kube_deployment_status_replicas_ready.*kube-state-metrics.*{{ .Vars.replicaCount }}/ - - "!kube_secret_" - http://kube-state-metrics:{{ .Vars.service.ports.http }}/metrics: - status: 200 - body: - - /kube_deployment_status_replicas_ready.*kube-state-metrics.*{{ .Vars.replicaCount }}/ - - "!kube_secret_" -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/kube-state-metrics/runtime-parameters.yaml b/.vib/kube-state-metrics/runtime-parameters.yaml deleted file mode 100644 index e3ff4adb746333..00000000000000 --- a/.vib/kube-state-metrics/runtime-parameters.yaml +++ /dev/null @@ -1,21 +0,0 @@ -rbac: - create: true -serviceAccount: - create: true - automountServiceAccountToken: true -kubeResources: - replicasets: true - secrets: false -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -containerPorts: - http: 8080 -service: - type: LoadBalancer - ports: - http: 80 -replicaCount: 2 diff --git a/.vib/kube-state-metrics/vib-publish.json b/.vib/kube-state-metrics/vib-publish.json deleted file mode 100644 index 4e9ad93a33c3d2..00000000000000 --- a/.vib/kube-state-metrics/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-state-metrics" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kube-state-metrics/vib-verify.json b/.vib/kube-state-metrics/vib-verify.json deleted file mode 100644 index 7bb6047eab380a..00000000000000 --- a/.vib/kube-state-metrics/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-state-metrics" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kube-state-metrics" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "kube-state-metrics/goss/goss.yaml", - "vars_file": "kube-state-metrics/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-kube-state-metrics" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kuberay/cypress/cypress.config.js b/.vib/kuberay/cypress/cypress.config.js deleted file mode 100644 index e3bb7724025b60..00000000000000 --- a/.vib/kuberay/cypress/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - pageLoadTimeout: 240000, - defaultCommandTimeout: 80000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/kuberay/cypress/cypress/e2e/kuberay.cy.js b/.vib/kuberay/cypress/cypress/e2e/kuberay.cy.js deleted file mode 100644 index 428f0090f8a320..00000000000000 --- a/.vib/kuberay/cypress/cypress/e2e/kuberay.cy.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('can access the script run and cluster status', () => { - cy.visit('/'); - // HACK: This approach is not recommended by Cypress but there is no clear way to - // workaround the following race condition. In some test runs, the Job - // (check runtime-parameters.yaml) has not finished executing and therefore - // it is not visible in the UI. In this case, we would need to reload the page - // to see if the run is there or not. There is discussion in the Cypress repo on how to - // workaround that: https://github.com/cypress-io/cypress/issues/3757 - cy.contains('Recent jobs'); - const max_attempts = 5; - let runFound = false; - for (let i = 0; i < max_attempts && !runFound; i += 1) - cy.get('body').then(($body) => { - if ($body.find('a[href*="/jobs/"]').length === 0) { - // run job has not finished executing, so we wait and reload the page - cy.wait(5000); - cy.reload(); - } else { - runFound = true; - } - }); - cy.fixture('scripts').then((script) => { - // This ensures that the script in the job was run - cy.contains(script.script.title); - }); - // Check the cluster status - cy.contains('a', 'Cluster').click(); - cy.fixture('clusters').then((cluster) => { - // This ensures the cluster is well formed - cy.contains(cluster.cluster.head); - cy.contains(cluster.cluster.worker); - }); -}); diff --git a/.vib/kuberay/cypress/cypress/fixtures/clusters.json b/.vib/kuberay/cypress/cypress/fixtures/clusters.json deleted file mode 100644 index 0f84277057fcfb..00000000000000 --- a/.vib/kuberay/cypress/cypress/fixtures/clusters.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cluster": { - "head": "kuberay-cluster-head", - "worker": "kuberay-cluster-vib-worker" - } -} diff --git a/.vib/kuberay/cypress/cypress/fixtures/scripts.json b/.vib/kuberay/cypress/cypress/fixtures/scripts.json deleted file mode 100644 index 0bb26fdb7a0b1a..00000000000000 --- a/.vib/kuberay/cypress/cypress/fixtures/scripts.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "script": { - "title": "cluster_resources" - } -} diff --git a/.vib/kuberay/cypress/cypress/support/commands.js b/.vib/kuberay/cypress/cypress/support/commands.js deleted file mode 100644 index 6feb22c4456c54..00000000000000 --- a/.vib/kuberay/cypress/cypress/support/commands.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.on('uncaught:exception', (err, runnable, promise) => { - // when the exception originated from an unhandled promise - // rejection, the promise is provided as a third argument - // you can turn off failing the test in this case - if (promise) { - return false - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/kuberay/cypress/cypress/support/e2e.js b/.vib/kuberay/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/kuberay/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/kuberay/goss/goss.yaml b/.vib/kuberay/goss/goss.yaml deleted file mode 100644 index 4418ed3af02e4e..00000000000000 --- a/.vib/kuberay/goss/goss.yaml +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - # Metrics - http://kuberay-operator:{{ .Vars.operator.service.ports.metrics }}/metrics: - status: 200 - body: - - /workqueue_queue_duration_seconds_bucket/ - http://127.0.0.1:{{ .Vars.operator.containerPorts.metrics }}/metrics: - status: 200 - body: - - /workqueue_queue_duration_seconds_bucket/ - http://kuberay-apiserver:{{ .Vars.apiserver.service.ports.http }}/healthz: - status: 200 -addr: - # Container ports - tcp://kuberay-apiserver:{{ .Vars.apiserver.service.ports.grpc }}: - reachable: true - timeout: 180000 -command: - {{- $uid := .Vars.operator.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.operator.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always - # be either the one specified as vars (always a bigger number that the def /tmp/ready - info "Waiting for the head instance" - if ! retry_while "kuberay_head_ready" 12 30; then - error "Could not connect to the head instance" - exit 1 - else - info "Head ready! Running job" - ray job submit --address http://${host}:${port} -- python -c "import ray; ray.init(); print(ray.cluster_resources())" - fi - volumeMounts: - - name: tmp - mountPath: /tmp - volumes: - - name: tmp - emptyDir: {} diff --git a/.vib/kuberay/vib-action.config b/.vib/kuberay/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/kuberay/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/kuberay/vib-publish.json b/.vib/kuberay/vib-publish.json deleted file mode 100644 index cf56cfb169703c..00000000000000 --- a/.vib/kuberay/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kuberay" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kuberay/vib-verify.json b/.vib/kuberay/vib-verify.json deleted file mode 100644 index 398e35dff2ebff..00000000000000 --- a/.vib/kuberay/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kuberay" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kuberay" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "kuberay/goss/goss.yaml", - "vars_file": "kuberay/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-kuberay-operator" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/kuberay/cypress" - }, - "endpoint": "lb-kuberay-cluster-head-vib-svc-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/kubernetes-event-exporter/ginkgo/go.mod b/.vib/kubernetes-event-exporter/ginkgo/go.mod deleted file mode 100644 index be46104724544d..00000000000000 --- a/.vib/kubernetes-event-exporter/ginkgo/go.mod +++ /dev/null @@ -1,62 +0,0 @@ -module vib-tests - -go 1.23.0 - -toolchain go1.24.1 - -require ( - github.com/onsi/ginkgo/v2 v2.7.0 - github.com/onsi/gomega v1.24.1 - k8s.io/api v0.25.2 - k8s.io/apimachinery v0.25.2 - k8s.io/client-go v0.25.2 -) - -require ( - cloud.google.com/go v0.97.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.27 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.20 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.8.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.5.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.70.1 // indirect - k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 // indirect - k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed // indirect - sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect -) diff --git a/.vib/kubernetes-event-exporter/ginkgo/go.sum b/.vib/kubernetes-event-exporter/ginkgo/go.sum deleted file mode 100644 index f555aed89fe37c..00000000000000 --- a/.vib/kubernetes-event-exporter/ginkgo/go.sum +++ /dev/null @@ -1,673 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0 h1:3DXvAyifywvq64LfkKaMOmkWPS1CikIQdMe2lY9vxU8= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= -github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8vthOeD4VlFRQULxahg= -github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/emicklei/go-restful/v3 v3.8.0 h1:eCZ8ulSerjdAiaNpF7GxXIE7ZCMo1moN1qX+S609eVw= -github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= -github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= -golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.25.2 h1:v6G8RyFcwf0HR5jQGIAYlvtRNrxMJQG1xJzaSeVnIS8= -k8s.io/api v0.25.2/go.mod h1:qP1Rn4sCVFwx/xIhe+we2cwBLTXNcheRyYXwajonhy0= -k8s.io/apimachinery v0.25.2 h1:WbxfAjCx+AeN8Ilp9joWnyJ6xu9OMeS/fsfjK/5zaQs= -k8s.io/apimachinery v0.25.2/go.mod h1:hqqA1X0bsgsxI6dXsJ4HnNTBOmJNxyPp8dw3u2fSHwA= -k8s.io/client-go v0.25.2 h1:SUPp9p5CwM0yXGQrwYurw9LWz+YtMwhWd0GqOsSiefo= -k8s.io/client-go v0.25.2/go.mod h1:i7cNU7N+yGQmJkewcRD2+Vuj4iz7b30kI8OcL3horQ4= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= -k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 h1:MQ8BAZPZlWk3S9K4a9NCkIFQtZShWqoha7snGixVgEA= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/.vib/kubernetes-event-exporter/ginkgo/integration_suite_test.go b/.vib/kubernetes-event-exporter/ginkgo/integration_suite_test.go deleted file mode 100644 index 848cbab74c09d9..00000000000000 --- a/.vib/kubernetes-event-exporter/ginkgo/integration_suite_test.go +++ /dev/null @@ -1,188 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "bufio" - "context" - "flag" - "fmt" - "io" - "regexp" - "testing" - "time" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - cv1 "k8s.io/client-go/kubernetes/typed/core/v1" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -const APP_NAME = "Kubernetes Event Exporter" - -var kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") -var namespace = flag.String("namespace", "", "namespace where the resources are deployed") - -func clusterConfigOrDie() *rest.Config { - var config *rest.Config - var err error - - if *kubeconfig != "" { - config, err = clientcmd.BuildConfigFromFlags("", *kubeconfig) - } else { - config, err = rest.InClusterConfig() - } - if err != nil { - panic(err.Error()) - } - - return config -} - -func createPodOrDie(ctx context.Context, c cv1.PodsGetter, name string, image string) *v1.Pod { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - podData := &v1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Namespace: *namespace, - Name: name, - }, - Spec: v1.PodSpec{ - Containers: []v1.Container{ - { - Name: name, - Image: image, - SecurityContext: securityContext, - }, - }, - }, - } - result, err := c.Pods(*namespace).Create(ctx, podData, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the Pod: %s", err)) - } - return result -} - -func getPodsByLabelOrDie(ctx context.Context, c cv1.PodsGetter, selector string) v1.PodList { - output, err := c.Pods(*namespace).List(ctx, metav1.ListOptions{ - LabelSelector: selector, - }) - if err != nil { - panic(err.Error()) - } - fmt.Printf("Obtained list of pods with label %q\n", selector) - - return *output -} - -func getContainerLogsOrDie(ctx context.Context, c cv1.PodsGetter, podName string, container string) []string { - var output []string - tailLines := int64(50) - - readCloser, err := c.Pods(*namespace).GetLogs(podName, &v1.PodLogOptions{ - Container: container, - Follow: false, - TailLines: &tailLines, - }).Stream(ctx) - if err != nil { - panic(err.Error()) - } - fmt.Printf("Obtained %q pod's logs\n", podName) - - defer readCloser.Close() - - scanner := bufio.NewScanner(interruptableReader{ctx, readCloser}) - for scanner.Scan() { - output = append(output, scanner.Text()) - } - if scanner.Err() != nil { - panic(scanner.Err()) - } - return output -} - -func containerLogsContainPattern(ctx context.Context, c cv1.PodsGetter, podLabel string, containerName string, pattern string) (bool, error) { - var k8seePods v1.PodList - var containerLogs []string - - k8seePods = getPodsByLabelOrDie(ctx, c, podLabel) - if len(k8seePods.Items) == 0 { - return false, fmt.Errorf("No pods found with label %q", podLabel) - } - containerLogs = getContainerLogsOrDie(ctx, c, k8seePods.Items[0].GetName(), containerName) - - return containsPattern(containerLogs, pattern) -} - -func retry(name string, attempts int, sleep time.Duration, f func() (bool, error)) (res bool, err error) { - for i := 0; i < attempts; i++ { - fmt.Printf("[retriable] operation %q executing now [attempt %d/%d]\n", name, (i + 1), attempts) - res, err = f() - if res { - fmt.Printf("[retriable] operation %q succedeed [attempt %d/%d]\n", name, (i + 1), attempts) - return res, err - } - fmt.Printf("[retriable] operation %q failed, sleeping for %q now...\n", name, sleep) - time.Sleep(sleep) - } - fmt.Printf("[retriable] operation %q failed [attempt %d/%d]\n", name, attempts, attempts) - return res, err -} - -type interruptableReader struct { - ctx context.Context - r io.Reader -} - -func (r interruptableReader) Read(p []byte) (int, error) { - if err := r.ctx.Err(); err != nil { - return 0, err - } - n, err := r.r.Read(p) - if err != nil { - return n, err - } - return n, r.ctx.Err() -} - -func containsPattern(haystack []string, pattern string) (bool, error) { - var err error - - for _, s := range haystack { - match, err := regexp.MatchString(pattern, s) - if match { - return true, err - } - } - return false, err -} - -func CheckRequirements() { - if *namespace == "" { - panic(fmt.Sprintf("The namespace where %s is deployed must be provided. Use the '--namespace' flag", APP_NAME)) - } -} - -func TestIntegration(t *testing.T) { - RegisterFailHandler(Fail) - CheckRequirements() - RunSpecs(t, fmt.Sprintf("%s Integration Tests", APP_NAME)) -} diff --git a/.vib/kubernetes-event-exporter/ginkgo/kubernetes_event_exporter.go b/.vib/kubernetes-event-exporter/ginkgo/kubernetes_event_exporter.go deleted file mode 100644 index 8d491151a49a82..00000000000000 --- a/.vib/kubernetes-event-exporter/ginkgo/kubernetes_event_exporter.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "context" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - cv1 "k8s.io/client-go/kubernetes/typed/core/v1" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -var _ = Describe("Kubernetes Event Exporter:", func() { - var coreclient cv1.CoreV1Interface - var ctx context.Context - - BeforeEach(func() { - coreclient = cv1.NewForConfigOrDie(clusterConfigOrDie()) - ctx = context.Background() - }) - - When("a testing pod is created", func() { - var resourceName string - var createdPod *v1.Pod - - BeforeEach(func() { - resourceName = "nginx-" + *namespace - createdPod = createPodOrDie(ctx, coreclient, resourceName, "bitnami/nginx") - }) - - AfterEach(func() { - // Not need to panic here if failed, the cluster is expected to clean up with the undeployment - coreclient.Pods(*namespace).Delete(ctx, createdPod.GetName(), metav1.DeleteOptions{}) - }) - - Describe("the exporter logs", func() { - It("shows its kubernetes events", func() { - pattern := "event=.*Created container.*nginx-" + *namespace + ".*sink=.*dump" - podLabel := "app.kubernetes.io/name=kubernetes-event-exporter" - containerName := "event-exporter" - - containsPattern, _ := retry("containerLogsContainPattern", 12, 5*time.Second, func() (bool, error) { - return containerLogsContainPattern(ctx, coreclient, podLabel, containerName, pattern) - }) - Expect(containsPattern).To(BeTrue()) - }) - }) - }) -}) diff --git a/.vib/kubernetes-event-exporter/goss/goss.yaml b/.vib/kubernetes-event-exporter/goss/goss.yaml deleted file mode 100644 index 873453fcf841b0..00000000000000 --- a/.vib/kubernetes-event-exporter/goss/goss.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /data/config.yaml: - exists: true - filetype: symlink - mode: "0777" - owner: root - contents: - - /logLevel.*{{ .Vars.config.logLevel }}/ -command: - {{- if .Vars.containerSecurityContext.enabled }} - check-no-capabilities: - exec: cat /proc/1/status - exit-status: 0 - stdout: - - "CapInh: 0000000000000000" - - "CapPrm: 0000000000000000" - - "CapEff: 0000000000000000" - - "CapBnd: 0000000000000000" - - "CapAmb: 0000000000000000" - {{- end }} - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/kubernetes-event-exporter/runtime-parameters.yaml b/.vib/kubernetes-event-exporter/runtime-parameters.yaml deleted file mode 100644 index 50f433adfeec15..00000000000000 --- a/.vib/kubernetes-event-exporter/runtime-parameters.yaml +++ /dev/null @@ -1,30 +0,0 @@ -config: - kubeQPS: 60 - kubeBurst: 60 - logLevel: debug - logFormat: pretty - receivers: - - name: dump - file: - path: /dev/stdout - layout: null - route: - routes: - - match: - - receiver: dump -rbac: - create: true -serviceAccount: - create: true - automountServiceAccountToken: true -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - readOnlyRootFilesystem: false - capabilities: - add: [] - drop: - - ALL - runAsUser: 1002 diff --git a/.vib/kubernetes-event-exporter/vib-publish.json b/.vib/kubernetes-event-exporter/vib-publish.json deleted file mode 100644 index 55edecb0c9cf97..00000000000000 --- a/.vib/kubernetes-event-exporter/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kubernetes-event-exporter" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/kubernetes-event-exporter/vib-verify.json b/.vib/kubernetes-event-exporter/vib-verify.json deleted file mode 100644 index b761fea4f4d8d8..00000000000000 --- a/.vib/kubernetes-event-exporter/vib-verify.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kubernetes-event-exporter" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/kubernetes-event-exporter" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "kubernetes-event-exporter/goss/goss.yaml", - "vars_file": "kubernetes-event-exporter/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-kubernetes-event-exporter" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/kubernetes-event-exporter/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/logstash/cypress/cypress.config.js b/.vib/logstash/cypress/cypress.config.js deleted file mode 100644 index e5ddd4ce7e3e3d..00000000000000 --- a/.vib/logstash/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - responseTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/logstash/cypress/cypress/e2e/logstash.cy.js b/.vib/logstash/cypress/cypress/e2e/logstash.cy.js deleted file mode 100644 index bea3a72324cff7..00000000000000 --- a/.vib/logstash/cypress/cypress/e2e/logstash.cy.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('can check cluster health', () => { - cy.request({ - method: 'GET', - url: '/', - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.status).to.contain('green'); - }); -}); diff --git a/.vib/logstash/cypress/cypress/support/e2e.js b/.vib/logstash/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/logstash/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/logstash/goss/goss.yaml b/.vib/logstash/goss/goss.yaml deleted file mode 100644 index 28524cbe8f01d0..00000000000000 --- a/.vib/logstash/goss/goss.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://logstash:{{ (index .Vars.service.ports 0).port }}: - status: 200 -file: - {{ .Vars.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2777" - /bitnami/logstash/config/logstash.conf: - exists: true - filetype: symlink - mode: "0777" - contents: - - /port.*{{ (index .Vars.containerPorts 0).containerPort }}/ -command: - {{- $rnd_ip := printf "%s.%s.%s.%s" (randNumeric 2) (randNumeric 2) (randNumeric 2) (randNumeric 2) }} - {{- $rnd_address := printf "http://%s.com" (randAlpha 5) }} - test-pipeline: - # Logstash can take some time to parse and filter each input - exec: echo '{{ $rnd_ip }} - - [18/May/2011:19:35:08 -0700] "GET /css/main.css HTTP/1.1" 200 55 "{{ $rnd_address }}" "Mozilla/5.0"' >> /tmp/test_input && sleep 20 && cat /tmp/test_log - exit-status: 0 - stdout: - - "{{ $rnd_ip }}" - - /status_code.*200/ - - /referrer.*{{ $rnd_address }}/ - timeout: 30000 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/logstash/runtime-parameters.yaml b/.vib/logstash/runtime-parameters.yaml deleted file mode 100644 index f65e4254597375..00000000000000 --- a/.vib/logstash/runtime-parameters.yaml +++ /dev/null @@ -1,48 +0,0 @@ -enableMonitoringAPI: true -monitoringAPIPort: 9600 -input: |- - http { port => 8081 } - file { - path => "/tmp/test_input" - mode => "tail" - } -filter: |- - grok { - match => { "message" => "%{COMBINEDAPACHELOG}" } - } - date { - match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] - } -output: |- - stdout {} - file { - path => "/tmp/test_log" - } -serviceAccount: - create: true -automountServiceAccountToken: true -containerPorts: - - name: http - containerPort: 8081 - protocol: TCP -replicaCount: 1 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - ports: - - name: http - port: 8081 - targetPort: http - protocol: TCP - extraPorts: - - name: monitoring - port: 80 - targetPort: monitoring - protocol: TCP - type: LoadBalancer -persistence: - mountPath: /bitnami/logstash/data \ No newline at end of file diff --git a/.vib/logstash/vib-publish.json b/.vib/logstash/vib-publish.json deleted file mode 100644 index 7e0d004473be29..00000000000000 --- a/.vib/logstash/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/logstash" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/logstash/vib-verify.json b/.vib/logstash/vib-verify.json deleted file mode 100644 index 6baad9f8acbc70..00000000000000 --- a/.vib/logstash/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/logstash" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/logstash" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "logstash/goss/goss.yaml", - "vars_file": "logstash/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-logstash" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/logstash/cypress" - }, - "endpoint": "lb-logstash-monitoring", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/mariadb-galera/ginkgo/go.mod b/.vib/mariadb-galera/ginkgo/go.mod deleted file mode 100644 index 06f5e08012557c..00000000000000 --- a/.vib/mariadb-galera/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-mariadb-galera-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/mariadb-galera/ginkgo/go.sum b/.vib/mariadb-galera/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/mariadb-galera/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/mariadb-galera/ginkgo/mariadb_suite_test.go b/.vib/mariadb-galera/ginkgo/mariadb_suite_test.go deleted file mode 100644 index acb9856709a6dc..00000000000000 --- a/.vib/mariadb-galera/ginkgo/mariadb_suite_test.go +++ /dev/null @@ -1,102 +0,0 @@ -package mariadb_galera_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 240, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestMariaDB(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "MariaDB Galera Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - // Default job TTL in seconds - ttl := int32(10) - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - TTLSecondsAfterFinished: &ttl, - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "mariadb", - Image: image, - Command: []string{"mysql", "-h$(MARIADB_HOST)", "-p$(MARIADB_PASSWORD)", "-u$(MARIADB_USERNAME)", "-P$(MARIADB_PORT)", "-e", stmt}, - Env: []v1.EnvVar{ - { - Name: "MARIADB_PASSWORD", - Value: password, - }, - { - Name: "MARIADB_USERNAME", - Value: username, - }, - { - Name: "MARIADB_HOST", - Value: stsName, - }, - { - Name: "MARIADB_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/mariadb-galera/ginkgo/mariadb_test.go b/.vib/mariadb-galera/ginkgo/mariadb_test.go deleted file mode 100644 index a702ee59ebae48..00000000000000 --- a/.vib/mariadb-galera/ginkgo/mariadb_test.go +++ /dev/null @@ -1,107 +0,0 @@ -package mariadb_galera_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("MariaDB Galera", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and MariaDB is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - restartKey := "kubectl.kubernetes.io/restartedAt" - restartAnnotation := map[string]string{restartKey: time.Now().Format(time.RFC3339)} - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations[restartKey] } - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "mysql") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "mariadb-galera") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - stsName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("CREATE DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("running rollout restart") - // Annotate pods to force a rollout restart - ss, err = utils.StsAnnotateTemplate(ctx, c, ss, restartAnnotation) - - // Wait for the new annotation in the existing pods - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Equal(restartAnnotation[restartKey]))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("DROP DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/mariadb-galera/goss/goss.yaml b/.vib/mariadb-galera/goss/goss.yaml deleted file mode 100644 index ed5037d97b4f55..00000000000000 --- a/.vib/mariadb-galera/goss/goss.yaml +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/mariadb/data/{{ .Vars.db.name }}: - mode: "2700" - filetype: directory - exists: true - /opt/bitnami/mariadb/.bootstrap: - mode: "2777" - filetype: directory - exists: true - /opt/bitnami/mariadb/conf/my.cnf: - mode: "0644" - filetype: file - exists: true - contents: - - "basedir=/opt/bitnami/mariadb" - - /wsrep_provider=.*libgalera_smm.so/ - - "wsrep_cluster_name={{ .Vars.galera.name }}" -command: - {{- $testValue := "1989" }} - {{- $conn_opts := printf "-P %d -u %s -p'%s' %s" .Vars.service.ports.mysql .Vars.rootUser.user .Vars.rootUser.password .Vars.db.name }} - create-table-root: - exec: mariadb -h mariadb-galera {{ $conn_opts }} -e 'DROP TABLE IF EXISTS TEST; create table TEST(test_id int auto_increment, test_value int, primary key(test_id)); INSERT INTO TEST (TEST_VALUE) VALUES ({{ $testValue }});SELECT * FROM TEST' - exit-status: 0 - stdout: - - "{{ $testValue }}" - {{- $numNodes := .Vars.replicaCount }} - {{- $testValue := "2022" }} - {{- range $e, $i := until $numNodes }} - {{- $conn_opts := printf "-P %d -u %s -p'%s' %s" $.Vars.containerPorts.mysql $.Vars.db.user $.Vars.db.password $.Vars.db.name }} - multimaster-write-{{ $i }}-read: - exec: mariadb -h mariadb-galera-{{ $i }}.mariadb-galera-headless {{ $conn_opts }} -e 'DROP TABLE IF EXISTS TEST_REP_{{ $i }}; create table TEST_REP_{{ $i }}(test_id int auto_increment, test_value varchar(4), primary key(test_id)); INSERT INTO TEST_REP_{{ $i }} (TEST_VALUE) VALUES ({{ $testValue }})' && sleep 2 {{ range $e, $j := until $numNodes }} && mariadb -h mariadb-galera-{{ $j }}.mariadb-galera-headless {{ $conn_opts }} -e 'SELECT * FROM TEST_REP_{{ $i }}'{{ end }} - exit-status: 0 - stdout: - - "{{ $testValue }}" - timeout: 9000 - {{- end }} - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/mariadb-galera/runtime-parameters.yaml b/.vib/mariadb-galera/runtime-parameters.yaml deleted file mode 100644 index 05e49fc7eaf0a5..00000000000000 --- a/.vib/mariadb-galera/runtime-parameters.yaml +++ /dev/null @@ -1,26 +0,0 @@ -replicaCount: 3 -service: - type: LoadBalancer - ports: - mysql: 80 -podSecurityContext: - enabled: true - fsGroup: 1002 - runAsUser: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -rootUser: - user: bitnamiroot - password: ComplicatedPassword123!4 -db: - user: bitnamiuser - password: BitnamiPassw0rd - name: awesome_zoo_db -galera: - name: bitnamigalera -containerPorts: - mysql: 3306 - galera: 4567 - ist: 4568 - sst: 4444 \ No newline at end of file diff --git a/.vib/mariadb-galera/vib-publish.json b/.vib/mariadb-galera/vib-publish.json deleted file mode 100644 index 8019f0353d1f35..00000000000000 --- a/.vib/mariadb-galera/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mariadb-galera" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/mariadb-galera/vib-verify.json b/.vib/mariadb-galera/vib-verify.json deleted file mode 100644 index fb39f63b1c359b..00000000000000 --- a/.vib/mariadb-galera/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mariadb-galera" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mariadb-galera" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "mariadb-galera/goss/goss.yaml", - "vars_file": "mariadb-galera/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-mariadb-galera" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/mariadb-galera/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "mariadb-galera", - "username": "bitnamiroot", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/mariadb/ginkgo/go.mod b/.vib/mariadb/ginkgo/go.mod deleted file mode 100644 index caf7bbfde69152..00000000000000 --- a/.vib/mariadb/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-mariadb-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/mariadb/ginkgo/go.sum b/.vib/mariadb/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/mariadb/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/mariadb/ginkgo/mariadb_suite_test.go b/.vib/mariadb/ginkgo/mariadb_suite_test.go deleted file mode 100644 index cf6014e72d048b..00000000000000 --- a/.vib/mariadb/ginkgo/mariadb_suite_test.go +++ /dev/null @@ -1,100 +0,0 @@ -package mariadb_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestMariaDB(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "MariaDB Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "mariadb", - Image: image, - Command: []string{"mysql", "-h$(MARIADB_HOST)", "-p$(MARIADB_PASSWORD)", "-u$(MARIADB_USERNAME)", "-P$(MARIADB_PORT)", "-e", stmt}, - Env: []v1.EnvVar{ - { - Name: "MARIADB_PASSWORD", - Value: password, - }, - { - Name: "MARIADB_USERNAME", - Value: username, - }, - { - Name: "MARIADB_HOST", - Value: stsName, - }, - { - Name: "MARIADB_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/mariadb/ginkgo/mariadb_test.go b/.vib/mariadb/ginkgo/mariadb_test.go deleted file mode 100644 index 2b7730899a3f94..00000000000000 --- a/.vib/mariadb/ginkgo/mariadb_test.go +++ /dev/null @@ -1,104 +0,0 @@ -package mariadb_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("MariaDB", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and MariaDB is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "mysql") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "mariadb") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - stsName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("CREATE DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("DROP DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/mariadb/goss/goss.yaml b/.vib/mariadb/goss/goss.yaml deleted file mode 100644 index 3cd031e2e248c5..00000000000000 --- a/.vib/mariadb/goss/goss.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/mariadb/data/{{ .Vars.auth.database }}: - mode: "2700" - filetype: directory - exists: true - /opt/bitnami/mariadb/conf/my.cnf: - mode: "0644" - filetype: file - contents: [ - "[mysqld]", - "basedir=/opt/bitnami/mariadb", - "socket=/opt/bitnami/mariadb/tmp/mysql.sock"] - exists: true -command: - create-table-root-test: - exec: mariadb -h mariadb-primary -u root -P {{ .Vars.primary.service.ports.mysql }} -p'{{ .Vars.auth.rootPassword }}' {{ .Vars.auth.database }} -e 'DROP TABLE IF EXISTS TEST; create table TEST(test_id int auto_increment, test_value int, primary key(test_id)); INSERT INTO TEST (TEST_VALUE) VALUES (1989);SELECT * FROM TEST' - exit-status: 0 - stdout: - - "1989" - replication-test: - exec: mariadb -h mariadb-primary -u {{ .Vars.auth.username }} -P {{ .Vars.primary.service.ports.mysql }} -p'{{ .Vars.auth.password }}' {{ .Vars.auth.database }} -e 'DROP TABLE IF EXISTS TEST_REP; create table TEST_REP(test_id int auto_increment, test_value varchar(4), primary key(test_id)); INSERT INTO TEST_REP (TEST_VALUE) VALUES (2022)' && sleep 2 && mariadb -h mariadb-secondary -u {{ .Vars.auth.username }} -P {{ .Vars.secondary.service.ports.mysql }} -p'{{ .Vars.auth.password }}' {{ .Vars.auth.database }} -e 'SELECT * FROM TEST_REP' - exit-status: 0 - stdout: - - "2022" - timeout: 9000 diff --git a/.vib/mariadb/runtime-parameters.yaml b/.vib/mariadb/runtime-parameters.yaml deleted file mode 100644 index 327cab5ab20e18..00000000000000 --- a/.vib/mariadb/runtime-parameters.yaml +++ /dev/null @@ -1,16 +0,0 @@ -architecture: replication -auth: - database: test_database - username: user - password: ComplicatedPassword123!4 - rootPassword: R0ot)Password -primary: - service: - type: LoadBalancer - ports: - mysql: 80 -secondary: - service: - type: ClusterIP - ports: - mysql: 3306 \ No newline at end of file diff --git a/.vib/mariadb/vib-publish.json b/.vib/mariadb/vib-publish.json deleted file mode 100644 index c01893dbcf3ebb..00000000000000 --- a/.vib/mariadb/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mariadb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/mariadb/vib-verify.json b/.vib/mariadb/vib-verify.json deleted file mode 100644 index af95476665f383..00000000000000 --- a/.vib/mariadb/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mariadb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mariadb" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "mariadb/goss/goss.yaml", - "vars_file": "mariadb/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-mariadb-primary" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/mariadb/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "mariadb-primary", - "username": "root", - "password": "R0ot)Password" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/mastodon/cypress/cypress.config.js b/.vib/mastodon/cypress/cypress.config.js deleted file mode 100644 index d634c8332a434b..00000000000000 --- a/.vib/mastodon/cypress/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - env: { - username: 'vib-user@changeme.com', - password: 'bitnami!1234', - }, - hosts: { - 'bitnami-mastodon.my': '{{ TARGET_IP }}', - }, - viewportWidth: 1920, - viewportHeight: 1080, - defaultCommandTimeout: 60000, - e2e: { - setupNodeEvents(on, config) {}, - }, -} diff --git a/.vib/mastodon/cypress/cypress/e2e/mastodon.cy.js b/.vib/mastodon/cypress/cypress/e2e/mastodon.cy.js deleted file mode 100644 index 309f748b1e7134..00000000000000 --- a/.vib/mastodon/cypress/cypress/e2e/mastodon.cy.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { - random, -} from '../support/utils'; - -it('allows to publish a tweet with an image', () => { - cy.login(); - cy.get('[type="file"]').selectFile('cypress/fixtures/images/test_image.jpeg', {force: true}); - cy.fixture('tweets').then((tweet) => { - // There is another hidden textarea so we need to use the *compose* class - cy.get('[class*="compose"] textarea').type(`${tweet.text} ${random}`, { - force: true, - }); - cy.get('[type="submit"]').should('be.enabled').click(); - cy.get('button[class="link-button"]').contains('Post anyway').click(); - cy.get('.item-list').contains(`${tweet.text} ${random}`); - // The image will get renamed so we can only check if the new post contains an image - cy.contains('.status-public', `${tweet.text} ${random}`).within(() => { - cy.get('[href*="jpeg"]'); - }) - }); -}); diff --git a/.vib/mastodon/cypress/cypress/fixtures/images/test_image.jpeg b/.vib/mastodon/cypress/cypress/fixtures/images/test_image.jpeg deleted file mode 100644 index 1d2a61929011dc51dc0717f675ba868a02bcfd85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12265 zcmb_?1yEdDv+l+v*aY{%-Q5Z94#72OfFOZDa0vttZh_$L!QCOa3_3vrA&}r2^i6X9 zlXLE^SM}=Ey*;pZPp|d0tXjKQSMPaPd{_r?l;jlU05~`RfP;O2hfVk#MQLd>4J~y! zMHSiK1Mu%0t(@EuIRU`Q`K6ndycAg9zz_`li!7|%U7l!YsQgRx-`I=!U)lj+mhG3W z|2Fvl`ugaZwYwF}K~&g8K`R%xmoQ!u#;d)0>GF$z2jlUq>@1$a_yQQu>IQQV#!vl{ zTmHpw{o-x^;;(-3ZaP}h0055xR?C=9{*lpU0RVOg05o>~BeN_7fF{@)6Ro;f zxLN$Rg8;k2+t>iWNihIm8UO$;Y^~9a{-@)Atv5{fFa1FN0s!dv0D#Ik0HkLC06oke zw($cLkOq(t5D^g(kYE=iBqU@M3{(^tVLy6=h5^EU{1}7{0^t&n5#r*J;DbO!R751? z2ynlisJ{sr1rZ4q0shx0F-#5{{Cnir9S#8z3I1Ujz(9ZjaS(7|k`~E- zPx#;Av7?!pmz`wkzL#?-U2EuNJ8|c#uKyR+a6y>on>`eM-@FfVg$_L_&D1$e3_ARL zJ2Y88+Eqkfz9ea^;d1^&@#``9L#I`_)2eB81t0^xNRHakJv$h9UHC-GulfO)%@T7Y zBB-b~<1q8Mwq1Xn@~kx?>C1v0hEL!hJlw`%Y^;U9@a^Q1j@DDNwj+08Ffg}|&4*!@ zo1bw4p$q`srCkUghAe2j{<7sJoCDj4{~@BEMBlz*_mxj5ZMt<)9Bz!S4t3{N)_Q05d@K3@>{En~*eSG!iOp??SBr_n$Hfot1xx;cTW$H1l|i3h zdx`r;F~vjMAAlRxEQP{KMFxEka=WLAnvLrF|!{CWH} zInn;sK|{7X{j!&qvnsFTQw+#vUUpX1xS_>zo}6$Z{J^B4nGxy`v>P0^czCSzb*5;) zw=C<j8xg6Y#q2z~?%D!eQU-ht2`Vkh<=zU7zIURd=709b07OAX zTjVt;Lhy9n`YVaCUsLYS{pvBA8Aq}_fqmLznl{zqh>Fh}*BLQ!T^ol437ZrWnd*H% z{*DeAI}>BYf2adhzUNFiYjY)HE{93JRp1m zDjIIiKx#TJSRO-#r8hWOMg#0We{CrEp*z*?6xsQ-cHGCWu{$mqeFV~mLQk)^nDnTe z{S6P)6Du+eM(GAG6`J9`kWAWe*7m<8Jr~{y>zUTZ{Y5nHX?xI}CU6GRmkWlL3hTyk zGA~WsWcK2PD@SsCPAXJ(Z3J4O-&2vOEk2mNB5RI}%_e|79kj>2Khluhwcl3pSyh3Ifk^p-`b`yTGcPrRoe{P#M)i$`vtuHGsO1E z#iMW$$M-$F;JasKbOQ@V%hwM8sKx&(+blMJ4~tY@a!@()fMh{>qv8CX#_jG{w2NFG zLdKsR6!8GG^HqiSJ^y|yw|%qe?JpcxA}ChrTsoO!V|;_;H~@)=M%K+C?;K+V{MkzDi6Dk|}e*|3Q6sFJ=*a$sxzjZ^eGH zkG%ADb#m*Dtqg?PM74-$HP%sylYYRGOCnZOI2mkL9OKdvS@KH09@5gAAf&mN&FA~% z^8&$=XJm?a>oCns?=TpYsjB>*_b8EIumN@4$$m~Grg--F=iJdAvM>wIa21E1&=3TA zZW1zm4z%{KI7cewd9G>9&ZIl0EH4FO7cYt$iA8g(R+i6WvK2WX%Hwm*%rCyUV}yIl z8E(IQOW&OFrTjT|8}+C@=aX|EG`Nq)*gw2p-Tkt1U187OlT9_4zVW3iY_04EMchp5 zy;EoIJV{KhP|12(Yc5Z(D6P{*!&*gtZ-HXO%4_WKarNx+l@jPaQ%Mr~+tNG5e`|}t zzxR5>?AhTi!`DyE#+x9*Yf>D^WqbZ$oO1?)g>_MhnPhz<{oW?ikc~s3%t@13 zF|oL>?b0_CPeWVSFjeYmO9n{|(IS!b!J@5(y~PwnLqYrU{KDvITRO5*9@pug@#)OtQi6*N zQ~+skbp;}dMFale1kqFkvVV5*DWxgZeswhl);+g*g39|e@UTs!P4m(8D63N}k8J#5 ze6**p!aY50d_^3s*SwHbGHrt3jDb}IXk71hz4OI@1aeE&ftpV~7Ppmx==cer=BJ$( zS=z_yKNpt7ZFs%X`QpbEwY1Bu@yt=umRO~|v=Zt-Dy*fPr=v761|;vM<&SHV!Ez~5 zjV+$?-rYn4K2EroHPp6; z#LaQM)~lXylJHF7O-YkVa;WWn018|q>*YG;8W148R|k@TnjFH)Ad z?%SBQ+;s11$)ZfcU=-WeD_Y`&km15Tj8C;ju*=6MiN!eO_&mW4=RGX=nG~pmM=_o zvYu*;esn~uT(SrbZSji2C z2rIY$BG`cj;DD&OxFr!`v2lX6{u3GeugLB@8KaYr6AFS-%W&c|z1mC_@EeO`68)1* z1y{;cah6eZOrCE)Z=j95(T|373X)Vy8mciIp^)nMtM5yG9XcdPjHtKYrNxjp zeMBJP_3>E1z=){0-WMrumGxG&X8<=-zF+?g&!$#OvRWON{z4)BqGVmCR*;~p@@+mIg0)*rSZH!Mu+ZS)5z$eQ z5Ydo+1@|j75G*Pxt|vHPYE3N*SGU?88g5Aq_ux7_si632Bx&tjd|FN(ORK<;4PL&4 z#H0V5;K&lN6I^FIEf9I;IrYcU`4C-e%VUq4xhL@<2<<+t#&X6>1Q*px7plW;f_{%q zUga*@(U4 zCdb@ofrm@PgOvs~*mU_mcfdW-qvJ#$tq)h=oW5jeuw_sBexCB{wK^8Z#*y98F`+nq zA_!z^)qMQ1cUu*)|5{*YQ*^b}=jw))qhl z>LJOC>5X<9tSWZRr$?&3H}ck0#L36ZIZni6Iicl8NV^G|yi&)-KJ{a`d8AJMGt(>Y z=-TeOF_tvZp*|qXwq*?SQ0epL{Tjo|W6obD0_xbD$g=2)`}opl{rB1^h;H(sTL;7{foRsM62cS8>Un7CxsdhUBJ;V03{A2NN7e7UcBf@`nCid~u z;c>+{!&RJ)7^T0$B0Exg`rerji>e!Aa|?@1ee^7r)^B?Me_fiAfhJYI3BYV5daR|{f|T96W?(VucA zQ%=42^?@}F3ul8qDzkD%7pdeft~{Lmrh@q*N==R10@J`o-**b<0;yF{$v ztkK&#kNIpA3EHd{^?d-m^b#?_&aUk)JN+YsX)k!KdRI|f?vKl}S@k_ol9sQ-o4t)A zp3b@IWsA%0kYW=lV#JWftWQN<1Ve8JPVubnvbzpyj_{sk$h{Kz^yM|tPtuh}^sSTa z7Y38fk*#6c^(5TuYB8-S)^}48;sI4X}QV*LLU$J(#7X2zIX4nTsWU|1wd(9D_$rSj!=ob~W3%OUIvL8^~%C`yx)y zVkmOsxLdEaof{YA)kXM0gwsix97;Lg8CH`uAJu7 zuJJe!tQi#a%aWdXP6xZ%lJt;X?@~y6YiwCf>Q_gv@;(6Q68MF^1wm+tpCJkD-|1hD zmguoG_{Yo1n#Xf6i2T&-M={7ZGh&}sgtN+hzfDu^S`_|>UmoiGLDx3zF8PHstTZp_ zq{RCOx>VZkpdC>#T9)0xM;ScfLFZAag;A(nf;m>_Ft124IOR88d9hRc@@l*9R@&mB+0N}Icx`n&V zf32YO^UvsSJf{4B5Puo3Sn~E}tpDD_s;)vn%=~72TYnXDdhy=u)kIB&rwz-`C>IN= zRRpek-6(%g%`g9~Qpru_Mo;9vS%Dt*2Bf2JL*FdAlMk8THn3%Qhwq|YCoU29}UI9T|L+EY=U@U``7q=J*jx%;Qf1dJ$=h>z3s5_go5#z z#bwNQRjx@I2LOAEi6-%8L1?Y4){MCQ`H#Nm-E7d-&@ygS&^(b&tty@Zh{x@Pe%0Ky ztoc2;@@H}UH&>%yG_CTrdXNo-Tfa+E8(4O9)6W-$5v5|0YJxw{y{*L$Ijo-5uMQLS z!tOH+Y3R)F_BjtZ6iBx6(Vkp3L|fo>s@KTGeuD;HOUsy8)F{41j2sW|WAu-o5BPwf zNRLBc<>ub>{RyE4eD6m~mrpeAhj~}}ypFv?Nvgc38`8s2HFsqUmK0tBOr=mFhIQwglhJCxqB4)(OY@MF$uo_F@<{j%A-i|qCv(2%2RYPWHF ziuyOs5)2o{WKlVH6S!*3LIf5EF0S{lXQGXTC9|vQnC?Ge#Yt3Fe0ae%#QYJnFJxw< z6l#zcZ|p%b;tE=8tPhh#o9QeYP77toI4hedGqRpo#U${U@ZUc_BI+x3tv9VW9W1Ua zJ07lHbT|<%S*nwe2M$D+9rl@&)w+87nfNUafsou8oV zq`KjYL5pb~W^d}nGZcA5=~RbLxwkK>3hpv#R-C*d@~f9^4@javkqnRJB=nxY?ZI?` z3dcS_D6LToXcaIzQ&o+TXm>1KAw!Ea{jRkk5Vo*V)X%vsJ~5&mv!m@#L0xd*4IvMU zwzaasj|iG9h~73E?3{Ggu6i+;Lb*yXtz%D7eE#B#GCf^EiX5S6*(9!Dn-RN{?weat zM#e=XOPbks43FTp@Aunc>~zQ6N~3l6bFB8?x!*Ba;;^n`%8ONMsS6?7dqU00=5TxG z6Vzp1_Y_8WGBzRfLx~LQ9UGOeFAHTC^Lj&`omr|ZRks#Kh*|RKz?wqrtVl9PRgSH1 z3u4uc>~ooeaxEWyU!T>tNX`qAs@}b>Wr8rHS^;&2*VoMi zc4qRzj-uy@Kc=~M&F<}s2UN4==8_yKpoML12kZ+?*B@aO8w(DsR|1cK`nzHLyB>uD z0kC3C69;VJ8Wf*H%`MS|)9fNaGS;vfl1SzV~{l30gB@%YeX;%_~z z&#yA})#Yy%?5R?t&&saktWycU_|6|O^b$7;@?r2lYc&g(u@0>swl$6_;@=Hhw&hTu1%T|fN-DSJbE7LY@5i_kcoF`drXKYL85WupP z!{!l=MNXwWiC`>`xFWbHfy(o@`I^+`lHrwWi$(H%UeYtvdya#Pk!(%RY*v1wk6+sR z0{+WKo|sUVTX?BDDyVzU0}vJ?OTac_?@cD)b+1{AA+49?ELfsYPh8Zjd3#wj>)!VO zqztYl$MFc)xGF%YYQ`l?U?7;VPw=;U{o@X$TEzcaa;RPXq zmqf+9_%(CQzJ=l~2OQYjE&;tc{eabIc%y%&EnOIk6!wR2U6t+P8h?>-lJy;*tc1PP`#R*Lizxm`Lh zarGvfWveAR^|qEvHpI?kPfC(Ce(KRpoeuHQ05G}$LygLI;bc)lo9nfeAL2d4mA28LJ-Jsj<2Yy}p$)Bs# zZ`sA(pXb}*pknuyS@sfcxs@yk_~Mh2N>Y(uuuq}seGIZq%ay_;^lrJQLl}*}KQGau zSHr?+(oC##7UapxGLhI(9~9IPB~_hZILWs5fHob(+FD1f-j&oLrML851fX*wNg4;x z&=_cb;-+j3_6)7e;S^vGEE~gkuBgo<6Qo*@Nf({gh4ce7*-hp(wWxMjG8z8qNWu_j z7~fGR6_FI{N{kT>7mbkV9_zEc>t1mttJs~7~`qGLPMf7Yin|B24Avi zk}Y2dMV<-!=D_@rWxb&G=2zzanUPA_D$n#eZnLARa&gT?-2Bl$1|6S6c5^cXub4JPA*^~O`U9pOedpU+R|Y&( z4L+Dgk{8CF?@!D;zP8n0p01#Te*(szXdmDUgQKVpCOM(Q_2!w1;MP9U)A_`7Q zia*g7!Of%AQIUMX8sz9qc&^C3+uH#COzNHY zNdA!ea6~J6Jk98x`ha05{GkM zsu3OH=of~`G0VwlgW=XK+*3T3RX!ieDAYjj39o~5s)pd4JHKhh<0BdPJWCj|-G2+@ zkqr^?TQ$x3bnQzm6^PiAp1tiE$hqrg^X$3Wvc>-Oy}gxu%_XQjhA;{3>p?S zYK&b}FbaHD2wiRxL`bTQSN>eTWlZ)(jL9P=fp*h8)C^>;4P)%BPch9uFy2wUjwjpO zR1PjMAOC=Lmi3J7NhbTt`Y5)%DEujfPUNTykOKv;Nq%#~sZ*5Vvc#P&?6Cd)Hum>> zXq?kY(f{o~w2s67s}8LBd{+oSk~wtRic4_mJC=;`d^aMQCcvL z;J;A6eXeKtx8yjM$u^jiM~ZV}?N3CkZX>Fo7}06jKN8W86IAfAcsi7Lf3PQ`h}6SG zxvH%HSRBJ!K5Qg@9{u)@4}E0reHgW)WVJ*8sQRPff5iONc(9^ERWu0+` z_Sz)T`mTh9_1;DuNl9sbIwEDjPgfj{#MiHgEyH8AW|zi0jYdWEdd!IT2j20g7H0mKyj!k@SL-^v7E@GOKUnJr32NRO z3cc```?^Y^l{fmL&YllLyVV0&fbt4xpQb}NMo&U^s)M%D*7w<_Wg0j$XZvg(Sinag04shBjY%`N_r zx9#dvk>9yIwt>&FMW6k0HaT#m>Kn6Y?otn9lhskJR|T!X-p zuwq-Iwg*;ePjCFGwQ(MR`XL9;XaHH)5pUiZUAiXdv*Ng*Soc%6idRnKGG8XKHVy7Y zMCrFxa4~$fmIl&&tm&U}ZwiOtRg63UTw7tef=^KPIBY1+0zifGX5(KVXfcv^J0BSw zfbP^!B(aLZ61}N99&ouPE_fn1<6Qeu!~|`Qy9=jY=TUTuReN)pUe)PnM6>sDyPzjU2-)59WK{M+q#5ktaCni4D7DShu!M-_s066^A z6^p;WIW*KV%!4N4d>B}<&3Hn_atbd9B{lX5Vq7K{nN`g*f@;GqX`BOsScly6kTMHxbkjYWCPu74+l;Jy);EDrIO zjf|Sv&fSg``XumihrkG%AG0OS?-3IVNWj<0;y z=a}6|WxR>nOvYJ}la$&z(>!tn4g7+2*Z?ply5AkFR+WD7N+sht>tl_~#`R;Ax%7%u z%Oyc44ZLIb7K~R{ct2As5RxWNrS+k+uD)ciV@npZI=41e>1zAoGksdE=V~dt@hRrW zd}wTnC-ElNJnK9wPr!#^6ITV?p;QIq`$3F;S}joa+bW!;s*j1tG+d=>U> zN`Ak>hTF(tugaN>*v5Zr^Jy?`1WOnt(d2cQq{vM5pn5`avdM4Rk| z#tX$l;-44-UK4S}yKNdTGRDzfa3?_g6h;vm)QfAcG23UPu_3;!cNkdSsQ1fUju1|k+BS~9WQ%B;~)sULKUkh zl=sf7|23F%n*l}1o- zP!nomVEUWlSC_m=@&+yGa<+87N%A_Xjn?X=Ne4xL!}8Q1HMZ73gD}xB(J4k5W+K>F z;bQSETGoH1Du`L9<5$8PM(ov)in2g6=|*bnsG2!qQcShveMcO+G8G%KC9jzSa`R@x zQ6V8f9Vp#-yL5mqNobKaQ~2()$}wFlV@a$!T{4QC|1e;Lymx6-OB0I)|ecBEjedzm9)#J}ZB)e^4l+C3Sc% zpPS;T^C7N~K8*XI_P)cw{Lbm@OR)rWrFw8>DnHJS6t(I|b4A_O*24mB>@5x1!aYee zmwY@(t?|*B{8d|rrR3A!%2YVJ^{a_mo=wE_dP+a%0Uj+gby1&gPDzU9TSL*>{!q% zkm1OcoE#6t+oLTpaU8pZ$+-O6sx4$k_HAe`JCVcq_O*tx7L!}H$mnqa1^R$GVm7fq zRz&=mcCsYA?ttm4S`C=46a8Z}T6`J<)z|#40I%pLQDIDsB;GCrI5n*HGJ?S}^-0w! zRm$%aW$2nqYd)m+=7yl!ylKf%Ad4tfPT1z!^kX_s)1)WXbVJZE=W+k7n55Cr5n0i( za2b~ZkLg__N0S`(xPcCiO;wU%0$H8$a}VP)o0&|v^pnzaDtI^>72;Ay+EK3rUV+O~ z>+gGVK11YGh&&#o>9Xc1h(Ddaz8mKZ?b$Lqh>i$+OeT|?H(Y|K*S|CHB>M9r!ut&F7^{CPGtZ}jQrqZ`4*rVM<9)6*L1?`5%( zZk_$@TMA-(+V>?fG*QU!#v4}c5Tp6+8r@lg^c#wvuZwPG){;Tk!RyZS&o^kl#teTA z>cxl;J11^EGkXB4R|NWKMS?}3U-KmRy4Oev5E@i$852>xvUc-dG8e$JKMqST4qnD7 zVc#s8!yo*}Xn`y904TX7r!wRGOdN5*M}wUV-}mL_-j?86YLD%Rf3XNMf&lKxp74d2@9 zGVoNCali0x*`#dFtq1HY!?#*eo~(Nn#O?_Vgl|p-Cy0HaTFDfdN>%Jv3}){iSZ0i( zeOH7_`xJVAEzrG`gQE>QSwr1ulV%?P+5CY;0-{GOghnfbaLq_KW=d>^q@+ZF70l}z zO^Qi~3ea2r47QYmOmUS-IP{vlNeYS6=l$(KBH@#p};VmG5AG6RO3knkIlwU<4FB3&(U3n2CDP10YYkVP|lX xg4CSZHINm!9{2g?cL&mkFG^pF=-AhpO!ez$_Y;oY%(#w_u`6x{?0 { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.overwrite('visit', (originalFn, url, options) => { - return originalFn(`${BASE_URL}${url}`, options); -}); - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/auth/sign_in'); - cy.get('#user_email').type(username); - cy.get('#user_password').type(`${password}{enter}`); - // We click on Home to skip a welcome page - cy.contains('a', 'Home').click(); - cy.contains('Preferences'); - } -); diff --git a/.vib/mastodon/cypress/cypress/support/e2e.js b/.vib/mastodon/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/mastodon/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/mastodon/cypress/cypress/support/utils.js b/.vib/mastodon/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/mastodon/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/mastodon/goss/goss.yaml b/.vib/mastodon/goss/goss.yaml deleted file mode 100644 index 2e891e0abe9af8..00000000000000 --- a/.vib/mastodon/goss/goss.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $uid := .Vars.web.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.web.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{- if .Vars.web.containerSecurityContext.enabled }} - check-no-capabilities: - exec: cat /proc/1/status - exit-status: 0 - stdout: - - "CapInh: 0000000000000000" - - "CapPrm: 0000000000000000" - - "CapEff: 0000000000000000" - - "CapBnd: 0000000000000000" - - "CapAmb: 0000000000000000" - {{- end }} - conf-vars: - exec: | - bash -ec ". /opt/bitnami/scripts/mastodon-env.sh && env" - exit-status: 0 - stdout: - - /ES_HOST.*mastodon-elasticsearch/ - - /ES_PORT.*{{ .Vars.elasticsearch.service.ports.restAPI }}/ - - /DB_HOST.*mastodon-postgresql/ - - /DB_PORT.*{{ .Vars.postgresql.primary.service.ports.postgresql }}/ - - /REDIS_HOST.*mastodon-redis/ - - /REDIS_PORT.*{{ .Vars.redis.master.service.ports.redis }}/ - - /S3_ENDPOINT.*http://mastodon-minio:{{ .Vars.minio.service.ports.api }}/ - {{ if .Vars.web.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -http: - http://127.0.0.1:{{ .Vars.web.containerPorts.http }}/health: - status: 200 - http://mastodon-web:{{ .Vars.web.service.ports.http }}/health: - status: 200 - http://mastodon-streaming:{{ .Vars.streaming.service.ports.http }}/api/v1/streaming/health: - status: 200 - http://mastodon-apache:{{ .Vars.apache.service.ports.http }}/health: - status: 200 - http://mastodon-apache:{{ .Vars.apache.service.ports.http }}/api/v1/streaming/health: - status: 200 diff --git a/.vib/mastodon/runtime-parameters.yaml b/.vib/mastodon/runtime-parameters.yaml deleted file mode 100644 index 79bf97d1f06a7c..00000000000000 --- a/.vib/mastodon/runtime-parameters.yaml +++ /dev/null @@ -1,63 +0,0 @@ -adminEmail: vib-user@changeme.com -adminPassword: bitnami!1234 - -webDomain: bitnami-mastodon.my - -serviceAccount: - create: true - -web: - containerPorts: - http: 8123 - containerSecurityContext: - enabled: true - runAsUser: 1002 - capabilities: - drop: [ALL] - podSecurityContext: - enabled: true - fsGroup: 1002 - seccompProfile: - type: RuntimeDefault - service: - ports: - http: 8500 - automountServiceAccountToken: true - -streaming: - service: - ports: - http: 8600 - -apache: - enabled: true - service: - type: LoadBalancer - ports: - http: 80 - -postgresql: - enabled: true - primary: - service: - ports: - postgresql: 9393 - -minio: - enabled: true - service: - ports: - api: 8011 - -redis: - enabled: true - master: - service: - ports: - redis: 6800 - -elasticsearch: - enabled: true - service: - ports: - restAPI: 7777 diff --git a/.vib/mastodon/vib-action.config b/.vib/mastodon/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/mastodon/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/mastodon/vib-publish.json b/.vib/mastodon/vib-publish.json deleted file mode 100644 index 180bfbb0caaa58..00000000000000 --- a/.vib/mastodon/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mastodon" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/mastodon/vib-verify.json b/.vib/mastodon/vib-verify.json deleted file mode 100644 index a993f8c1e1944d..00000000000000 --- a/.vib/mastodon/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mastodon" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mastodon" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "mastodon/goss/goss.yaml", - "vars_file": "mastodon/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-mastodon-web" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/mastodon/cypress" - }, - "endpoint": "lb-mastodon-apache-http", - "app_protocol": "HTTP", - "env": { - "user": "vib-user@changeme.com", - "password": "bitnami!1234" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/matomo/cypress/cypress.config.js b/.vib/matomo/cypress/cypress.config.js deleted file mode 100644 index 65053c7d61d8fb..00000000000000 --- a/.vib/matomo/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - username: 'user', - password: 'ComplicatedPassword123!4', - email: 'user@example.com', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/matomo/cypress/cypress/e2e/matomo.cy.js b/.vib/matomo/cypress/cypress/e2e/matomo.cy.js deleted file mode 100644 index 5b6eb1c2488428..00000000000000 --- a/.vib/matomo/cypress/cypress/e2e/matomo.cy.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows to create a new website', () => { - cy.login(); - cy.visit('/index.php?module=SitesManager&showaddsite=1'); - // We need to use the title attribute because with the inner HTML we cannot differentiate - // between "website" and "intranet website" - cy.get('[title*="A website"]').click(); - cy.fixture('websites').then((sites) => { - // The name input has no attribute "name" or "id" - cy.get('[placeholder="Name"]').type(`${sites.newSite.name} ${random}`, { - force: true, - }); - cy.get('[name="urls"]').type(`${sites.newSite.url}`, { - force: true, - }); - }); - cy.get('[type="submit"]').click(); - cy.contains('Website created'); -}); - -// The Matomo API allows checking the site analytics and tracking metrics -// Source: https://matomo.org/guide/apis/analytics-api/ -it('allows to use the API to retrieve analytics', () => { - // Record a new visit in order to generate analytics - cy.request({ - url: '/matomo.php', - method: 'GET', - headers: { - 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36', - }, - qs: { - rec: 1, - idsite: 1, - }, - }).then((response) => { - expect(response.status).to.eq(200); - }); - - cy.login(); - // Navigate using the UI as Matomo will randomly fail with - // "token mismatch" if accessed directly - cy.get('#topmenu-coreadminhome').click(); - // Wait for page to load - cy.wait(10000); - cy.contains('Personal').click(); - cy.contains('Security').click(); - cy.contains('Create new token', {timeout: 60000}).click(); - cy.get('#login_form_password', {timeout: 60000}).type(Cypress.env('password')); - cy.get('[type="submit"]').click(); - cy.get('#description', {timeout: 60000}).type(random); - cy.get('input[id="secure_only"]').click({ force: true }); - cy.get('[type="submit"]').click(); - cy.contains('Token successfully generated', {timeout: 60000}); - cy.get('code') - .invoke('text') - .then((apiToken) => { - cy.request({ - url: '/index.php', - method: 'GET', - qs: { - module: 'API', - method: 'Live.getLastVisitsDetails', - idSite: 1, - format: 'JSON', - token_auth: apiToken, - }, - }).then((response) => { - const bodyString = JSON.stringify(response.body); - expect(response.status).to.eq(200); - expect(bodyString).to.contain('visitIp'); - }); - }); -}); diff --git a/.vib/matomo/cypress/cypress/fixtures/websites.json b/.vib/matomo/cypress/cypress/fixtures/websites.json deleted file mode 100644 index 6981632f041577..00000000000000 --- a/.vib/matomo/cypress/cypress/fixtures/websites.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newSite": { - "name": "Google site", - "url": "https://google.com" - } -} diff --git a/.vib/matomo/cypress/cypress/support/commands.js b/.vib/matomo/cypress/cypress/support/commands.js deleted file mode 100644 index 1f01d6d6d1219e..00000000000000 --- a/.vib/matomo/cypress/cypress/support/commands.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 3000; - -for (const command of ['click', 'type']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.get('#login_form_login').type(username); - cy.get('#login_form_password').type(password); - cy.contains('input', 'Sign in').click(); - } -); - -Cypress.on('uncaught:exception', (err) => { - // we expect an error with message 'cannot call methods on liveWidget' - // and don't want to fail the test so we return false - if ( - err.message.includes('cannot call methods on liveWidget') - ) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/matomo/cypress/cypress/support/e2e.js b/.vib/matomo/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/matomo/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/matomo/cypress/cypress/support/utils.js b/.vib/matomo/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/matomo/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/matomo/goss/goss.yaml b/.vib/matomo/goss/goss.yaml deleted file mode 100644 index c45debf06ae2f7..00000000000000 --- a/.vib/matomo/goss/goss.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/matomo: - exists: true - mode: "2775" - owner: root - filetype: directory \ No newline at end of file diff --git a/.vib/matomo/runtime-parameters.yaml b/.vib/matomo/runtime-parameters.yaml deleted file mode 100644 index e4ad7eddd21a8b..00000000000000 --- a/.vib/matomo/runtime-parameters.yaml +++ /dev/null @@ -1,16 +0,0 @@ -matomoUsername: user -matomoPassword: ComplicatedPassword123!4 -matomoEmail: user@example.com -matomoWebsiteHost: https://bitnami-matomo.my -service: - type: LoadBalancer - ports: - http: 80 -readinessProbe: - initialDelaySeconds: 120 -cronjobs: - archive: - enabled: false - taskScheduler: - enabled: false - diff --git a/.vib/matomo/vib-publish.json b/.vib/matomo/vib-publish.json deleted file mode 100644 index b617a8a4d67dd6..00000000000000 --- a/.vib/matomo/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/matomo" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/matomo/vib-verify.json b/.vib/matomo/vib-verify.json deleted file mode 100644 index cfb18d71ea5cd0..00000000000000 --- a/.vib/matomo/vib-verify.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/matomo" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/matomo" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "matomo/goss/goss.yaml", - "remote": { - "pod": { - "workload": "deploy-matomo" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/matomo/cypress" - }, - "endpoint": "lb-matomo-http", - "app_protocol": "HTTP", - "env": { - "username": "user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/memcached/goss/goss.yaml b/.vib/memcached/goss/goss.yaml deleted file mode 100644 index d3a1b9680fde56..00000000000000 --- a/.vib/memcached/goss/goss.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /tmp: - mode: "2777" - filetype: directory - exists: true -command: - {{- $key := printf "key_%s" (randAlpha 5) }} - {{- $value := printf "value_%s" (randAlpha 5) }} - {{- $server_connection := printf "(exec 3<>/dev/tcp/memcached/%d; cat >&3; cat <&3; exec 3<&-)" .Vars.service.ports.memcached }} - manage-key: - exec: bash -c 'printf "set {{ $key }} 0 300 11\r\n{{ $value }}\r\nquit\n" | {{ $server_connection }} && printf "get {{ $key }}\r\nquit\n" | {{ $server_connection }}' - exit-status: 0 - stdout: - - "STORED" - - "{{ $value }}" - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/memcached/runtime-parameters.yaml b/.vib/memcached/runtime-parameters.yaml deleted file mode 100644 index ab36a82428db70..00000000000000 --- a/.vib/memcached/runtime-parameters.yaml +++ /dev/null @@ -1,12 +0,0 @@ -service: - type: LoadBalancer - ports: - memcached: 80 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -containerPorts: - memcached: 11212 diff --git a/.vib/memcached/vib-publish.json b/.vib/memcached/vib-publish.json deleted file mode 100644 index 19312e7b2b6b67..00000000000000 --- a/.vib/memcached/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/memcached" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/memcached/vib-verify.json b/.vib/memcached/vib-verify.json deleted file mode 100644 index 477767aed20b78..00000000000000 --- a/.vib/memcached/vib-verify.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/memcached" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/memcached" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "health-check", - "params": { - "endpoint": "lb-memcached-memcache", - "app_protocol": "GENERIC" - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "memcached/goss/goss.yaml", - "vars_file": "memcached/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-memcached" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/metallb/ginkgo/go.mod b/.vib/metallb/ginkgo/go.mod deleted file mode 100644 index be46104724544d..00000000000000 --- a/.vib/metallb/ginkgo/go.mod +++ /dev/null @@ -1,62 +0,0 @@ -module vib-tests - -go 1.23.0 - -toolchain go1.24.1 - -require ( - github.com/onsi/ginkgo/v2 v2.7.0 - github.com/onsi/gomega v1.24.1 - k8s.io/api v0.25.2 - k8s.io/apimachinery v0.25.2 - k8s.io/client-go v0.25.2 -) - -require ( - cloud.google.com/go v0.97.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.27 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.20 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.8.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.5.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.70.1 // indirect - k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 // indirect - k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed // indirect - sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect -) diff --git a/.vib/metallb/ginkgo/go.sum b/.vib/metallb/ginkgo/go.sum deleted file mode 100644 index f555aed89fe37c..00000000000000 --- a/.vib/metallb/ginkgo/go.sum +++ /dev/null @@ -1,673 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0 h1:3DXvAyifywvq64LfkKaMOmkWPS1CikIQdMe2lY9vxU8= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= -github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8vthOeD4VlFRQULxahg= -github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/emicklei/go-restful/v3 v3.8.0 h1:eCZ8ulSerjdAiaNpF7GxXIE7ZCMo1moN1qX+S609eVw= -github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= -github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= -golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.25.2 h1:v6G8RyFcwf0HR5jQGIAYlvtRNrxMJQG1xJzaSeVnIS8= -k8s.io/api v0.25.2/go.mod h1:qP1Rn4sCVFwx/xIhe+we2cwBLTXNcheRyYXwajonhy0= -k8s.io/apimachinery v0.25.2 h1:WbxfAjCx+AeN8Ilp9joWnyJ6xu9OMeS/fsfjK/5zaQs= -k8s.io/apimachinery v0.25.2/go.mod h1:hqqA1X0bsgsxI6dXsJ4HnNTBOmJNxyPp8dw3u2fSHwA= -k8s.io/client-go v0.25.2 h1:SUPp9p5CwM0yXGQrwYurw9LWz+YtMwhWd0GqOsSiefo= -k8s.io/client-go v0.25.2/go.mod h1:i7cNU7N+yGQmJkewcRD2+Vuj4iz7b30kI8OcL3horQ4= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= -k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 h1:MQ8BAZPZlWk3S9K4a9NCkIFQtZShWqoha7snGixVgEA= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/.vib/metallb/ginkgo/integration_suite_test.go b/.vib/metallb/ginkgo/integration_suite_test.go deleted file mode 100644 index 792329b933a5d6..00000000000000 --- a/.vib/metallb/ginkgo/integration_suite_test.go +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "bytes" - "context" - "flag" - "fmt" - "net" - "testing" - "time" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/util/intstr" - "k8s.io/client-go/dynamic" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -const APP_NAME = "MetalLB" - -var kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") -var namespace = flag.String("namespace", "", "namespace name in which the application is deployed") - -var ipAddressPoolType = schema.GroupVersionResource{Group: "metallb.io", Version: "v1beta1", Resource: "ipaddresspools"} -var l2AdvertisementType = schema.GroupVersionResource{Group: "metallb.io", Version: "v1beta1", Resource: "l2advertisements"} - -type IpAddressPoolConfig struct { - name string - addressFrom string - addressTo string -} -type L2AdvertisementConfig struct { - name string - ipAddressPoolName string -} - -func clusterConfigOrDie() *rest.Config { - var config *rest.Config - var err error - - if *kubeconfig != "" { - config, err = clientcmd.BuildConfigFromFlags("", *kubeconfig) - } else { - config, err = rest.InClusterConfig() - } - if err != nil { - panic(err.Error()) - } - - return config -} - -func createServiceOrDie(ctx context.Context, tC corev1.CoreV1Interface, name string) *v1.Service { - servicePayload := &v1.Service{ - ObjectMeta: metav1.ObjectMeta{ - Namespace: *namespace, - Name: name, - }, - Spec: v1.ServiceSpec{ - Ports: []v1.ServicePort{ - { - Name: "vib-tests-example", - Port: 8080, - TargetPort: intstr.IntOrString{ - IntVal: 8081, - }, - }, - }, - Type: v1.ServiceTypeLoadBalancer, - }, - } - - res, err := tC.Services(*namespace).Create(ctx, servicePayload, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the Service: %s", err)) - } - - return res -} - -func createIpAddressPoolResourceOrDie(ctx context.Context, dC dynamic.Interface, config *IpAddressPoolConfig) *unstructured.Unstructured { - payload := &unstructured.Unstructured{ - Object: map[string]interface{}{ - "apiVersion": "metallb.io/v1beta1", - "kind": "IPAddressPool", - "metadata": map[string]interface{}{ - "name": config.name, - "namespace": *namespace, - }, - "spec": map[string]interface{}{ - "addresses": []string{ - fmt.Sprintf("%s-%s", config.addressFrom, config.addressTo), - }, - }, - }, - } - - res, err := dC.Resource(ipAddressPoolType).Namespace(*namespace).Create(ctx, payload, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the IpAddressPool: %s", err)) - } - - return res -} - -func createL2AdvertisementResourceOrDie(ctx context.Context, dC dynamic.Interface, config *L2AdvertisementConfig) *unstructured.Unstructured { - payload := &unstructured.Unstructured{ - Object: map[string]interface{}{ - "apiVersion": "metallb.io/v1beta1", - "kind": "L2Advertisement", - "metadata": map[string]interface{}{ - "name": config.name, - "namespace": *namespace, - }, - "spec": map[string]interface{}{ - "ipAddressPools": []string{ - config.ipAddressPoolName, - }, - }, - }, - } - - res, err := dC.Resource(l2AdvertisementType).Namespace(*namespace).Create(ctx, payload, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the L2AdvertisementResource: %s", err)) - } - - return res -} - -func checkValidIP(ipToCheck string, addressFrom string, addressTo string) bool { - parsedIp := net.ParseIP(ipToCheck) - ipFrom := net.ParseIP(addressFrom) - ipTo := net.ParseIP(addressTo) - - if ipFrom == nil || ipTo == nil { - panic("Valid IP ranges should be provided") - } - - if parsedIp != nil { - if parsedIp.To4() != nil { - if bytes.Compare(parsedIp, ipFrom) >= 0 && bytes.Compare(parsedIp, ipTo) <= 0 { - return true - } - } - } - return false -} - -func hasIPAssigned(ctx context.Context, c corev1.CoreV1Interface, resourceName string) (bool, error) { - var err error - - service, err := c.Services(*namespace).Get(ctx, resourceName, metav1.GetOptions{}) - - if service != nil && len(service.Status.LoadBalancer.Ingress) > 0 { - return true, err - } else { - return false, err - } -} - -func retry(name string, attempts int, sleep time.Duration, f func() (bool, error)) (res bool, err error) { - for i := 0; i < attempts; i++ { - fmt.Printf("[retriable] operation %q executing now [attempt %d/%d]\n", name, (i + 1), attempts) - res, err = f() - if res { - fmt.Printf("[retriable] operation %q succedeed [attempt %d/%d]\n", name, (i + 1), attempts) - return res, err - } - fmt.Printf("[retriable] operation %q failed, sleeping for %q now...\n", name, sleep) - time.Sleep(sleep) - } - fmt.Printf("[retriable] operation %q failed [attempt %d/%d]\n", name, attempts, attempts) - return res, err -} - -func CheckRequirements() { - if *namespace == "" { - panic(fmt.Sprintf("The namespace where %s is deployed must be provided. Use the '--namespace' flag", APP_NAME)) - } -} - -func TestIntegration(t *testing.T) { - RegisterFailHandler(Fail) - CheckRequirements() - RunSpecs(t, fmt.Sprintf("%s Integration Tests", APP_NAME)) -} diff --git a/.vib/metallb/ginkgo/metallb_test.go b/.vib/metallb/ginkgo/metallb_test.go deleted file mode 100644 index 8d26932403358c..00000000000000 --- a/.vib/metallb/ginkgo/metallb_test.go +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "context" - "fmt" - "time" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/dynamic" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" -) - -var _ = Describe("MetalLB", func() { - var typedClient corev1.CoreV1Interface - var dynamicClient dynamic.Interface - var ctx context.Context - - BeforeEach(func() { - typedClient = corev1.NewForConfigOrDie(clusterConfigOrDie()) - dynamicClient = dynamic.NewForConfigOrDie(clusterConfigOrDie()) - ctx = context.Background() - }) - - Context("configured via IPAddressPool & L2Advertisement resources (CRDs)", func() { - var ipPoolConfig = IpAddressPoolConfig{ - name: "ip-address-pool-vib-tests", - addressFrom: "192.168.100.0", - addressTo: "192.168.100.255", - } - var advertConfig = L2AdvertisementConfig{ - name: "l2-advertisement-vib-tests", - ipAddressPoolName: ipPoolConfig.name, - } - - BeforeEach(func() { - createIpAddressPoolResourceOrDie(ctx, dynamicClient, &ipPoolConfig) - createL2AdvertisementResourceOrDie(ctx, dynamicClient, &advertConfig) - }) - AfterEach(func() { - // Not need to panic here if failed, the cluster is expected to clean up with the undeployment - dynamicClient.Resource(l2AdvertisementType).Namespace(*namespace).Delete(ctx, advertConfig.name, metav1.DeleteOptions{}) - dynamicClient.Resource(ipAddressPoolType).Namespace(*namespace).Delete(ctx, ipPoolConfig.name, metav1.DeleteOptions{}) - }) - - When("a Service resource is created", func() { - var service *v1.Service - var serviceName string = "lb-vib-tests" - var hasIP bool - - BeforeEach(func() { - var err error - createServiceOrDie(ctx, typedClient, serviceName) - - // Once created, the controller has to assign an IP to the managed ingress - hasIP, err = retry("hasIPAssigned", 8, 15*time.Second, func() (bool, error) { - return hasIPAssigned(ctx, typedClient, serviceName) - }) - if err != nil { - panic(fmt.Sprintf("There was an error checking whether the testing service had an IP assigned: %q", err)) - } - Expect(hasIP).To(BeTrue()) - - service, err = typedClient.Services(*namespace).Get(ctx, serviceName, metav1.GetOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error retrieving the created Service resource: %s", err)) - } - }) - AfterEach(func() { - // Not need to panic here if failed, the cluster is expected to clean up with the undeployment - typedClient.Services(*namespace).Delete(ctx, serviceName, metav1.DeleteOptions{}) - }) - - It("should be assigned a valid IP", func() { - Expect(len(service.Status.LoadBalancer.Ingress)).To(BeNumerically(">", 0)) - Expect(service.Status.LoadBalancer.Ingress[0].IP).NotTo(BeNil()) - Expect(checkValidIP(service.Status.LoadBalancer.Ingress[0].IP, ipPoolConfig.addressFrom, ipPoolConfig.addressTo)).To(BeTrue()) - }) - }) - - }) - -}) diff --git a/.vib/metallb/goss/goss.yaml b/.vib/metallb/goss/goss.yaml deleted file mode 100644 index fa457ac599a66a..00000000000000 --- a/.vib/metallb/goss/goss.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- if .Vars.controller.containerSecurityContext.enabled }} - check-no-capabilities: - exec: cat /proc/1/status - exit-status: 0 - stdout: - - "CapInh: 0000000000000000" - - "CapPrm: 0000000000000000" - - "CapEff: 0000000000000000" - - "CapBnd: 0000000000000000" - - "CapAmb: 0000000000000000" - {{- end }} - {{- $uid := .Vars.controller.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.controller.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.controller.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/metallb/runtime-parameters.yaml b/.vib/metallb/runtime-parameters.yaml deleted file mode 100644 index 6f0c7bf5d9da30..00000000000000 --- a/.vib/metallb/runtime-parameters.yaml +++ /dev/null @@ -1,14 +0,0 @@ -controller: - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - readOnlyRootFilesystem: false - capabilities: - drop: - - ALL - serviceAccount: - create: true - automountServiceAccountToken: true \ No newline at end of file diff --git a/.vib/metallb/vib-action.config b/.vib/metallb/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/metallb/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/metallb/vib-publish.json b/.vib/metallb/vib-publish.json deleted file mode 100644 index 086c18692b3b77..00000000000000 --- a/.vib/metallb/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/metallb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/metallb/vib-verify.json b/.vib/metallb/vib-verify.json deleted file mode 100644 index 1f0c10ff8b490f..00000000000000 --- a/.vib/metallb/vib-verify.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/metallb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/metallb" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/metallb/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}" - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "metallb/goss/goss.yaml", - "vars_file": "metallb/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-metallb-controller" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/metrics-server/goss/goss.yaml b/.vib/metrics-server/goss/goss.yaml deleted file mode 100644 index 6abaee61530908..00000000000000 --- a/.vib/metrics-server/goss/goss.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://127.0.0.1:{{ .Vars.containerPorts.https }}/metrics: - status: 200 - allow-insecure: true - body: - - metrics_server_storage_points - https://metrics-server:{{ .Vars.service.ports.https }}/metrics: - status: 200 - allow-insecure: true - body: - - metrics_server_storage_points -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/metrics-server/runtime-parameters.yaml b/.vib/metrics-server/runtime-parameters.yaml deleted file mode 100644 index 6577542cb035b7..00000000000000 --- a/.vib/metrics-server/runtime-parameters.yaml +++ /dev/null @@ -1,18 +0,0 @@ -serviceAccount: - create: true -automountServiceAccountToken: true -extraArgs: -- --authorization-always-allow-paths=/metrics -- --kubelet-insecure-tls=true -- --kubelet-preferred-address-types=InternalIP,ExternalDNS,ExternalIP -containerPorts: - https: 8444 -service: - type: LoadBalancer - ports: - https: 443 -containerSecurityContext: - enabled: true - runAsUser: 1002 -rbac: - create: true \ No newline at end of file diff --git a/.vib/metrics-server/vib-publish.json b/.vib/metrics-server/vib-publish.json deleted file mode 100644 index 19fcc2d284b58c..00000000000000 --- a/.vib/metrics-server/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/metrics-server" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/metrics-server/vib-verify.json b/.vib/metrics-server/vib-verify.json deleted file mode 100644 index fb3715367253ce..00000000000000 --- a/.vib/metrics-server/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/metrics-server" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/metrics-server" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "metrics-server/goss/goss.yaml", - "vars_file": "metrics-server/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-metrics-server" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/milvus/cypress/cypress.config.js b/.vib/milvus/cypress/cypress.config.js deleted file mode 100644 index 32be72cdefd0a5..00000000000000 --- a/.vib/milvus/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - username: 'root', - password: 'ComplicatedPassword123!4', - host: 'milvus-proxy:80', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/milvus/cypress/cypress/e2e/milvus.cy.js b/.vib/milvus/cypress/cypress/e2e/milvus.cy.js deleted file mode 100644 index 5cfe30dbc83345..00000000000000 --- a/.vib/milvus/cypress/cypress/e2e/milvus.cy.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { - random, -} from '../support/utils'; - -it('allows to create a collection', () => { - cy.login(); - // Go to the collections page - cy.visit('#/databases'); - // Wait for DOM content to load - cy.wait(50000); - cy.get('button').contains('Collection').click({force: true}); - cy.wait(2000); - cy.fixture('collection').then((c) => { - // Create collection - cy.get('[data-cy="collection_name"]').type(`${c.collection.name}${random}`); - cy.get('div[class*="MuiTextField"]').contains('div', 'Primary Key').within(() => { - cy.get('input').type(`${c.collection.idName}${random}`) - }); - cy.get('div[class*="MuiTextField"]').contains('div','Vector Field').within(() => { - cy.get('input').type(`${c.collection.vectorName}${random}{enter}`); - }); - cy.wait(50000); - cy.get('button[class*=MuiTab-root]').contains('Data').click({force: true}); - cy.get('span').contains('Insert Sample Data').click({force: true}); - cy.wait(2000); - cy.get('button[type="submit"]').contains('Import').click({force: true}); - // Check sample data table contains at least 1 entry - cy.get('button').contains('Query').click({force: true}); - cy.get('tr [type="checkbox"]'); - }); -}); diff --git a/.vib/milvus/cypress/cypress/fixtures/collection.json b/.vib/milvus/cypress/cypress/fixtures/collection.json deleted file mode 100644 index 7e2bf2e22510d1..00000000000000 --- a/.vib/milvus/cypress/cypress/fixtures/collection.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "collection": { - "name": "vib_col", - "idName": "vib_id", - "vectorName": "vib_vector" - } -} diff --git a/.vib/milvus/cypress/cypress/support/commands.js b/.vib/milvus/cypress/cypress/support/commands.js deleted file mode 100644 index 41dd79fc17f148..00000000000000 --- a/.vib/milvus/cypress/cypress/support/commands.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password'), - host = Cypress.env('host')) => { - cy.visit('/?#/connect'); - cy.get('input[required]').should('be.enabled').clear({force: true}).type(host); - cy.get('span.MuiSwitch-root').eq(0).find('input').click(); - cy.get('[data-cy="username"]').should('be.enabled').type(username); - cy.get('[data-cy="password"]').should('be.enabled').type(`${password}{enter}`); - cy.contains('Welcome to Milvus'); - } -); - -Cypress.on('uncaught:exception', (err) => { - if (err.message.includes('Cannot read properties of')) { - return false; - } - // We expect an error "Failed to execute 'observe' on 'IntersectionObserver'" - // or "Network Error" during the installation of a template so we add an exception - if (err.message.includes("Failed to execute 'observe' on 'IntersectionObserver'")) { - return false; - } else if (err.message.includes("Network Error")) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/milvus/cypress/cypress/support/e2e.js b/.vib/milvus/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/milvus/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/milvus/cypress/cypress/support/utils.js b/.vib/milvus/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/milvus/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/milvus/goss/goss.yaml b/.vib/milvus/goss/goss.yaml deleted file mode 100644 index d0575b0d0172ba..00000000000000 --- a/.vib/milvus/goss/goss.yaml +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://milvus-coordinator:{{ .Vars.coordinator.service.ports.metrics }}/metrics: - status: 200 - body: - - milvus_num_node - http://milvus-data-node:{{ .Vars.dataNode.service.ports.metrics }}/metrics: - status: 200 - body: - - milvus_num_node - http://milvus-query-node:{{ .Vars.queryNode.service.ports.metrics }}/metrics: - status: 200 - body: - - milvus_num_node - http://milvus-streaming-node:{{ .Vars.streamingNode.service.ports.metrics }}/metrics: - status: 200 - body: - - milvus_num_node - http://milvus-proxy:{{ .Vars.proxy.service.ports.metrics }}/metrics: - status: 200 - body: - - milvus_num_node - http://milvus-attu:{{ .Vars.attu.service.ports.http }}: - status: 200 - http://127.0.0.1:{{ .Vars.proxy.containerPorts.metrics }}/metrics: - status: 200 - body: - - milvus_num_node -addr: - tcp://milvus-data-node:{{ .Vars.dataNode.service.ports.grpc }}: - reachable: true - timeout: 500 - tcp://milvus-query-node:{{ .Vars.queryNode.service.ports.grpc }}: - reachable: true - timeout: 500 - tcp://milvus-streaming-node:{{ .Vars.streamingNode.service.ports.grpc }}: - reachable: true - timeout: 500 - tcp://milvus-proxy:{{ .Vars.proxy.service.ports.grpc }}: - reachable: true - timeout: 500 - tcp://127.0.0.1:{{ .Vars.proxy.containerPorts.grpc }}: - reachable: true - timeout: 500 -file: - /opt/bitnami/milvus/configs/milvus.yaml: - exists: true - filetype: file - mode: '0644' - contents: - - /timeTickInterval.*{{ .Vars.proxy.extraConfig.proxy.timeTickInterval }}/ - - /gracefulStopTimeout.*{{ .Vars.milvus.extraConfig.common.gracefulStopTimeout }}/ -command: - {{- $uid := .Vars.proxy.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.proxy.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the def -import { random } from '../support/utils'; -it('allows creating a bucket, uploading and retrieving a file', () => { - cy.login(); - cy.visit(`/browser`); - cy.get('#acknowledge-confirm').click(); - cy.contains('button', 'Create a Bucket').should('be.visible').click(); - let bucketName=''; - cy.fixture('buckets').then((buckets) => { - bucketName=`${buckets.newBucket.name}.${random}`; - cy.get('#bucket-name').type(`${bucketName}`); - cy.get('#create-bucket').click(); - cy.visit(`/browser/${bucketName}`); - cy.get('#acknowledge-confirm').click(); - }); - - const fileToUpload = 'example.json'; - cy.get('#upload-main').should('be.visible').click(); - cy.get('[label="Upload File"]').click({ force: true }); - cy.get('#object-list-wrapper').within(() => { - cy.get('[type="file"]') - .should('not.be.disabled') - .selectFile(`cypress/fixtures/${fileToUpload}`, { force: true }); - }); - - cy.fixture(fileToUpload).then((uploadedFile) => { - cy.request(`/api/v1/buckets/${bucketName}/objects/download?prefix=${fileToUpload}`).then((response) => { - cy.writeFile(`cypress/downloads/${fileToUpload}`, response.body) - }) - cy.readFile(`cypress/downloads/${fileToUpload}`).then((downloadedFile) => { - expect(downloadedFile).to.contain(uploadedFile); - }); - }); -}); diff --git a/.vib/minio/cypress/cypress/fixtures/buckets.json b/.vib/minio/cypress/cypress/fixtures/buckets.json deleted file mode 100644 index 60e914efd93a55..00000000000000 --- a/.vib/minio/cypress/cypress/fixtures/buckets.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newBucket": { - "name": "nordanvind" - } -} diff --git a/.vib/minio/cypress/cypress/fixtures/example.json b/.vib/minio/cypress/cypress/fixtures/example.json deleted file mode 100644 index 7be58f466ca77e..00000000000000 --- a/.vib/minio/cypress/cypress/fixtures/example.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "laRecetteParfaite": "PouletAuRaisins" -} diff --git a/.vib/minio/cypress/cypress/support/commands.js b/.vib/minio/cypress/cypress/support/commands.js deleted file mode 100644 index f2d043e2071313..00000000000000 --- a/.vib/minio/cypress/cypress/support/commands.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click', 'type', 'selectFile']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/login'); - cy.get('input#accessKey').type(username); - cy.get('input#secretKey').type(password); - cy.get('[type="submit"]').click(); - } -); diff --git a/.vib/minio/cypress/cypress/support/e2e.js b/.vib/minio/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/minio/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/minio/cypress/cypress/support/utils.js b/.vib/minio/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/minio/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/minio/ginkgo/go.mod b/.vib/minio/ginkgo/go.mod deleted file mode 100644 index 1b6b324f54a5e9..00000000000000 --- a/.vib/minio/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-minio-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/minio/ginkgo/go.sum b/.vib/minio/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/minio/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/minio/ginkgo/minio_suite_test.go b/.vib/minio/ginkgo/minio_suite_test.go deleted file mode 100644 index e51dbc55abeb30..00000000000000 --- a/.vib/minio/ginkgo/minio_suite_test.go +++ /dev/null @@ -1,102 +0,0 @@ -package minio_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - deployName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&deployName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestMinio(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Minio Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "minio", - Image: image, - Command: []string{"bash", "-ec", fmt.Sprintf( - "mc alias set miniotest http://$MINIO_HOST:$MINIO_PORT $MINIO_USERNAME $MINIO_PASSWORD\n%s", stmt)}, - Env: []v1.EnvVar{ - { - Name: "MINIO_PASSWORD", - Value: password, - }, - { - Name: "MINIO_USERNAME", - Value: username, - }, - { - Name: "MINIO_HOST", - Value: deployName, - }, - { - Name: "MINIO_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/minio/ginkgo/minio_test.go b/.vib/minio/ginkgo/minio_test.go deleted file mode 100644 index 1f28b21b65d1b3..00000000000000 --- a/.vib/minio/ginkgo/minio_test.go +++ /dev/null @@ -1,103 +0,0 @@ -package minio_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Minio", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a bucket is created and Minio is scaled down to 0 replicas and back up", func() { - It("should have accedpl to the created bucket", func() { - - getAvailableReplicas := func(dpl *appsv1.Deployment) int32 { return dpl.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - By("checking all the replicas are available") - dpl, err := c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(dpl.Status.Replicas).NotTo(BeZero()) - origReplicas := *dpl.Spec.Replicas - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, deployName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-api") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.DplGetContainerImage(dpl, "minio") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test bucket") - createDBJobName := fmt.Sprintf("%s-mb-%s", - deployName, jobSuffix) - bucketName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("mc mb miniotest/%s", bucketName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("scaling down to 0 replicas") - dpl, err = utils.DplScale(ctx, c, dpl, 0) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, BeZero())) - - By("scaling up to the original replicas") - dpl, err = utils.DplScale(ctx, c, dpl, origReplicas) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test bucket") - deleteDBJobName := fmt.Sprintf("%s-delb-%s", - deployName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("mc rb miniotest/%s", bucketName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/minio/goss/goss.yaml b/.vib/minio/goss/goss.yaml deleted file mode 100644 index ff68a3b05a6148..00000000000000 --- a/.vib/minio/goss/goss.yaml +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://localhost:{{ .Vars.containerPorts.api }}/minio/health/live: - status: 200 - http://minio:{{ .Vars.service.ports.api }}/minio/health/live: - status: 200 - http://minio-console:{{ .Vars.console.service.ports.http }}: - status: 200 -command: - {{- $auth := printf "'%s' '%s'" .Vars.auth.rootUser .Vars.auth.rootPassword }} - {{- $minio_endpoint := printf "http://minio:%d" (int .Vars.service.ports.api) }} - {{- $minio_alias := printf "minio%s" (randAlpha 5) }} - # We cannot guarantee order execution, so we need to set the alias twice - {{- $minio_bucket := printf "bucket%s" (randAlpha 5 | toLower) }} - mc-make-bucket: - exec: mc alias set {{ $minio_alias }} {{ $minio_endpoint }} {{ $auth }} && mc mb {{ $minio_alias }}/{{ $minio_bucket }} && mc ls {{ $minio_alias }} - exit-status: 0 - stdout: - - "{{ $minio_bucket }}/" - mc-admin-info: - exec: mc alias set {{ $minio_alias }} {{ $minio_endpoint }} {{ $auth }} && mc admin info {{ $minio_alias }} - exit-status: 0 - stdout: - - /Network.*OK/ - - /Drives.*OK/ - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -file: - {{ .Vars.persistence.mountPath }}: - filetype: directory - exists: true - mode: "2775" - owner: root diff --git a/.vib/minio/runtime-parameters.yaml b/.vib/minio/runtime-parameters.yaml deleted file mode 100644 index 9a9e866849d39e..00000000000000 --- a/.vib/minio/runtime-parameters.yaml +++ /dev/null @@ -1,26 +0,0 @@ -mode: standalone -auth: - rootUser: test_admin - rootPassword: ComplicatedPassword123!4 -containerPorts: - api: 9000 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - ports: - api: 9000 -console: - service: - type: LoadBalancer - ports: - http: 80 -persistence: - enabled: true - mountPath: /bitnami/minio/data -serviceAccount: - create: true -automountServiceAccountToken: true diff --git a/.vib/minio/vib-publish.json b/.vib/minio/vib-publish.json deleted file mode 100644 index 36195cb7f004cc..00000000000000 --- a/.vib/minio/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/minio" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/minio/vib-verify.json b/.vib/minio/vib-verify.json deleted file mode 100644 index 772c3aebc92600..00000000000000 --- a/.vib/minio/vib-verify.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/minio" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/minio" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "minio/goss/goss.yaml", - "vars_file": "minio/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-minio" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/minio/cypress" - }, - "endpoint": "lb-minio-console-http", - "app_protocol": "HTTP", - "env": { - "username": "test_admin", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/minio/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "minio", - "username": "test_admin", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/mlflow/cypress/cypress.config.js b/.vib/mlflow/cypress/cypress.config.js deleted file mode 100644 index ddf7860e987f0e..00000000000000 --- a/.vib/mlflow/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - username: 'vib-user', - password: 'ComplicatedPassword123!4', - }, - pageLoadTimeout: 240000, - defaultCommandTimeout: 80000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/mlflow/cypress/cypress/e2e/mlflow.cy.js b/.vib/mlflow/cypress/cypress/e2e/mlflow.cy.js deleted file mode 100644 index bb53f35473f49b..00000000000000 --- a/.vib/mlflow/cypress/cypress/e2e/mlflow.cy.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('can login and access the experiment run', () => { - cy.visit('#/experiments/0', { - auth: { - username: Cypress.env('username'), - password: Cypress.env('password'), - }, - failOnStatusCode: false, - }); - // HACK: This approach is not recommended by Cypress but there is no clear way to - // workaround the following race condition. In some test runs, the `run` Job - // (check runtime-parameters.yaml) has not finished executing and therefore - // it is not visible in the UI. In this case, we would need to reload the page - // to see if the run is there or not. There is discussion in the Cypress repo on how to - // workaround that: https://github.com/cypress-io/cypress/issues/3757 - cy.contains('Evaluation'); - const max_attempts = 5; - let runFound = false; - for (let i = 0; i < max_attempts && !runFound; i += 1) - cy.get('body').then(($body) => { - if ($body.find('a[href*="runs"]').length === 0) { - // run job has not finished executing, so we wait and reload the page - cy.wait(5000); - cy.reload(); - } else { - runFound = true; - } - }); - cy.get('a[href*="runs"]').first().click(); - cy.fixture('scripts').then((script) => { - // This ensures that the script in the job was run - cy.contains(script.script.title); - // This ensures that the communication with MinIO succeeded - cy.contains('Artifacts').click(); - cy.contains(script.script.modelFile); - }); -}); diff --git a/.vib/mlflow/cypress/cypress/fixtures/scripts.json b/.vib/mlflow/cypress/cypress/fixtures/scripts.json deleted file mode 100644 index 38913d97baa70d..00000000000000 --- a/.vib/mlflow/cypress/cypress/fixtures/scripts.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "script": { - "title": "vib_test.py", - "modelFile": "estimator.html" - } -} diff --git a/.vib/mlflow/cypress/cypress/support/commands.js b/.vib/mlflow/cypress/cypress/support/commands.js deleted file mode 100644 index 170caa6b05fd73..00000000000000 --- a/.vib/mlflow/cypress/cypress/support/commands.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.on('uncaught:exception', (err, runnable, promise) => { - // We expect an error "ResizeObserver loop limit exceeded" - // during the look of the run name. - if(err.message.includes("ResizeObserver loop")){ - return false; - } - // when the exception originated from an unhandled promise - // rejection, the promise is provided as a third argument - // you can turn off failing the test in this case - if (promise) { - return false - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/mlflow/cypress/cypress/support/e2e.js b/.vib/mlflow/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/mlflow/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/mlflow/goss/goss-wait.yaml b/.vib/mlflow/goss/goss-wait.yaml deleted file mode 100644 index 04282a1dac6213..00000000000000 --- a/.vib/mlflow/goss/goss-wait.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - # During the initilization process, MLflow can be restarted to apply some settings. It - # might happen that GOSS tests are launched precisely when this restart is triggered, - # leading to false positives. This ensures some time has passed before proceeding with - # the tests, increasing the resiliency. - wait-to-be-available: - exec: "sleep 120" - exit-status: 0 - timeout: 130000 \ No newline at end of file diff --git a/.vib/mlflow/goss/goss.yaml b/.vib/mlflow/goss/goss.yaml deleted file mode 100644 index a8047ea0af4bfd..00000000000000 --- a/.vib/mlflow/goss/goss.yaml +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.tracking.persistence.mountPath }}: - exists: true - filetype: directory - mode: '2775' - owner: root - /bitnami/mlflow-basic-auth/basic_auth.ini: - exists: true - filetype: file - mode: '0644' - contents: - - /admin_username={{ .Vars.tracking.auth.username }}/ - - /admin_password={{ .Vars.tracking.auth.password }}/ - - /database_uri=postgresql://.*mlflow-postgresql/ - - /default_permission=WRITE/ - # If one of these folders exist, then we are not writing the artifacts to S3 - /app/mlartifacts/0: - exists: false - {{ .Vars.tracking.persistence.mountPath }}/mlartifacts/0: - exists: false -http: - # Unauthenticated - http://mlflow-tracking:{{ .Vars.tracking.service.ports.http }}: - status: 401 - timeout: 10000 - http://127.0.0.1:{{ .Vars.tracking.containerPorts.http }}: - status: 401 - timeout: 10000 - # Authenticated - http://mlflow-tracking:{{ .Vars.tracking.service.ports.http }}/: - status: 200 - username: {{ .Vars.tracking.auth.username }} - password: {{ .Vars.tracking.auth.password }} - timeout: 10000 - http://127.0.0.1:{{ .Vars.tracking.containerPorts.http }}/: - status: 200 - username: {{ .Vars.tracking.auth.username }} - password: {{ .Vars.tracking.auth.password }} - timeout: 10000 - # Metrics - http://mlflow-tracking:{{ .Vars.tracking.service.ports.http }}/metrics: - status: 200 - username: {{ .Vars.tracking.auth.username }} - password: {{ .Vars.tracking.auth.password }} - body: - - /mlflow_http_request_duration_seconds_bucket/ - timeout: 10000 - http://127.0.0.1:{{ .Vars.tracking.containerPorts.http }}/metrics: - status: 200 - username: {{ .Vars.tracking.auth.username }} - password: {{ .Vars.tracking.auth.password }} - body: - - /mlflow_http_request_duration_seconds_bucket/ - timeout: 10000 - # API Check to ensure that the Job succeeded and got stored - http://mlflow-tracking:{{ .Vars.tracking.service.ports.http }}/api/2.0/mlflow/runs/search: - status: 200 - username: {{ .Vars.tracking.auth.username }} - password: {{ .Vars.tracking.auth.password }} - method: POST - request-body: '{"experiment_ids":["0"]}' - request-headers: - - "Content-Type: application/json" - body: - # The job is lauched by the admin user - - /{{ .Vars.tracking.auth.username }}/ - # The job is finished - - /FINISHED/ - # The job uses RandomForestRegressor (which is used in the example) - - /RandomForestRegressor/ - timeout: 30000 - http://127.0.0.1:{{ .Vars.tracking.containerPorts.http }}/api/2.0/mlflow/runs/search: - status: 200 - username: {{ .Vars.tracking.auth.username }} - password: {{ .Vars.tracking.auth.password }} - method: POST - request-body: '{"experiment_ids":["0"]}' - request-headers: - - "Content-Type: application/json" - body: - # The job is lauched by the admin user - - /{{ .Vars.tracking.auth.username }}/ - # The job is finished - - /FINISHED/ - # The job uses RandomForestRegressor (which is used in the example) - - /RandomForestRegressor/ - timeout: 30000 -command: - {{- $uid := .Vars.tracking.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.tracking.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always - # be either the one specified as vars (always a bigger number that the def ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/mongodb-sharded/ginkgo/go.sum b/.vib/mongodb-sharded/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/mongodb-sharded/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/mongodb-sharded/ginkgo/mongodb_suite_test.go b/.vib/mongodb-sharded/ginkgo/mongodb_suite_test.go deleted file mode 100644 index 4a557f276a5f02..00000000000000 --- a/.vib/mongodb-sharded/ginkgo/mongodb_suite_test.go +++ /dev/null @@ -1,86 +0,0 @@ -package mongodb_sharded_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - releaseName string - namespace string - username string - password string - shards int - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&releaseName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&shards, "shards", 3, "number of shards") - flag.IntVar(&timeoutSeconds, "timeout", 200, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestMongoDBSharded(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "MongoDB Sharded Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - // Default job TTL in seconds - ttl := int32(10) - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - TTLSecondsAfterFinished: &ttl, - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "mongodb", - Image: image, - Command: []string{"mongosh", "--quiet", "--username", username, "--password", password, "--host", releaseName, "--port", port, "--eval", stmt}, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/mongodb-sharded/ginkgo/mongodb_test.go b/.vib/mongodb-sharded/ginkgo/mongodb_test.go deleted file mode 100644 index 97ecc18908cb93..00000000000000 --- a/.vib/mongodb-sharded/ginkgo/mongodb_test.go +++ /dev/null @@ -1,122 +0,0 @@ -package mongodb_sharded_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("MongoDB Sharded", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and Mongodb Shards are scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - - getOpts := metav1.GetOptions{} - restartKey := "kubectl.kubernetes.io/restartedAt" - restartAnnotation := map[string]string{restartKey: time.Now().Format(time.RFC3339)} - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations[restartKey] } - - for i := 0; i < shards; i++ { - By(fmt.Sprintf("checking all the shard %d replicas are available", i)) - shardName := fmt.Sprintf("%s-shard%d-data", releaseName, i) - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, shardName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, shardName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - } - - By("checking that mongos is available") - mongosName := fmt.Sprintf("%s-mongos", releaseName) - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, mongosName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - mongosOrigReplicas := *ss.Spec.Replicas - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, mongosName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(mongosOrigReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, releaseName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "mongodb") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "mongos") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - releaseName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("db.createCollection('%s');", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - for i := 0; i < shards; i++ { - By(fmt.Sprintf("Running rollout restart of shard %d", i)) - shardName := fmt.Sprintf("%s-shard%d-data", releaseName, i) - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, shardName, getOpts) - shardOrigReplicas := *ss.Spec.Replicas - // Annotate pods to force a rollout restart - ss, err = utils.StsAnnotateTemplate(ctx, c, ss, restartAnnotation) - Expect(err).NotTo(HaveOccurred()) - // Wait for the new annotation in the existing pods - for i := int(shardOrigReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", shardName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Equal(restartAnnotation[restartKey]))) - } - } - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - releaseName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("db.%s.drop()", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/mongodb-sharded/goss/goss.yaml b/.vib/mongodb-sharded/goss/goss.yaml deleted file mode 100644 index 85185b0b912da1..00000000000000 --- a/.vib/mongodb-sharded/goss/goss.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $mongos := .Vars.mongos.replicaCount }} - {{- $shards := .Vars.shards }} - {{- $shardNodes := .Vars.shardsvr.dataNode.replicaCount }} - {{- $collection := printf "test_%s" (randAlpha 5) }} - {{- $dbUser := .Vars.auth.rootUser }} - {{- $dbPassword := .Vars.auth.rootPassword }} - {{- $authOptions := printf "-u %s -p %s" $dbUser $dbPassword }} - {{- $svcPort := .Vars.mongos.servicePerReplica.port }} - {{- $localEndpoint := printf "%s:%d" "localhost" .Vars.common.containerPorts.mongodb }} - mongos-check: - exec: mongosh --quiet {{ $authOptions }} {{ $localEndpoint }} --eval "db.createCollection('{{ $collection }}')"{{ range $e, $i := until $mongos }} && mongosh --quiet {{ $authOptions }} mongodb-sharded-{{ $i }}:{{ $svcPort }} --eval "db.getCollectionNames()" | grep {{ $collection }}{{ end }} - exit-status: 0 - timeout: 20000 - sharding-status: - exec: if [ "$(mongosh --quiet {{ $authOptions }} {{ $localEndpoint }} --eval 'sh.status()' | grep 'state.*1' | wc -l)" -ne {{ $shards }} ]; then exit 1; fi - exit-status: 0 - timeout: 20000 - shard-data-nodes: - exec: mongosh --quiet {{ $authOptions }} {{ $localEndpoint }} --eval "sh.status()" - exit-status: 0 - stdout: - {{ range $e, $shard := until $shards }} - {{ range $e, $shardNode := until $shardNodes }} - - /host.*mongodb-sharded-shard{{ $shard }}-data-{{ $shardNode }}/ - {{ end }} - {{ end }} - timeout: 20000 - {{- $uid := .Vars.mongos.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.mongos.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 -file: - /opt/bitnami/mongodb/conf/keyfile: - mode: "0600" - filetype: file - contents: - - "{{ .Vars.auth.replicaSetKey }}" - exists: true diff --git a/.vib/mongodb-sharded/runtime-parameters.yaml b/.vib/mongodb-sharded/runtime-parameters.yaml deleted file mode 100644 index f3d119e7fe2462..00000000000000 --- a/.vib/mongodb-sharded/runtime-parameters.yaml +++ /dev/null @@ -1,45 +0,0 @@ -auth: - enabled: true - rootUser: root - rootPassword: Password123!4 - replicaSetKey: SetPassword1234 -shards: 3 -common: - containerPorts: - mongodb: 27017 -service: - ports: - mongodb: 80 - type: LoadBalancer -configsvr: - replicaCount: 1 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 -mongos: - replicaCount: 2 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - useStatefulSet: true - servicePerReplica: - enabled: true - type: ClusterIP - port: 80 -shardsvr: - dataNode: - replicaCount: 2 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - arbiter: - replicaCount: 0 \ No newline at end of file diff --git a/.vib/mongodb-sharded/vib-action.config b/.vib/mongodb-sharded/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/mongodb-sharded/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/mongodb-sharded/vib-publish.json b/.vib/mongodb-sharded/vib-publish.json deleted file mode 100644 index 430707090c4cce..00000000000000 --- a/.vib/mongodb-sharded/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mongodb-sharded" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/mongodb-sharded/vib-verify.json b/.vib/mongodb-sharded/vib-verify.json deleted file mode 100644 index 43c526dc3b4b5b..00000000000000 --- a/.vib/mongodb-sharded/vib-verify.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mongodb-sharded" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mongodb-sharded" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "mongodb-sharded/goss/goss.yaml", - "vars_file": "mongodb-sharded/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-mongodb-sharded-mongos" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/mongodb-sharded/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "mongodb-sharded", - "shards": "3", - "username": "root", - "password": "Password123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/mongodb/ginkgo/go.mod b/.vib/mongodb/ginkgo/go.mod deleted file mode 100644 index 5e1c653f527b24..00000000000000 --- a/.vib/mongodb/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-mongodb-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/mongodb/ginkgo/go.sum b/.vib/mongodb/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/mongodb/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/mongodb/ginkgo/mongodb_suite_test.go b/.vib/mongodb/ginkgo/mongodb_suite_test.go deleted file mode 100644 index 105b87c58b105d..00000000000000 --- a/.vib/mongodb/ginkgo/mongodb_suite_test.go +++ /dev/null @@ -1,99 +0,0 @@ -package mongodb_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - deployName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&deployName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestMongoDB(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "MongoDB Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "mongodb", - Image: image, - Command: []string{"mongosh", "--quiet", "--username", username, "--password", password, "--host", deployName, "--port", port, "--eval", stmt}, - Env: []v1.EnvVar{ - { - Name: "MONGODB_PASSWORD", - Value: password, - }, - { - Name: "MONGODB_USERNAME", - Value: username, - }, - { - Name: "MONGODB_HOST", - Value: deployName, - }, - { - Name: "MONGODB_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/mongodb/ginkgo/mongodb_test.go b/.vib/mongodb/ginkgo/mongodb_test.go deleted file mode 100644 index 8281a519b6170e..00000000000000 --- a/.vib/mongodb/ginkgo/mongodb_test.go +++ /dev/null @@ -1,103 +0,0 @@ -package mongodb_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("MongoDB", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and Mongodb is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - - getAvailableReplicas := func(ss *appsv1.Deployment) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - By("checking all the replicas are available") - dpl, err := c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(dpl.Status.Replicas).NotTo(BeZero()) - origReplicas := *dpl.Spec.Replicas - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, deployName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "mongodb") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.DplGetContainerImage(dpl, "mongodb") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - deployName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("db.createCollection('%s');", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("scaling down to 0 replicas") - dpl, err = utils.DplScale(ctx, c, dpl, 0) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, BeZero())) - - By("scaling up to the original replicas") - dpl, err = utils.DplScale(ctx, c, dpl, origReplicas) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, deployName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - deployName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("db.%s.drop()", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/mongodb/goss/goss.yaml b/.vib/mongodb/goss/goss.yaml deleted file mode 100644 index 54ce5e08e30d21..00000000000000 --- a/.vib/mongodb/goss/goss.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root - /opt/bitnami/mongodb/conf/mongodb.conf: - exists: true - filetype: file - mode: "0644" - contents: - - /port:.*{{ .Vars.containerPorts.mongodb }}/ -command: - {{- $conn_opts := printf "--quiet --username %s --password '%s' --host mongodb --port %d" .Vars.auth.rootUser .Vars.auth.rootPassword .Vars.service.ports.mongodb }} - admin-command: - exec: mongosh {{ $conn_opts }} --eval "db.adminCommand({listCollections:1})" - exit-status: 0 - {{- $testCollection := "sapphire" }} - {{- $conn_opts := printf "--quiet --username %s --password '%s' --host mongodb --port %d" (index .Vars.auth.usernames 0) (index .Vars.auth.passwords 0) .Vars.service.ports.mongodb }} - create-collection: - exec: mongosh {{ $conn_opts }} --eval "db.{{ $testCollection }}.drop(); db.createCollection('{{ $testCollection }}'); db.getCollectionNames()" {{ (index .Vars.auth.databases 0) }} - exit-status: 0 - stdout: - - "{{ $testCollection }}" - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/mongodb/runtime-parameters.yaml b/.vib/mongodb/runtime-parameters.yaml deleted file mode 100644 index 2684162dcf7228..00000000000000 --- a/.vib/mongodb/runtime-parameters.yaml +++ /dev/null @@ -1,29 +0,0 @@ -auth: - enabled: true - rootUser: bitnamiRoot - rootPassword: ComplicatedPassword123!4 - usernames: - - kayle - passwords: - - R1sing0fSun2022 - databases: - - awesome_db -service: - type: LoadBalancer - ports: - mongodb: 80 -persistence: - enabled: true - mountPath: /bitnami/mongodb -containerPorts: - mongodb: 27018 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -automountServiceAccountToken: true -serviceAccount: - create: true - \ No newline at end of file diff --git a/.vib/mongodb/vib-publish.json b/.vib/mongodb/vib-publish.json deleted file mode 100644 index 85e2f0dc8d867f..00000000000000 --- a/.vib/mongodb/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mongodb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/mongodb/vib-verify.json b/.vib/mongodb/vib-verify.json deleted file mode 100644 index 95e98ca801f825..00000000000000 --- a/.vib/mongodb/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mongodb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mongodb" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "mongodb/goss/goss.yaml", - "vars_file": "mongodb/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-mongodb" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/mongodb/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "mongodb", - "username": "bitnamiRoot", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/moodle/cypress/cypress.config.js b/.vib/moodle/cypress/cypress.config.js deleted file mode 100644 index dd1f32cd8d53a7..00000000000000 --- a/.vib/moodle/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - chromeWebSecurity: false, - env: { - username: 'test_user', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/moodle/cypress/cypress/e2e/moodle.cy.js b/.vib/moodle/cypress/cypress/e2e/moodle.cy.js deleted file mode 100644 index 37c10f88c5e3dd..00000000000000 --- a/.vib/moodle/cypress/cypress/e2e/moodle.cy.js +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows adding a new course with image', () => { - cy.login(); - cy.visit('course/edit.php'); - cy.fixture('courses').then((courses) => { - cy.get('#id_fullname').type(`${courses.newCourse.fullName}.${random}`); - cy.get('#id_shortname').type(`${courses.newCourse.shortName}.${random}`); - }); - cy.get('.fp-btn-add').click(); - cy.contains('Upload a file').click(); - cy.get('input[type="file"]').selectFile( - 'cypress/fixtures/images/test_image.jpeg', - { - force: true, - } - ); - cy.contains('Upload this file').click(); - cy.contains('Save and display').click(); - cy.visit('/my/courses.php'); - cy.fixture('courses').then((courses) => { - cy.contains(`${courses.newCourse.fullName}.${random}`); - }); -}); diff --git a/.vib/moodle/cypress/cypress/fixtures/courses.json b/.vib/moodle/cypress/cypress/fixtures/courses.json deleted file mode 100644 index 56099c364deee9..00000000000000 --- a/.vib/moodle/cypress/cypress/fixtures/courses.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newCourse": { - "fullName": "Test Course", - "shortName": "testcourse" - } -} diff --git a/.vib/moodle/cypress/cypress/fixtures/images/test_image.jpeg b/.vib/moodle/cypress/cypress/fixtures/images/test_image.jpeg deleted file mode 100644 index 1d2a61929011dc51dc0717f675ba868a02bcfd85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12265 zcmb_?1yEdDv+l+v*aY{%-Q5Z94#72OfFOZDa0vttZh_$L!QCOa3_3vrA&}r2^i6X9 zlXLE^SM}=Ey*;pZPp|d0tXjKQSMPaPd{_r?l;jlU05~`RfP;O2hfVk#MQLd>4J~y! zMHSiK1Mu%0t(@EuIRU`Q`K6ndycAg9zz_`li!7|%U7l!YsQgRx-`I=!U)lj+mhG3W z|2Fvl`ugaZwYwF}K~&g8K`R%xmoQ!u#;d)0>GF$z2jlUq>@1$a_yQQu>IQQV#!vl{ zTmHpw{o-x^;;(-3ZaP}h0055xR?C=9{*lpU0RVOg05o>~BeN_7fF{@)6Ro;f zxLN$Rg8;k2+t>iWNihIm8UO$;Y^~9a{-@)Atv5{fFa1FN0s!dv0D#Ik0HkLC06oke zw($cLkOq(t5D^g(kYE=iBqU@M3{(^tVLy6=h5^EU{1}7{0^t&n5#r*J;DbO!R751? z2ynlisJ{sr1rZ4q0shx0F-#5{{Cnir9S#8z3I1Ujz(9ZjaS(7|k`~E- zPx#;Av7?!pmz`wkzL#?-U2EuNJ8|c#uKyR+a6y>on>`eM-@FfVg$_L_&D1$e3_ARL zJ2Y88+Eqkfz9ea^;d1^&@#``9L#I`_)2eB81t0^xNRHakJv$h9UHC-GulfO)%@T7Y zBB-b~<1q8Mwq1Xn@~kx?>C1v0hEL!hJlw`%Y^;U9@a^Q1j@DDNwj+08Ffg}|&4*!@ zo1bw4p$q`srCkUghAe2j{<7sJoCDj4{~@BEMBlz*_mxj5ZMt<)9Bz!S4t3{N)_Q05d@K3@>{En~*eSG!iOp??SBr_n$Hfot1xx;cTW$H1l|i3h zdx`r;F~vjMAAlRxEQP{KMFxEka=WLAnvLrF|!{CWH} zInn;sK|{7X{j!&qvnsFTQw+#vUUpX1xS_>zo}6$Z{J^B4nGxy`v>P0^czCSzb*5;) zw=C<j8xg6Y#q2z~?%D!eQU-ht2`Vkh<=zU7zIURd=709b07OAX zTjVt;Lhy9n`YVaCUsLYS{pvBA8Aq}_fqmLznl{zqh>Fh}*BLQ!T^ol437ZrWnd*H% z{*DeAI}>BYf2adhzUNFiYjY)HE{93JRp1m zDjIIiKx#TJSRO-#r8hWOMg#0We{CrEp*z*?6xsQ-cHGCWu{$mqeFV~mLQk)^nDnTe z{S6P)6Du+eM(GAG6`J9`kWAWe*7m<8Jr~{y>zUTZ{Y5nHX?xI}CU6GRmkWlL3hTyk zGA~WsWcK2PD@SsCPAXJ(Z3J4O-&2vOEk2mNB5RI}%_e|79kj>2Khluhwcl3pSyh3Ifk^p-`b`yTGcPrRoe{P#M)i$`vtuHGsO1E z#iMW$$M-$F;JasKbOQ@V%hwM8sKx&(+blMJ4~tY@a!@()fMh{>qv8CX#_jG{w2NFG zLdKsR6!8GG^HqiSJ^y|yw|%qe?JpcxA}ChrTsoO!V|;_;H~@)=M%K+C?;K+V{MkzDi6Dk|}e*|3Q6sFJ=*a$sxzjZ^eGH zkG%ADb#m*Dtqg?PM74-$HP%sylYYRGOCnZOI2mkL9OKdvS@KH09@5gAAf&mN&FA~% z^8&$=XJm?a>oCns?=TpYsjB>*_b8EIumN@4$$m~Grg--F=iJdAvM>wIa21E1&=3TA zZW1zm4z%{KI7cewd9G>9&ZIl0EH4FO7cYt$iA8g(R+i6WvK2WX%Hwm*%rCyUV}yIl z8E(IQOW&OFrTjT|8}+C@=aX|EG`Nq)*gw2p-Tkt1U187OlT9_4zVW3iY_04EMchp5 zy;EoIJV{KhP|12(Yc5Z(D6P{*!&*gtZ-HXO%4_WKarNx+l@jPaQ%Mr~+tNG5e`|}t zzxR5>?AhTi!`DyE#+x9*Yf>D^WqbZ$oO1?)g>_MhnPhz<{oW?ikc~s3%t@13 zF|oL>?b0_CPeWVSFjeYmO9n{|(IS!b!J@5(y~PwnLqYrU{KDvITRO5*9@pug@#)OtQi6*N zQ~+skbp;}dMFale1kqFkvVV5*DWxgZeswhl);+g*g39|e@UTs!P4m(8D63N}k8J#5 ze6**p!aY50d_^3s*SwHbGHrt3jDb}IXk71hz4OI@1aeE&ftpV~7Ppmx==cer=BJ$( zS=z_yKNpt7ZFs%X`QpbEwY1Bu@yt=umRO~|v=Zt-Dy*fPr=v761|;vM<&SHV!Ez~5 zjV+$?-rYn4K2EroHPp6; z#LaQM)~lXylJHF7O-YkVa;WWn018|q>*YG;8W148R|k@TnjFH)Ad z?%SBQ+;s11$)ZfcU=-WeD_Y`&km15Tj8C;ju*=6MiN!eO_&mW4=RGX=nG~pmM=_o zvYu*;esn~uT(SrbZSji2C z2rIY$BG`cj;DD&OxFr!`v2lX6{u3GeugLB@8KaYr6AFS-%W&c|z1mC_@EeO`68)1* z1y{;cah6eZOrCE)Z=j95(T|373X)Vy8mciIp^)nMtM5yG9XcdPjHtKYrNxjp zeMBJP_3>E1z=){0-WMrumGxG&X8<=-zF+?g&!$#OvRWON{z4)BqGVmCR*;~p@@+mIg0)*rSZH!Mu+ZS)5z$eQ z5Ydo+1@|j75G*Pxt|vHPYE3N*SGU?88g5Aq_ux7_si632Bx&tjd|FN(ORK<;4PL&4 z#H0V5;K&lN6I^FIEf9I;IrYcU`4C-e%VUq4xhL@<2<<+t#&X6>1Q*px7plW;f_{%q zUga*@(U4 zCdb@ofrm@PgOvs~*mU_mcfdW-qvJ#$tq)h=oW5jeuw_sBexCB{wK^8Z#*y98F`+nq zA_!z^)qMQ1cUu*)|5{*YQ*^b}=jw))qhl z>LJOC>5X<9tSWZRr$?&3H}ck0#L36ZIZni6Iicl8NV^G|yi&)-KJ{a`d8AJMGt(>Y z=-TeOF_tvZp*|qXwq*?SQ0epL{Tjo|W6obD0_xbD$g=2)`}opl{rB1^h;H(sTL;7{foRsM62cS8>Un7CxsdhUBJ;V03{A2NN7e7UcBf@`nCid~u z;c>+{!&RJ)7^T0$B0Exg`rerji>e!Aa|?@1ee^7r)^B?Me_fiAfhJYI3BYV5daR|{f|T96W?(VucA zQ%=42^?@}F3ul8qDzkD%7pdeft~{Lmrh@q*N==R10@J`o-**b<0;yF{$v ztkK&#kNIpA3EHd{^?d-m^b#?_&aUk)JN+YsX)k!KdRI|f?vKl}S@k_ol9sQ-o4t)A zp3b@IWsA%0kYW=lV#JWftWQN<1Ve8JPVubnvbzpyj_{sk$h{Kz^yM|tPtuh}^sSTa z7Y38fk*#6c^(5TuYB8-S)^}48;sI4X}QV*LLU$J(#7X2zIX4nTsWU|1wd(9D_$rSj!=ob~W3%OUIvL8^~%C`yx)y zVkmOsxLdEaof{YA)kXM0gwsix97;Lg8CH`uAJu7 zuJJe!tQi#a%aWdXP6xZ%lJt;X?@~y6YiwCf>Q_gv@;(6Q68MF^1wm+tpCJkD-|1hD zmguoG_{Yo1n#Xf6i2T&-M={7ZGh&}sgtN+hzfDu^S`_|>UmoiGLDx3zF8PHstTZp_ zq{RCOx>VZkpdC>#T9)0xM;ScfLFZAag;A(nf;m>_Ft124IOR88d9hRc@@l*9R@&mB+0N}Icx`n&V zf32YO^UvsSJf{4B5Puo3Sn~E}tpDD_s;)vn%=~72TYnXDdhy=u)kIB&rwz-`C>IN= zRRpek-6(%g%`g9~Qpru_Mo;9vS%Dt*2Bf2JL*FdAlMk8THn3%Qhwq|YCoU29}UI9T|L+EY=U@U``7q=J*jx%;Qf1dJ$=h>z3s5_go5#z z#bwNQRjx@I2LOAEi6-%8L1?Y4){MCQ`H#Nm-E7d-&@ygS&^(b&tty@Zh{x@Pe%0Ky ztoc2;@@H}UH&>%yG_CTrdXNo-Tfa+E8(4O9)6W-$5v5|0YJxw{y{*L$Ijo-5uMQLS z!tOH+Y3R)F_BjtZ6iBx6(Vkp3L|fo>s@KTGeuD;HOUsy8)F{41j2sW|WAu-o5BPwf zNRLBc<>ub>{RyE4eD6m~mrpeAhj~}}ypFv?Nvgc38`8s2HFsqUmK0tBOr=mFhIQwglhJCxqB4)(OY@MF$uo_F@<{j%A-i|qCv(2%2RYPWHF ziuyOs5)2o{WKlVH6S!*3LIf5EF0S{lXQGXTC9|vQnC?Ge#Yt3Fe0ae%#QYJnFJxw< z6l#zcZ|p%b;tE=8tPhh#o9QeYP77toI4hedGqRpo#U${U@ZUc_BI+x3tv9VW9W1Ua zJ07lHbT|<%S*nwe2M$D+9rl@&)w+87nfNUafsou8oV zq`KjYL5pb~W^d}nGZcA5=~RbLxwkK>3hpv#R-C*d@~f9^4@javkqnRJB=nxY?ZI?` z3dcS_D6LToXcaIzQ&o+TXm>1KAw!Ea{jRkk5Vo*V)X%vsJ~5&mv!m@#L0xd*4IvMU zwzaasj|iG9h~73E?3{Ggu6i+;Lb*yXtz%D7eE#B#GCf^EiX5S6*(9!Dn-RN{?weat zM#e=XOPbks43FTp@Aunc>~zQ6N~3l6bFB8?x!*Ba;;^n`%8ONMsS6?7dqU00=5TxG z6Vzp1_Y_8WGBzRfLx~LQ9UGOeFAHTC^Lj&`omr|ZRks#Kh*|RKz?wqrtVl9PRgSH1 z3u4uc>~ooeaxEWyU!T>tNX`qAs@}b>Wr8rHS^;&2*VoMi zc4qRzj-uy@Kc=~M&F<}s2UN4==8_yKpoML12kZ+?*B@aO8w(DsR|1cK`nzHLyB>uD z0kC3C69;VJ8Wf*H%`MS|)9fNaGS;vfl1SzV~{l30gB@%YeX;%_~z z&#yA})#Yy%?5R?t&&saktWycU_|6|O^b$7;@?r2lYc&g(u@0>swl$6_;@=Hhw&hTu1%T|fN-DSJbE7LY@5i_kcoF`drXKYL85WupP z!{!l=MNXwWiC`>`xFWbHfy(o@`I^+`lHrwWi$(H%UeYtvdya#Pk!(%RY*v1wk6+sR z0{+WKo|sUVTX?BDDyVzU0}vJ?OTac_?@cD)b+1{AA+49?ELfsYPh8Zjd3#wj>)!VO zqztYl$MFc)xGF%YYQ`l?U?7;VPw=;U{o@X$TEzcaa;RPXq zmqf+9_%(CQzJ=l~2OQYjE&;tc{eabIc%y%&EnOIk6!wR2U6t+P8h?>-lJy;*tc1PP`#R*Lizxm`Lh zarGvfWveAR^|qEvHpI?kPfC(Ce(KRpoeuHQ05G}$LygLI;bc)lo9nfeAL2d4mA28LJ-Jsj<2Yy}p$)Bs# zZ`sA(pXb}*pknuyS@sfcxs@yk_~Mh2N>Y(uuuq}seGIZq%ay_;^lrJQLl}*}KQGau zSHr?+(oC##7UapxGLhI(9~9IPB~_hZILWs5fHob(+FD1f-j&oLrML851fX*wNg4;x z&=_cb;-+j3_6)7e;S^vGEE~gkuBgo<6Qo*@Nf({gh4ce7*-hp(wWxMjG8z8qNWu_j z7~fGR6_FI{N{kT>7mbkV9_zEc>t1mttJs~7~`qGLPMf7Yin|B24Avi zk}Y2dMV<-!=D_@rWxb&G=2zzanUPA_D$n#eZnLARa&gT?-2Bl$1|6S6c5^cXub4JPA*^~O`U9pOedpU+R|Y&( z4L+Dgk{8CF?@!D;zP8n0p01#Te*(szXdmDUgQKVpCOM(Q_2!w1;MP9U)A_`7Q zia*g7!Of%AQIUMX8sz9qc&^C3+uH#COzNHY zNdA!ea6~J6Jk98x`ha05{GkM zsu3OH=of~`G0VwlgW=XK+*3T3RX!ieDAYjj39o~5s)pd4JHKhh<0BdPJWCj|-G2+@ zkqr^?TQ$x3bnQzm6^PiAp1tiE$hqrg^X$3Wvc>-Oy}gxu%_XQjhA;{3>p?S zYK&b}FbaHD2wiRxL`bTQSN>eTWlZ)(jL9P=fp*h8)C^>;4P)%BPch9uFy2wUjwjpO zR1PjMAOC=Lmi3J7NhbTt`Y5)%DEujfPUNTykOKv;Nq%#~sZ*5Vvc#P&?6Cd)Hum>> zXq?kY(f{o~w2s67s}8LBd{+oSk~wtRic4_mJC=;`d^aMQCcvL z;J;A6eXeKtx8yjM$u^jiM~ZV}?N3CkZX>Fo7}06jKN8W86IAfAcsi7Lf3PQ`h}6SG zxvH%HSRBJ!K5Qg@9{u)@4}E0reHgW)WVJ*8sQRPff5iONc(9^ERWu0+` z_Sz)T`mTh9_1;DuNl9sbIwEDjPgfj{#MiHgEyH8AW|zi0jYdWEdd!IT2j20g7H0mKyj!k@SL-^v7E@GOKUnJr32NRO z3cc```?^Y^l{fmL&YllLyVV0&fbt4xpQb}NMo&U^s)M%D*7w<_Wg0j$XZvg(Sinag04shBjY%`N_r zx9#dvk>9yIwt>&FMW6k0HaT#m>Kn6Y?otn9lhskJR|T!X-p zuwq-Iwg*;ePjCFGwQ(MR`XL9;XaHH)5pUiZUAiXdv*Ng*Soc%6idRnKGG8XKHVy7Y zMCrFxa4~$fmIl&&tm&U}ZwiOtRg63UTw7tef=^KPIBY1+0zifGX5(KVXfcv^J0BSw zfbP^!B(aLZ61}N99&ouPE_fn1<6Qeu!~|`Qy9=jY=TUTuReN)pUe)PnM6>sDyPzjU2-)59WK{M+q#5ktaCni4D7DShu!M-_s066^A z6^p;WIW*KV%!4N4d>B}<&3Hn_atbd9B{lX5Vq7K{nN`g*f@;GqX`BOsScly6kTMHxbkjYWCPu74+l;Jy);EDrIO zjf|Sv&fSg``XumihrkG%AG0OS?-3IVNWj<0;y z=a}6|WxR>nOvYJ}la$&z(>!tn4g7+2*Z?ply5AkFR+WD7N+sht>tl_~#`R;Ax%7%u z%Oyc44ZLIb7K~R{ct2As5RxWNrS+k+uD)ciV@npZI=41e>1zAoGksdE=V~dt@hRrW zd}wTnC-ElNJnK9wPr!#^6ITV?p;QIq`$3F;S}joa+bW!;s*j1tG+d=>U> zN`Ak>hTF(tugaN>*v5Zr^Jy?`1WOnt(d2cQq{vM5pn5`avdM4Rk| z#tX$l;-44-UK4S}yKNdTGRDzfa3?_g6h;vm)QfAcG23UPu_3;!cNkdSsQ1fUju1|k+BS~9WQ%B;~)sULKUkh zl=sf7|23F%n*l}1o- zP!nomVEUWlSC_m=@&+yGa<+87N%A_Xjn?X=Ne4xL!}8Q1HMZ73gD}xB(J4k5W+K>F z;bQSETGoH1Du`L9<5$8PM(ov)in2g6=|*bnsG2!qQcShveMcO+G8G%KC9jzSa`R@x zQ6V8f9Vp#-yL5mqNobKaQ~2()$}wFlV@a$!T{4QC|1e;Lymx6-OB0I)|ecBEjedzm9)#J}ZB)e^4l+C3Sc% zpPS;T^C7N~K8*XI_P)cw{Lbm@OR)rWrFw8>DnHJS6t(I|b4A_O*24mB>@5x1!aYee zmwY@(t?|*B{8d|rrR3A!%2YVJ^{a_mo=wE_dP+a%0Uj+gby1&gPDzU9TSL*>{!q% zkm1OcoE#6t+oLTpaU8pZ$+-O6sx4$k_HAe`JCVcq_O*tx7L!}H$mnqa1^R$GVm7fq zRz&=mcCsYA?ttm4S`C=46a8Z}T6`J<)z|#40I%pLQDIDsB;GCrI5n*HGJ?S}^-0w! zRm$%aW$2nqYd)m+=7yl!ylKf%Ad4tfPT1z!^kX_s)1)WXbVJZE=W+k7n55Cr5n0i( za2b~ZkLg__N0S`(xPcCiO;wU%0$H8$a}VP)o0&|v^pnzaDtI^>72;Ay+EK3rUV+O~ z>+gGVK11YGh&&#o>9Xc1h(Ddaz8mKZ?b$Lqh>i$+OeT|?H(Y|K*S|CHB>M9r!ut&F7^{CPGtZ}jQrqZ`4*rVM<9)6*L1?`5%( zZk_$@TMA-(+V>?fG*QU!#v4}c5Tp6+8r@lg^c#wvuZwPG){;Tk!RyZS&o^kl#teTA z>cxl;J11^EGkXB4R|NWKMS?}3U-KmRy4Oev5E@i$852>xvUc-dG8e$JKMqST4qnD7 zVc#s8!yo*}Xn`y904TX7r!wRGOdN5*M}wUV-}mL_-j?86YLD%Rf3XNMf&lKxp74d2@9 zGVoNCali0x*`#dFtq1HY!?#*eo~(Nn#O?_Vgl|p-Cy0HaTFDfdN>%Jv3}){iSZ0i( zeOH7_`xJVAEzrG`gQE>QSwr1ulV%?P+5CY;0-{GOghnfbaLq_KW=d>^q@+ZF70l}z zO^Qi~3ea2r47QYmOmUS-IP{vlNeYS6=l$(KBH@#p};VmG5AG6RO3knkIlwU<4FB3&(U3n2CDP10YYkVP|lX xg4CSZHINm!9{2g?cL&mkFG^pF=-AhpO!ez$_Y;oY%(#w_u`6x{?0 { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/login/index.php'); - cy.get('#username').type(username); - cy.get('#password').type(password); - cy.contains('button', 'Log in').click(); - } -); - diff --git a/.vib/moodle/cypress/cypress/support/e2e.js b/.vib/moodle/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/moodle/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/moodle/cypress/cypress/support/utils.js b/.vib/moodle/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/moodle/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/moodle/goss/goss.yaml b/.vib/moodle/goss/goss.yaml deleted file mode 100644 index 0047cf603d8cd7..00000000000000 --- a/.vib/moodle/goss/goss.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/moodledata: - exists: true - filetype: directory - mode: "2775" -http: - https://moodle:{{ .Vars.service.ports.https }}: - status: 200 - allow-insecure: true -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/moodle/runtime-parameters.yaml b/.vib/moodle/runtime-parameters.yaml deleted file mode 100644 index c0545b966235ed..00000000000000 --- a/.vib/moodle/runtime-parameters.yaml +++ /dev/null @@ -1,21 +0,0 @@ -moodleUsername: test_user -moodlePassword: ComplicatedPassword123!4 -service: - type: LoadBalancer - ports: - http: 80 - https: 444 -mariadb: - auth: - database: test_moodle_database - username: test_moodle_user - password: test_moodle_password -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -containerPorts: - http: 8081 - https: 8444 \ No newline at end of file diff --git a/.vib/moodle/vib-publish.json b/.vib/moodle/vib-publish.json deleted file mode 100644 index e3691620f58523..00000000000000 --- a/.vib/moodle/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/moodle" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/moodle/vib-verify.json b/.vib/moodle/vib-verify.json deleted file mode 100644 index dd71a28916e232..00000000000000 --- a/.vib/moodle/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/moodle" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/moodle" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "moodle/goss/goss.yaml", - "vars_file": "moodle/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-moodle" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/moodle/cypress" - }, - "endpoint": "lb-moodle-http", - "app_protocol": "HTTP", - "env": { - "username": "test_user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/multus-cni/goss/goss.yaml b/.vib/multus-cni/goss/goss.yaml deleted file mode 100644 index 21130d7d5e8412..00000000000000 --- a/.vib/multus-cni/goss/goss.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -# This application performs modifications at host-level, injecting new configuration files. Therefore the -# container has root user and is privileged. In order to properly test multus-cni, we would need to access the host and -# change the default host networking configuration, which is something we cannot do. Therefore the test suite is simpler -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - check-user-info: - # The UID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -# The multus-cni init containers create the CNI configuration -# in the host folder. This test ensures that the configuration is created -file: - {{ .Vars.CNIMountPath }}/etc/cni/net.d/00-multus.conf: - exists: true - filetype: file - mode: '0600' - contents: - - /multus.kubeconfig/ - {{ .Vars.CNIMountPath }}/etc/cni/net.d/multus.d/multus.kubeconfig: - exists: true - filetype: file - mode: '0600' - contents: - - /multus-context/ diff --git a/.vib/multus-cni/runtime-parameters.yaml b/.vib/multus-cni/runtime-parameters.yaml deleted file mode 100644 index d22a2fe5729937..00000000000000 --- a/.vib/multus-cni/runtime-parameters.yaml +++ /dev/null @@ -1,10 +0,0 @@ -hostCNIBinDir: /home/kubernetes/bin -CNIMountPath: /bitnami/multus-cni/host -serviceAccount: - create: true - automountServiceAccountToken: true -containerSecurityContext: - enabled: true - runAsUser: 0 -rbac: - create: true diff --git a/.vib/multus-cni/vib-publish.json b/.vib/multus-cni/vib-publish.json deleted file mode 100644 index 0e7db9a56328a5..00000000000000 --- a/.vib/multus-cni/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/multus-cni" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/multus-cni/vib-verify.json b/.vib/multus-cni/vib-verify.json deleted file mode 100644 index c2c9b8f93e7c9e..00000000000000 --- a/.vib/multus-cni/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/multus-cni" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/multus-cni" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "multus-cni/goss/goss.yaml", - "vars_file": "multus-cni/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "ds-multus-cni" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/mysql/ginkgo/go.mod b/.vib/mysql/ginkgo/go.mod deleted file mode 100644 index 0ec7cde3d7ddc5..00000000000000 --- a/.vib/mysql/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-mysql-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/mysql/ginkgo/go.sum b/.vib/mysql/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/mysql/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/mysql/ginkgo/mysql_suite_test.go b/.vib/mysql/ginkgo/mysql_suite_test.go deleted file mode 100644 index 39e6748ebfde75..00000000000000 --- a/.vib/mysql/ginkgo/mysql_suite_test.go +++ /dev/null @@ -1,99 +0,0 @@ -package mysql_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestMysql(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "MySQL Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "mysql", - Image: image, - Command: []string{"mysql", "-h$(MYSQL_HOST)", "-p$(MYSQL_PASSWORD)", "-u$(MYSQL_USERNAME)", "-P$(MYSQL_PORT)", "-e", stmt}, - Env: []v1.EnvVar{ - { - Name: "MYSQL_PASSWORD", - Value: password, - }, - { - Name: "MYSQL_USERNAME", - Value: username, - }, - { - Name: "MYSQL_HOST", - Value: stsName, - }, - { - Name: "MYSQL_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/mysql/ginkgo/mysql_test.go b/.vib/mysql/ginkgo/mysql_test.go deleted file mode 100644 index 111b5122dc2341..00000000000000 --- a/.vib/mysql/ginkgo/mysql_test.go +++ /dev/null @@ -1,104 +0,0 @@ -package mysql_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("MySQL", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and Mysql is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "mysql") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "mysql") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - stsName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("CREATE DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("DROP DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/mysql/goss/goss.yaml b/.vib/mysql/goss/goss.yaml deleted file mode 100644 index e62109117985db..00000000000000 --- a/.vib/mysql/goss/goss.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - create-table-root-test: - exec: mysql -h mysql-primary -u root -P {{ .Vars.primary.service.ports.mysql }} -p'{{ .Vars.auth.rootPassword }}' {{ .Vars.auth.database }} -e 'DROP TABLE IF EXISTS TEST; create table TEST(test_id int auto_increment, test_value int, primary key(test_id)); INSERT INTO TEST (TEST_VALUE) VALUES (1993);SELECT * FROM TEST' - exit-status: 0 - stdout: - - "1993" - replication-test: - exec: mysql -h mysql-primary -u {{ .Vars.auth.username }} -P {{ .Vars.primary.service.ports.mysql }} -p'{{ .Vars.auth.password }}' {{ .Vars.auth.database }} -e 'DROP TABLE IF EXISTS TEST_REP; create table TEST_REP(test_id int auto_increment, test_value varchar(4), primary key(test_id)); INSERT INTO TEST_REP (TEST_VALUE) VALUES (2022)' && sleep 2 && mysql -h mysql-secondary -u {{ .Vars.auth.username }} -P {{ .Vars.secondary.service.ports.mysql }} -p'{{ .Vars.auth.password }}' {{ .Vars.auth.database }} -e 'SELECT * FROM TEST_REP' - exit-status: 0 - stdout: - - "2022" - timeout: 9000 -file: - /bitnami/mysql/data/{{ .Vars.auth.database }}: - mode: "2750" - filetype: directory - exists: true - /opt/bitnami/mysql/conf/my.cnf: - mode: "0644" - filetype: file - contents: - - "[mysqld]" - - "datadir=/bitnami/mysql/data" - - "socket=/opt/bitnami/mysql/tmp/mysql.sock" - exists: true diff --git a/.vib/mysql/runtime-parameters.yaml b/.vib/mysql/runtime-parameters.yaml deleted file mode 100644 index 327cab5ab20e18..00000000000000 --- a/.vib/mysql/runtime-parameters.yaml +++ /dev/null @@ -1,16 +0,0 @@ -architecture: replication -auth: - database: test_database - username: user - password: ComplicatedPassword123!4 - rootPassword: R0ot)Password -primary: - service: - type: LoadBalancer - ports: - mysql: 80 -secondary: - service: - type: ClusterIP - ports: - mysql: 3306 \ No newline at end of file diff --git a/.vib/mysql/vib-publish.json b/.vib/mysql/vib-publish.json deleted file mode 100644 index 1e27b83c6c3d4f..00000000000000 --- a/.vib/mysql/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mysql" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/mysql/vib-verify.json b/.vib/mysql/vib-verify.json deleted file mode 100644 index b99e3b24d58e19..00000000000000 --- a/.vib/mysql/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mysql" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/mysql" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "mysql/goss/goss.yaml", - "vars_file": "mysql/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-mysql-primary" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/mysql/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "mysql-primary", - "username": "root", - "password": "R0ot)Password" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/nats/cypress/cypress.config.js b/.vib/nats/cypress/cypress.config.js deleted file mode 100644 index e36fc00336e10e..00000000000000 --- a/.vib/nats/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/nats/cypress/cypress.env.json b/.vib/nats/cypress/cypress.env.json deleted file mode 100644 index af071cc6021063..00000000000000 --- a/.vib/nats/cypress/cypress.env.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "replicaCount": 2, - "containerPorts": { - "client": 4224, - "cluster": 6226, - "monitoring": 8228 - } -} diff --git a/.vib/nats/cypress/cypress/e2e/nats.cy.js b/.vib/nats/cypress/cypress/e2e/nats.cy.js deleted file mode 100644 index d9369a1e2689c8..00000000000000 --- a/.vib/nats/cypress/cypress/e2e/nats.cy.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('allows to check general config endpoint', () => { - cy.request({ - method: 'GET', - url: '/varz', - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.port).to.eq(Cypress.env('containerPorts').client); - expect(response.body.http_port).to.eq(Cypress.env('containerPorts').monitoring); - expect(response.body.cluster.cluster_port).to.eq(Cypress.env('containerPorts').cluster); - expect(response.body.connect_urls).to.have.length(Cypress.env('replicaCount')); - }); -}); diff --git a/.vib/nats/cypress/cypress/support/e2e.js b/.vib/nats/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/nats/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/nats/ginkgo/go.mod b/.vib/nats/ginkgo/go.mod deleted file mode 100644 index d1ce58af87238f..00000000000000 --- a/.vib/nats/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-nats-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/nats/ginkgo/go.sum b/.vib/nats/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/nats/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/nats/ginkgo/nats_suite_test.go b/.vib/nats/ginkgo/nats_suite_test.go deleted file mode 100644 index de1d115af8f19a..00000000000000 --- a/.vib/nats/ginkgo/nats_suite_test.go +++ /dev/null @@ -1,139 +0,0 @@ -package nats_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - releaseName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&releaseName, "name", "", "name of the chart release") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "nats user") - flag.StringVar(&password, "password", "", "password for nats user") - flag.IntVar(&timeoutSeconds, "timeout", 300, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestNATS(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "NATS Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name string, port string, args ...string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - command := []string{"nats", "kv"} - command = append(command, args[:]...) - - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "nats", - Image: "bitnami/natscli:latest", - Command: command, - Env: []v1.EnvVar{ - { - Name: "NATS_URL", - Value: fmt.Sprintf("nats://%s:%s", releaseName, port), - }, - { - Name: "NATS_USER", - Value: username, - }, - { - Name: "NATS_PASSWORD", - Value: password, - }, - { - Name: "NATS_CERT", - Value: "/certs/client/tls.crt", - }, - { - Name: "NATS_KEY", - Value: "/certs/client/tls.key", - }, - { - Name: "NATS_CA", - Value: "/certs/ca/tls.crt", - }, - }, - SecurityContext: securityContext, - VolumeMounts: []v1.VolumeMount{ - { - Name: "ca-cert", - MountPath: "/certs/ca", - }, - { - Name: "client-cert", - MountPath: "/certs/client", - }, - }, - }, - }, - Volumes: []v1.Volume{ - { - Name: "ca-cert", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-ca-crt", releaseName), - }, - }, - }, - { - Name: "client-cert", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-client-crt", releaseName), - }, - }, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/nats/ginkgo/nats_test.go b/.vib/nats/ginkgo/nats_test.go deleted file mode 100644 index 4eeafefd063fa2..00000000000000 --- a/.vib/nats/ginkgo/nats_test.go +++ /dev/null @@ -1,140 +0,0 @@ -package nats_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("NATS", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a bucket is created and is scaled down to 0 replicas and back up", func() { - It("should have access to NATS", func() { - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, releaseName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, releaseName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, releaseName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-client") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new KV Store Bucket") - addKVBucketJobName := fmt.Sprintf("%s-add-kv-bucket-%s", - releaseName, jobSuffix) - storeBucketName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, addKVBucketJobName, port, "add", storeBucketName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, addKVBucketJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, addKVBucketJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - By("creating a job to put some key-value pair") - putKVJobName := fmt.Sprintf("%s-put-kv-%s", - releaseName, jobSuffix) - err = createJob(ctx, c, putKVJobName, port, "put", storeBucketName, "testKey", "testValue") - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, putKVJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, putKVJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - // Give the application some time to sync the data - time.Sleep(10 * time.Second) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", releaseName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, releaseName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to get a value for a key") - getKVJobName := fmt.Sprintf("%s-get-key-%s", - releaseName, jobSuffix) - err = createJob(ctx, c, getKVJobName, port, "get", storeBucketName, "testKey") - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, getKVJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, getKVJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - By("creating a job to get the delete the KV Store Bucket") - deleteKVBucketJobName := fmt.Sprintf("%s-del-kv-bucket-%s", - releaseName, jobSuffix) - err = createJob(ctx, c, deleteKVBucketJobName, port, "del", storeBucketName, "-f") - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteKVBucketJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, deleteKVBucketJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/nats/runtime-parameters.yaml b/.vib/nats/runtime-parameters.yaml deleted file mode 100644 index 315d0de35d7fa6..00000000000000 --- a/.vib/nats/runtime-parameters.yaml +++ /dev/null @@ -1,45 +0,0 @@ -natsFilename: nats-testing-server -auth: - enabled: true - credentials: - - user: test_nats_client - password: ComplicatedPassword123!4 -cluster: - auth: - enabled: true - user: test_nats_cluster - password: ClusterPassword123!4 -tls: - enabled: true - autoGenerated: - enabled: true - engine: helm -debug: - enabled: true -jetstream: - enabled: true -persistence: - enabled: true -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -containerPorts: - client: 4224 - cluster: 6226 - monitoring: 8228 -service: - ports: - monitoring: 80 - client: 4224 - cluster: 6226 - type: LoadBalancer -resourceType: statefulset -replicaCount: 2 -metrics: - containerSecurityContext: - enabled: true - runAsUser: 1002 - enabled: true diff --git a/.vib/nats/vib-publish.json b/.vib/nats/vib-publish.json deleted file mode 100644 index d9e958b66f3287..00000000000000 --- a/.vib/nats/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nats" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/nats/vib-verify.json b/.vib/nats/vib-verify.json deleted file mode 100644 index 4f4143b13a9c68..00000000000000 --- a/.vib/nats/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nats" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nats" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/nats/cypress" - }, - "endpoint": "lb-nats-tcp-monitoring", - "app_protocol": "HTTP" - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/nats/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "nats", - "username": "test_nats_client", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/neo4j/cypress/cypress.config.js b/.vib/neo4j/cypress/cypress.config.js deleted file mode 100644 index bee210515a931f..00000000000000 --- a/.vib/neo4j/cypress/cypress.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - pageLoadTimeout: 240000, - defaultCommandTimeout: 60000, - env: { - username: 'neo4j', - password: 'ComplicatedPassword123!4', - }, - hosts: { - 'bitnami-neo4j.my': '{{ TARGET_IP }}', - }, - e2e: { - setupNodeEvents(on, config) {}, - }, -} diff --git a/.vib/neo4j/cypress/cypress/e2e/neo4j.cy.js b/.vib/neo4j/cypress/cypress/e2e/neo4j.cy.js deleted file mode 100644 index dffb48de855970..00000000000000 --- a/.vib/neo4j/cypress/cypress/e2e/neo4j.cy.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows running the movie-graph test', () => { - cy.login(); - cy.get('div#monaco-main-editor').type(':play movie-graph{enter}'); - cy.wait(1000); - cy.get('button[data-testid="nextSlide"]').click(); - cy.wait(1000); - cy.get('pre[class*="runnable"]').click(); - cy.get('div#monaco-main-editor').type('{ctrl}{enter}'); - cy.get('g[class*="node"]'); -}); - -it('allows to create a user', () => { - cy.login(); - cy.fixture('users').then((users) => { - cy.get('div#monaco-main-editor').type(`CREATE USER ${users.newUser.username}${random} IF NOT EXISTS SET PLAINTEXT PASSWORD '${users.newUser.password}'{enter}`); - cy.contains('1 system update'); - cy.get('div#monaco-main-editor').type(`SHOW USERS{enter}`); - cy.contains('td', `${users.newUser.username}${random}`); - }); -}); diff --git a/.vib/neo4j/cypress/cypress/fixtures/users.json b/.vib/neo4j/cypress/cypress/fixtures/users.json deleted file mode 100644 index 2cea03c45a062e..00000000000000 --- a/.vib/neo4j/cypress/cypress/fixtures/users.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newUser": { - "username": "user", - "password": "someComplicatedPass12345!" - } -} diff --git a/.vib/neo4j/cypress/cypress/support/commands.js b/.vib/neo4j/cypress/cypress/support/commands.js deleted file mode 100644 index fdd50045a70281..00000000000000 --- a/.vib/neo4j/cypress/cypress/support/commands.js +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; -const BASE_URL = 'http://bitnami-neo4j.my'; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.overwrite('visit', (originalFn, url, options) => { - return originalFn(`${BASE_URL}${url}`, options); -}); - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.get('form').should('exist').and('be.visible'); // Needed to ensure stability of the test - cy.get('input[data-testid="username"]').type(username); - cy.get('input[type="password"]').type(password); - cy.contains('button', 'Connect').click(); - // This may take a while - cy.contains('You are connected as user', {timeout: 240000}); - } -); diff --git a/.vib/neo4j/cypress/cypress/support/e2e.js b/.vib/neo4j/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/neo4j/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/neo4j/cypress/cypress/support/utils.js b/.vib/neo4j/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/neo4j/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/neo4j/goss/goss.yaml b/.vib/neo4j/goss/goss.yaml deleted file mode 100644 index 103552a15f206f..00000000000000 --- a/.vib/neo4j/goss/goss.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://neo4j:{{ .Vars.service.ports.http }}: - status: 200 - body: - - /neo4j_version/ - https://neo4j:{{ .Vars.service.ports.https }}: - status: 200 - allow-insecure: true - body: - - /neo4j_version/ -addr: - tcp://neo4j:{{ .Vars.service.ports.bolt }}: - reachable: true - timeout: 500 -file: - /opt/bitnami/neo4j/conf/neo4j.conf: - mode: "0644" - filetype: file - exists: true - /opt/bitnami/neo4j/conf/apoc.conf: - mode: "0644" - filetype: file - exists: true diff --git a/.vib/neo4j/runtime-parameters.yaml b/.vib/neo4j/runtime-parameters.yaml deleted file mode 100644 index e4141564e022bf..00000000000000 --- a/.vib/neo4j/runtime-parameters.yaml +++ /dev/null @@ -1,24 +0,0 @@ -advertisedHost: bitnami-neo4j.my -auth: - password: ComplicatedPassword123!4 -tls: - https: - enabled: true - autoGenerated: true -containerPorts: - http: 7475 - https: 7476 - bolt: 7688 -service: - ports: - http: 80 - https: 8443 - bolt: 443 - type: LoadBalancer -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 - runAsGroup: 1002 diff --git a/.vib/neo4j/vib-publish.json b/.vib/neo4j/vib-publish.json deleted file mode 100644 index 8fd0aa9226f8a1..00000000000000 --- a/.vib/neo4j/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/neo4j" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/neo4j/vib-verify.json b/.vib/neo4j/vib-verify.json deleted file mode 100644 index 880669081fac92..00000000000000 --- a/.vib/neo4j/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/neo4j" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/neo4j" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "neo4j/goss/goss.yaml", - "vars_file": "neo4j/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-neo4j" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/neo4j/cypress" - }, - "endpoint": "lb-neo4j-http", - "app_protocol": "HTTP", - "env": { - "username": "neo4j", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/nessie/cypress/cypress.config.js b/.vib/nessie/cypress/cypress.config.js deleted file mode 100644 index 2d02e4533ed32e..00000000000000 --- a/.vib/nessie/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 90000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/nessie/cypress/cypress/e2e/nessie.cy.js b/.vib/nessie/cypress/cypress/e2e/nessie.cy.js deleted file mode 100644 index d13d1a5a632b40..00000000000000 --- a/.vib/nessie/cypress/cypress/e2e/nessie.cy.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -// This is a read-only UI, so we simply check the tag created in the init job -it('should find created tag', () => { - cy.visit('/') - cy.contains('a', 'main').click(); - cy.fixture('tags').then((tag) => { - cy.contains(tag.name); - }); -}) diff --git a/.vib/nessie/cypress/cypress/fixtures/tags.json b/.vib/nessie/cypress/cypress/fixtures/tags.json deleted file mode 100644 index 5b4ed2b878f675..00000000000000 --- a/.vib/nessie/cypress/cypress/fixtures/tags.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "vib_test" -} diff --git a/.vib/nessie/cypress/cypress/support/e2e.js b/.vib/nessie/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/nessie/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/nessie/ginkgo/go.mod b/.vib/nessie/ginkgo/go.mod deleted file mode 100644 index 05b6655ad71a8f..00000000000000 --- a/.vib/nessie/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-nessie-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/nessie/ginkgo/go.sum b/.vib/nessie/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/nessie/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/nessie/ginkgo/nessie_suite_test.go b/.vib/nessie/ginkgo/nessie_suite_test.go deleted file mode 100644 index fe42063f168cb1..00000000000000 --- a/.vib/nessie/ginkgo/nessie_suite_test.go +++ /dev/null @@ -1,80 +0,0 @@ -package nessie_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - - v1 "k8s.io/api/core/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - dplName string - namespace string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&dplName, "name", "", "name of the deployment") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.IntVar(&timeoutSeconds, "timeout", 500, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestNessie(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "nessie Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "nessie", - // TODO: Change image - Image: "docker.io/bitnami/nessie-utils:latest", - Command: []string{"java", "-jar", "/opt/bitnami/nessie-utils/nessie-cli/nessie-cli.jar", "-u", fmt.Sprintf("http://%s:%s/api/v2", dplName, port), "-c", stmt, "--non-ansi"}, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/nessie/ginkgo/nessie_test.go b/.vib/nessie/ginkgo/nessie_test.go deleted file mode 100644 index 5b63506ae8275a..00000000000000 --- a/.vib/nessie/ginkgo/nessie_test.go +++ /dev/null @@ -1,103 +0,0 @@ -package nessie_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("nessie", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and nessie is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - By("checking all the replicas are available") - getAvailableReplicas := func(dpl *appsv1.Deployment) int32 { return dpl.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - dpl, err := c.AppsV1().Deployments(namespace).Get(ctx, dplName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(dpl.Status.Replicas).NotTo(BeZero()) - origReplicas := *dpl.Spec.Replicas - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, dplName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, dplName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "http-server") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test tag") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - dplName, jobSuffix) - tagName := fmt.Sprintf("tag%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, fmt.Sprintf("CREATE TAG %s", tagName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("scaling down to 0 replicas") - - dpl, err = utils.DplScale(ctx, c, dpl, 0) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, dplName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, BeZero())) - - By("scaling up to the original replicas") - dpl, err = utils.DplScale(ctx, c, dpl, origReplicas) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*appsv1.Deployment, error) { - return c.AppsV1().Deployments(namespace).Get(ctx, dplName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - dplName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, fmt.Sprintf("DROP TAG %s;", tagName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/nessie/goss/goss.yaml b/.vib/nessie/goss/goss.yaml deleted file mode 100644 index 80d74310be7586..00000000000000 --- a/.vib/nessie/goss/goss.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://127.0.0.1:{{ .Vars.containerPorts.http }}/api/v2/trees: - status: 200 - body: - - /vib_test/ - http://127.0.0.1:{{ .Vars.containerPorts.management }}/q/metrics: - status: 200 - body: - - /nessie_storage_persist/ - http://nessie:{{ .Vars.service.server.ports.http }}/api/v2/trees: - status: 200 - body: - - /vib_test/ - http://nessie-management:{{ .Vars.service.management.ports.http }}/q/metrics: - status: 200 - body: - - /nessie_storage_persist/ - -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - check-configured-env-vars: - exec: env - exit-status: 0 - stdout: - - /QUARKUS_LOG_LEVEL.*{{ .Vars.configOverrides.quarkus.log.level }}/ - {{- if not .Vars.usePasswordFiles }} - # The secret configuration should be set via env - - /QUARKUS_LOG_FILE_LEVEL.*{{ .Vars.secretConfigOverrides.quarkus.log.file.level }}/ - {{- end }} - -{{- if .Vars.usePasswordFiles }} -# The secret configuration should be mounted as a file -file: - /bitnami/nessie/secrets/configuration/QUARKUS_LOG_FILE_LEVEL: - exists: true - filetype: symlink - contents: - - /{{ .Vars.secretConfigOverrides.quarkus.log.file.level }}/ -{{- end }} diff --git a/.vib/nessie/runtime-parameters.yaml b/.vib/nessie/runtime-parameters.yaml deleted file mode 100644 index 9853694d5b4204..00000000000000 --- a/.vib/nessie/runtime-parameters.yaml +++ /dev/null @@ -1,119 +0,0 @@ -postgresql: - auth: - password: ComplicatedPassword123!4 -podSecurityContext: - fsGroup: 1002 -containerSecurityContext: - runAsUser: 1002 -containerPorts: - http: 6555 - management: 8078 -usePasswordFiles: true -configOverrides: - quarkus: - log: - level: DEBUG -secretConfigOverrides: - quarkus: - log: - file: - level: WARN -replicaCount: 1 -service: - server: - type: LoadBalancer - ports: - http: 80 - management: - type: ClusterIP - ports: - http: 8312 -metrics: - enabled: true -extraDeploy: - - | - apiVersion: batch/v1 - kind: Job - metadata: - name: nessie-add-data - spec: - template: - spec: - restartPolicy: OnFailure - containers: - - name: nessie-job - image: docker.io/bitnami/nessie-utils:latest - command: - - /bin/bash - args: - - -ec - - | - #!/bin/bash - - set -o errexit - set -o nounset - set -o pipefail - - # Set the endpoint URL - host=nessie - port={{ .Values.service.server.ports.http }} - - retry_while() { - local -r cmd="${1:?cmd is missing}" - local -r retries="${2:-12}" - local -r sleep_time="${3:-5}" - local return_value=1 - - read -r -a command <<< "$cmd" - for ((i = 1 ; i <= retries ; i+=1 )); do - "${command[@]}" && return_value=0 && break - sleep "$sleep_time" - done - return $return_value - } - - nessie_ready() { - # Test the TCP connection with a timeout - if timeout 5 bash -c " /tmp/ready - echo "Waiting for the Nessie instance" - if ! retry_while "nessie_ready" 12 30; then - echo "Could not connect to the Nessie instance" - exit 1 - else - echo "Nessie ready! Running job" - java -jar /opt/bitnami/nessie-utils/nessie-cli/nessie-cli.jar -u http://$host:$port/api/v2 -c "CREATE TAG vib_test" --non-ansi - fi - startupProbe: - exec: - command: - - sh - - -c - - | - if [ $(cat /tmp/ready) = "1" ]; then - exit 0 - else - exit 1 - fi - initialDelaySeconds: 40 - periodSeconds: 20 - timeoutSeconds: 1 - failureThreshold: 15 - successThreshold: 1 - securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.containerSecurityContext "context" $) | nindent 12 }} - volumeMounts: - - name: tmp - mountPath: /tmp - subPath: tmp-dir - - name: tmp - mountPath: /.nessie - subPath: app-tmp-dir - volumes: - - name: tmp - emptyDir: {} diff --git a/.vib/nessie/vib-publish.json b/.vib/nessie/vib-publish.json deleted file mode 100644 index 8ff9e30974b2c0..00000000000000 --- a/.vib/nessie/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nessie" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/nessie/vib-verify.json b/.vib/nessie/vib-verify.json deleted file mode 100644 index 8458173f3b4a11..00000000000000 --- a/.vib/nessie/vib-verify.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nessie" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nessie" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "nessie/goss/goss.yaml", - "vars_file": "nessie/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-nessie" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/nessie/cypress" - }, - "endpoint": "lb-nessie-http-server", - "app_protocol": "HTTP" - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/nessie/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "nessie" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/nginx-ingress-controller/ginkgo/go.mod b/.vib/nginx-ingress-controller/ginkgo/go.mod deleted file mode 100644 index be46104724544d..00000000000000 --- a/.vib/nginx-ingress-controller/ginkgo/go.mod +++ /dev/null @@ -1,62 +0,0 @@ -module vib-tests - -go 1.23.0 - -toolchain go1.24.1 - -require ( - github.com/onsi/ginkgo/v2 v2.7.0 - github.com/onsi/gomega v1.24.1 - k8s.io/api v0.25.2 - k8s.io/apimachinery v0.25.2 - k8s.io/client-go v0.25.2 -) - -require ( - cloud.google.com/go v0.97.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.27 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.20 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.8.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.5.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.70.1 // indirect - k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 // indirect - k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed // indirect - sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect -) diff --git a/.vib/nginx-ingress-controller/ginkgo/go.sum b/.vib/nginx-ingress-controller/ginkgo/go.sum deleted file mode 100644 index f555aed89fe37c..00000000000000 --- a/.vib/nginx-ingress-controller/ginkgo/go.sum +++ /dev/null @@ -1,673 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0 h1:3DXvAyifywvq64LfkKaMOmkWPS1CikIQdMe2lY9vxU8= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= -github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8vthOeD4VlFRQULxahg= -github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/emicklei/go-restful/v3 v3.8.0 h1:eCZ8ulSerjdAiaNpF7GxXIE7ZCMo1moN1qX+S609eVw= -github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= -github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= -golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.25.2 h1:v6G8RyFcwf0HR5jQGIAYlvtRNrxMJQG1xJzaSeVnIS8= -k8s.io/api v0.25.2/go.mod h1:qP1Rn4sCVFwx/xIhe+we2cwBLTXNcheRyYXwajonhy0= -k8s.io/apimachinery v0.25.2 h1:WbxfAjCx+AeN8Ilp9joWnyJ6xu9OMeS/fsfjK/5zaQs= -k8s.io/apimachinery v0.25.2/go.mod h1:hqqA1X0bsgsxI6dXsJ4HnNTBOmJNxyPp8dw3u2fSHwA= -k8s.io/client-go v0.25.2 h1:SUPp9p5CwM0yXGQrwYurw9LWz+YtMwhWd0GqOsSiefo= -k8s.io/client-go v0.25.2/go.mod h1:i7cNU7N+yGQmJkewcRD2+Vuj4iz7b30kI8OcL3horQ4= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= -k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 h1:MQ8BAZPZlWk3S9K4a9NCkIFQtZShWqoha7snGixVgEA= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/.vib/nginx-ingress-controller/ginkgo/integration_suite_test.go b/.vib/nginx-ingress-controller/ginkgo/integration_suite_test.go deleted file mode 100644 index 2c071cd1b1fb04..00000000000000 --- a/.vib/nginx-ingress-controller/ginkgo/integration_suite_test.go +++ /dev/null @@ -1,221 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "bufio" - "context" - "flag" - "fmt" - "io" - "net/http" - "strconv" - "strings" - "testing" - "time" - - v1 "k8s.io/api/core/v1" - netv1 "k8s.io/api/networking/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - netcv1 "k8s.io/client-go/kubernetes/typed/networking/v1" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -const APP_NAME = "NGINX Ingress Controller" - -var kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") -var namespace = flag.String("namespace", "", "namespace where the resources are deployed") -var svcName = flag.String("service-name", "", "service name used to serve the dokuwiki deployment") -var svcPort = flag.String("service-port", "", "service port used to serve the dokuwiki deployment") - -func clusterConfigOrDie() *rest.Config { - var config *rest.Config - var err error - - if *kubeconfig != "" { - config, err = clientcmd.BuildConfigFromFlags("", *kubeconfig) - } else { - config, err = rest.InClusterConfig() - } - if err != nil { - panic(err.Error()) - } - - return config -} - -func createIngressOrDie(ctx context.Context, c netcv1.NetworkingV1Interface, name string, ingressRuleHost string) { - var ingressClassName string = "nginx" - var pathType netv1.PathType = "Prefix" - - i, err := strconv.ParseInt(*svcPort, 10, 32) - if err != nil { - panic(err) - } - portNumber := int32(i) - - ingressRuleValue := netv1.IngressRuleValue{ - HTTP: &netv1.HTTPIngressRuleValue{ - Paths: []netv1.HTTPIngressPath{ - { - Path: "/", - PathType: &pathType, - Backend: netv1.IngressBackend{ - Service: &netv1.IngressServiceBackend{ - Name: *svcName, - Port: netv1.ServiceBackendPort{ - Number: portNumber, - }, - }, - }, - }, - }, - }, - } - ingress := &netv1.Ingress{ - ObjectMeta: metav1.ObjectMeta{ - Namespace: *namespace, - Name: name, - }, - Spec: netv1.IngressSpec{ - IngressClassName: &ingressClassName, - Rules: []netv1.IngressRule{ - { - Host: ingressRuleHost, - IngressRuleValue: ingressRuleValue, - }, - }, - }, - } - - result, err := c.Ingresses(*namespace).Create(ctx, ingress, metav1.CreateOptions{}) - if err != nil { - panic(err.Error()) - } - fmt.Printf("Created ingress %q.\n", result.GetObjectMeta().GetName()) -} - -func getResponseBodyOrDie(ctx context.Context, address string) []string { - var output []string - var client http.Client - - resp, err := client.Get(address) - if err != nil { - panic(fmt.Sprintf("There was an error during the GET request: %q", err)) - } - defer resp.Body.Close() - - if resp.StatusCode == http.StatusOK { - scanner := bufio.NewScanner(interruptableReader{ctx, resp.Body}) - for scanner.Scan() { - output = append(output, scanner.Text()) - } - if scanner.Err() != nil { - panic(scanner.Err()) - } - } - return output -} - -func hasIPAssigned(ctx context.Context, c netcv1.NetworkingV1Interface, resourceName string) (bool, error) { - var err error - - ingress, err := c.Ingresses(*namespace).Get(ctx, resourceName, metav1.GetOptions{}) - - if ingress != nil && len(ingress.Status.LoadBalancer.Ingress) > 0 { - return true, err - } else { - return false, err - } -} - -func resolvesToDeployment(ctx context.Context, address string) (bool, error) { - var client http.Client - resp, err := client.Get(address) - if err != nil { - fmt.Printf("There was an error during the GET request: %q", err) - } - defer resp.Body.Close() - - if resp.StatusCode == http.StatusOK { - return true, err - } else { - return false, err - } -} - -func returnValidHost(ingress v1.LoadBalancerIngress) string { - if ingress.IP != "" { - return ingress.IP + ".nip.io" - } else if ingress.Hostname != "" { - return ingress.Hostname - } else { - panic("No valid host found for the provided ingress") - } -} - -func retry(name string, attempts int, sleep time.Duration, f func() (bool, error)) (res bool, err error) { - for i := 0; i < attempts; i++ { - fmt.Printf("[retriable] operation %q executing now [attempt %d/%d]\n", name, (i + 1), attempts) - res, err = f() - if res { - fmt.Printf("[retriable] operation %q succedeed [attempt %d/%d]\n", name, (i + 1), attempts) - return res, err - } - fmt.Printf("[retriable] operation %q failed, sleeping for %q now...\n", name, sleep) - time.Sleep(sleep) - } - fmt.Printf("[retriable] operation %q failed [attempt %d/%d]\n", name, attempts, attempts) - return res, err -} - -type interruptableReader struct { - ctx context.Context - r io.Reader -} - -func (r interruptableReader) Read(p []byte) (int, error) { - if err := r.ctx.Err(); err != nil { - return 0, err - } - n, err := r.r.Read(p) - if err != nil { - return n, err - } - return n, r.ctx.Err() -} - -func containsString(haystack []string, needle string) bool { - for _, s := range haystack { - if strings.Contains(s, needle) { - return true - } - } - return false -} - -func CheckRequirements() { - if *namespace == "" { - panic(fmt.Sprintf("The namespace where %s is deployed must be provided. Use the '--namespace' flag", APP_NAME)) - } - if *svcName == "" { - panic(fmt.Sprintln("The testing service name used to serve the dokuwiki deployment must be provided. Use the '--service-name' flag")) - } - if *svcPort == "" { - panic(fmt.Sprintln("The testing service port used to serve the dokuwiki deployment must be provided. Use the '--service-port' flag")) - } -} - -func TestIntegration(t *testing.T) { - RegisterFailHandler(Fail) - CheckRequirements() - RunSpecs(t, fmt.Sprintf("%s Integration Tests", APP_NAME)) -} diff --git a/.vib/nginx-ingress-controller/ginkgo/nginx_ingress_controller_test.go b/.vib/nginx-ingress-controller/ginkgo/nginx_ingress_controller_test.go deleted file mode 100644 index 149ea449d8a811..00000000000000 --- a/.vib/nginx-ingress-controller/ginkgo/nginx_ingress_controller_test.go +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "context" - "fmt" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - cv1 "k8s.io/client-go/kubernetes/typed/core/v1" - netcv1 "k8s.io/client-go/kubernetes/typed/networking/v1" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -var _ = Describe("NGINX Ingress Controller:", func() { - var netclient netcv1.NetworkingV1Interface - var coreclient cv1.CoreV1Interface - var ctx context.Context - - BeforeEach(func() { - netclient = netcv1.NewForConfigOrDie(clusterConfigOrDie()) - coreclient = cv1.NewForConfigOrDie(clusterConfigOrDie()) - ctx = context.Background() - }) - - When("a testing ingress resource is created", func() { - var ingressName, ingressHost string - var hasIP, resolves bool - - BeforeEach(func() { - nicSvc, err := coreclient.Services(*namespace).Get(ctx, "nginx-ingress-controller", metav1.GetOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error retrieving the nginx ingress controller service: %q", err)) - } - - ingressName = "vib-ing-test" - ingressHost = returnValidHost(nicSvc.Status.LoadBalancer.Ingress[0]) - createIngressOrDie(ctx, netclient, ingressName, ingressHost) - - // Once created, the controller has to assign an IP to the managed ingress - hasIP, err = retry("hasIPAssigned", 6, 20*time.Second, func() (bool, error) { - return hasIPAssigned(ctx, netclient, ingressName) - }) - if err != nil { - panic(fmt.Sprintf("There was an error checking whether the testing ingress had an IP assigned: %q", err)) - } - Expect(hasIP).To(BeTrue()) - - resolves, err = retry("resolvesToDeployment", 6, 20*time.Second, func() (bool, error) { - return resolvesToDeployment(ctx, "http://"+ingressHost) - }) - if err != nil { - panic(fmt.Sprintf("There was an error resolving the ingress host: %q", err)) - } - Expect(resolves).To(BeTrue()) - }) - - AfterEach(func() { - // Not need to panic here if failed, the cluster is expected to clean up with the undeployment - netclient.Ingresses(*namespace).Delete(ctx, ingressName, metav1.DeleteOptions{}) - }) - - It("the host resolves to the testing deployment", func() { - responseBody := getResponseBodyOrDie(ctx, "http://"+ingressHost) - Expect(containsString(responseBody, "dokuwiki")).To(BeTrue()) - }) - }) -}) diff --git a/.vib/nginx-ingress-controller/goss/goss.yaml b/.vib/nginx-ingress-controller/goss/goss.yaml deleted file mode 100644 index 26429ce7a8803e..00000000000000 --- a/.vib/nginx-ingress-controller/goss/goss.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://nginx-ingress-controller:{{ .Vars.service.ports.https }}: - status: 404 - allow-insecure: true -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - check-capabilities: - exec: capsh --print - exit-status: 0 - stdout: - - "Bounding set =cap_{{ index .Vars.containerSecurityContext.capabilities.add 0 | toLower }}" - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/nginx-ingress-controller/runtime-parameters.yaml b/.vib/nginx-ingress-controller/runtime-parameters.yaml deleted file mode 100644 index 78d118afbc7ea9..00000000000000 --- a/.vib/nginx-ingress-controller/runtime-parameters.yaml +++ /dev/null @@ -1,87 +0,0 @@ -containerPorts: - http: 8080 - https: 8443 -ingressClassResource: - name: nginx - enabled: true - default: false - controllerClass: k8s.io/ingress-nginx -kind: Deployment -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 - capabilities: - drop: [ALL] - add: [NET_BIND_SERVICE] -defaultBackend: - enabled: true - containerPort: 8080 - serverBlockConfig: |- - location /healthz { - return 200; - } - location / { - return 404; - } -service: - ports: - http: 80 - https: 444 - type: LoadBalancer -serviceAccount: - create: true -automountServiceAccountToken: true -rbac: - create: true -extraDeploy: -- apiVersion: apps/v1 - kind: Deployment - metadata: - labels: - app: dokuwiki - name: dokuwiki - spec: - replicas: 1 - selector: - matchLabels: - app: dokuwiki - template: - metadata: - labels: - app: dokuwiki - spec: - containers: - # Use the most recent Dokuwiki image available at https://hub.docker.com/r/bitnami/dokuwiki-archived/tags - - image: docker.io/bitnami/dokuwiki-archived@sha256:f7be2f151520663fcba4e431b7130f3a9594f08070b3f750526c93d9cd80a1c7 - name: dokuwiki - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" -- apiVersion: v1 - kind: Service - metadata: - labels: - app: dokuwiki - name: dokuwiki-vib - spec: - ports: - - port: 80 - protocol: TCP - targetPort: 8080 - name: http - - port: 443 - protocol: TCP - targetPort: 8443 - name: https - selector: - app: dokuwiki - sessionAffinity: None - type: ClusterIP diff --git a/.vib/nginx-ingress-controller/vib-action.config b/.vib/nginx-ingress-controller/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/nginx-ingress-controller/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/nginx-ingress-controller/vib-publish.json b/.vib/nginx-ingress-controller/vib-publish.json deleted file mode 100644 index 6bf7d9b7a88a46..00000000000000 --- a/.vib/nginx-ingress-controller/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nginx-ingress-controller" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/nginx-ingress-controller/vib-verify.json b/.vib/nginx-ingress-controller/vib-verify.json deleted file mode 100644 index 7c069fd01e0408..00000000000000 --- a/.vib/nginx-ingress-controller/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nginx-ingress-controller" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nginx-ingress-controller" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "nginx-ingress-controller/goss/goss.yaml", - "vars_file": "nginx-ingress-controller/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-nginx-ingress-controller" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/nginx-ingress-controller/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "service-name": "dokuwiki-vib", - "service-port": "80" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/nginx/cypress/cypress.config.js b/.vib/nginx/cypress/cypress.config.js deleted file mode 100644 index e36fc00336e10e..00000000000000 --- a/.vib/nginx/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/nginx/cypress/cypress/e2e/nginx.cy.js b/.vib/nginx/cypress/cypress/e2e/nginx.cy.js deleted file mode 100644 index 9f4241d49f36c9..00000000000000 --- a/.vib/nginx/cypress/cypress/e2e/nginx.cy.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('can access welcome page', () => { - cy.visit('/'); - cy.contains('Welcome to nginx'); -}); \ No newline at end of file diff --git a/.vib/nginx/cypress/cypress/support/e2e.js b/.vib/nginx/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/nginx/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/nginx/goss/goss.yaml b/.vib/nginx/goss/goss.yaml deleted file mode 100644 index e827720b3b9f16..00000000000000 --- a/.vib/nginx/goss/goss.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - https://nginx:{{ .Vars.service.ports.https }}: - status: 200 - allow-insecure: true -file: - /opt/bitnami/nginx/conf/nginx.conf: - exists: true - filetype: file - mode: "0644" - contents: - - /listen.*{{ .Vars.containerPorts.http }}/ -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/nginx/runtime-parameters.yaml b/.vib/nginx/runtime-parameters.yaml deleted file mode 100644 index b4cd9b3ec47d81..00000000000000 --- a/.vib/nginx/runtime-parameters.yaml +++ /dev/null @@ -1,17 +0,0 @@ -containerPorts: - http: 8081 - https: 8444 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - type: LoadBalancer - ports: - http: 80 - https: 444 -tls: - enabled: true - autoGenerated: true \ No newline at end of file diff --git a/.vib/nginx/vib-publish.json b/.vib/nginx/vib-publish.json deleted file mode 100644 index 84c69792b16646..00000000000000 --- a/.vib/nginx/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nginx" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/nginx/vib-verify.json b/.vib/nginx/vib-verify.json deleted file mode 100644 index 72c5ddf860395d..00000000000000 --- a/.vib/nginx/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nginx" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/nginx" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "nginx/goss/goss.yaml", - "vars_file": "nginx/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-nginx" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/nginx/cypress" - }, - "endpoint": "lb-nginx-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/node-exporter/cypress/cypress.config.js b/.vib/node-exporter/cypress/cypress.config.js deleted file mode 100644 index a3424865cf2e41..00000000000000 --- a/.vib/node-exporter/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/node-exporter/cypress/cypress/e2e/node_exporter.cy.js b/.vib/node-exporter/cypress/cypress/e2e/node_exporter.cy.js deleted file mode 100644 index a6b520aa157789..00000000000000 --- a/.vib/node-exporter/cypress/cypress/e2e/node_exporter.cy.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('can check cluster health', () => { - cy.request({ - method: 'GET', - url: '/metrics', - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body).to.contain('node_network_info gauge'); - }); -}); diff --git a/.vib/node-exporter/cypress/cypress/support/e2e.js b/.vib/node-exporter/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/node-exporter/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/node-exporter/goss/goss.yaml b/.vib/node-exporter/goss/goss.yaml deleted file mode 100644 index 5958ea1528aaf4..00000000000000 --- a/.vib/node-exporter/goss/goss.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /host/proc: - exists: true - filetype: directory - mode: "0555" - owner: root - /host/sys: - exists: true - filetype: directory - mode: "0555" - owner: root -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/node-exporter/runtime-parameters.yaml b/.vib/node-exporter/runtime-parameters.yaml deleted file mode 100644 index b51a6eaeb5f55d..00000000000000 --- a/.vib/node-exporter/runtime-parameters.yaml +++ /dev/null @@ -1,18 +0,0 @@ -rbac: - create: true - pspEnabled: true -serviceAccount: - create: true -automountServiceAccountToken: true -containerPorts: - metrics: 9101 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - ports: - metrics: 80 - type: LoadBalancer \ No newline at end of file diff --git a/.vib/node-exporter/vib-publish.json b/.vib/node-exporter/vib-publish.json deleted file mode 100644 index 6769d1a28e3892..00000000000000 --- a/.vib/node-exporter/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/node-exporter" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/node-exporter/vib-verify.json b/.vib/node-exporter/vib-verify.json deleted file mode 100644 index 0105b0554086a3..00000000000000 --- a/.vib/node-exporter/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/node-exporter" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/node-exporter" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "node-exporter/goss/goss.yaml", - "vars_file": "node-exporter/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "ds-node-exporter" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/node-exporter/cypress" - }, - "endpoint": "lb-node-exporter-metrics", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/oauth2-proxy/cypress/cypress.config.js b/.vib/oauth2-proxy/cypress/cypress.config.js deleted file mode 100644 index 5dbd9c9ff5a1cf..00000000000000 --- a/.vib/oauth2-proxy/cypress/cypress.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - chromeWebSecurity: false, - hosts: { - 'vmware-oauth2-proxy.my': '{{TARGET_IP}}', - }, - env: { - upstreamURL: '/bitnami/oauth2-proxy/conf/', - upstreamContent: 'oauth2_proxy.cfg', - dexPort: '5556', - }, - e2e: { - setupNodeEvents(on, config) {}, - }, -} diff --git a/.vib/oauth2-proxy/cypress/cypress/e2e/oauth2-proxy.cy.js b/.vib/oauth2-proxy/cypress/cypress/e2e/oauth2-proxy.cy.js deleted file mode 100644 index 51b5ae986d28b7..00000000000000 --- a/.vib/oauth2-proxy/cypress/cypress/e2e/oauth2-proxy.cy.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('allows to access auth-protected resource', () => { - // DEX is deployed at localhost:5556, which is not exposed. In order to prevent failed redirections - // to this port, direct interaction (e.g. clicking) is generally avoided. - - // OAuth2 - cy.safeRedirectVisit(`/oauth2/start?rd=${Cypress.env('upstreamURL')}`); - - // DEX UI - cy.contains('a', 'Log in with Example').invoke('attr', 'href').then((url) => { - cy.safeRedirectVisit(url); - }) - cy.contains('button', 'Grant Access').click(); - - // Back to OAuth2: Auth-protected resource - cy.contains(Cypress.env('upstreamContent')); -}); diff --git a/.vib/oauth2-proxy/cypress/cypress/support/commands.js b/.vib/oauth2-proxy/cypress/cypress/support/commands.js deleted file mode 100644 index 8ca4c4729b6962..00000000000000 --- a/.vib/oauth2-proxy/cypress/cypress/support/commands.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const BASE_URL = 'http://vmware-oauth2-proxy.my'; - -// DEX is deployed at localhost:5556/dex/, which is not exposed (only port 80 is). -// A proxy pass in localhost/dex/ is configured to allow communication with it, but -// the UI keeps referring to the original 5556 port. This command allows to access -// DEX using the proxy path instead of the port. -Cypress.Commands.add( - 'safeRedirectVisit', - (initialUrl, dexPort = Cypress.env('dexPort')) => { - cy.request({ - url: `${BASE_URL}${initialUrl}`, - followRedirect: false, - }).then((req) => { - const scopedRedirectedUrl = req.redirectedToUrl.replace( - `:${dexPort}`, - '' - ); - cy.visit(scopedRedirectedUrl); - }); - } -); \ No newline at end of file diff --git a/.vib/oauth2-proxy/cypress/cypress/support/e2e.js b/.vib/oauth2-proxy/cypress/cypress/support/e2e.js deleted file mode 100644 index 375aa1c3841856..00000000000000 --- a/.vib/oauth2-proxy/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') \ No newline at end of file diff --git a/.vib/oauth2-proxy/goss/goss.yaml b/.vib/oauth2-proxy/goss/goss.yaml deleted file mode 100644 index 0706c9a1055e62..00000000000000 --- a/.vib/oauth2-proxy/goss/goss.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://localhost:{{ .Vars.containerPort }}: - status: 403 -command: - check-redis-auth: - exec: \[ $OAUTH2_PROXY_REDIS_PASSWORD = {{ .Vars.redis.auth.password }} ] - exit-status: 0 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/oauth2-proxy/runtime-parameters.yaml b/.vib/oauth2-proxy/runtime-parameters.yaml deleted file mode 100644 index 110cc18b846fd4..00000000000000 --- a/.vib/oauth2-proxy/runtime-parameters.yaml +++ /dev/null @@ -1,89 +0,0 @@ -service: - type: LoadBalancer - port: 80 -configuration: - clientID: vib-dex-client - clientSecret: ZXhhbXBsZS1hcHAtc2VjcmV0 - cookieSecret: vib-tests-cookie - content: | - email_domains = [ "*" ] - provider = "oidc" - oidc_issuer_url = "http://vmware-oauth2-proxy.my:5556/dex" - redirect_url = "http://vmware-oauth2-proxy.my/oauth2/callback" - cookie_secure = false - skip_auth_routes = [ "^/dex/.*" ] - upstreams = [ "file:///bitnami/oauth2-proxy/conf/", "http://vmware-oauth2-proxy.my:5556/dex/" ] -containerPort: 4181 -hostAliases: - - ip: 127.0.0.1 - hostnames: - - vmware-oauth2-proxy.my -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -serviceAccount: - create: true -automountServiceAccountToken: true -redis: - enabled: true - auth: - enabled: true - password: oauth2-vib-password -sidecars: - - name: dex - image: bitnami/dex - args: [serve, /config/config.yaml] - ports: - - name: http - containerPort: 5556 - volumeMounts: - - name: dex-vib-config - mountPath: /config - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - -extraVolumes: - - name: dex-vib-config - configMap: - name: dex-vib-config -extraDeploy: - - apiVersion: v1 - kind: ConfigMap - metadata: - name: dex-vib-config - data: - config.yaml: |- - issuer: http://vmware-oauth2-proxy.my:5556/dex - storage: - type: sqlite3 - config: - file: /tmp/dex.db - web: - http: 0.0.0.0:5556 - frontend: - dir: /opt/bitnami/dex/web - staticClients: - - id: vib-dex-client - redirectURIs: - - "http://vmware-oauth2-proxy.my/oauth2/callback" - name: 'VIB-Dex' - secret: ZXhhbXBsZS1hcHAtc2VjcmV0 - connectors: - - type: mockCallback - id: mock - name: Example - enablePasswordDB: true - staticPasswords: - - email: "admin@example.com" - hash: "$2a$10$2b2cU8CPhOTaGrs1HRQuAueS7JTT5ZHsHSzYiFPm1leZck7Mc8T4W" - username: "admin" - userID: "08a8684b-db88-4b73-90a9-3cd1661f5466" diff --git a/.vib/oauth2-proxy/vib-publish.json b/.vib/oauth2-proxy/vib-publish.json deleted file mode 100644 index f71ee1cbea699c..00000000000000 --- a/.vib/oauth2-proxy/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/oauth2-proxy" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/oauth2-proxy/vib-verify.json b/.vib/oauth2-proxy/vib-verify.json deleted file mode 100644 index 3f78365320424b..00000000000000 --- a/.vib/oauth2-proxy/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/oauth2-proxy" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/oauth2-proxy" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "oauth2-proxy/goss/goss.yaml", - "vars_file": "oauth2-proxy/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-oauth2-proxy" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/oauth2-proxy/cypress" - }, - "endpoint": "lb-oauth2-proxy-http", - "app_protocol": "HTTP", - "env": { - "upstreamURL": "/bitnami/oauth2-proxy/conf/", - "upstreamContent": "oauth2_proxy.cfg", - "dexPort": "5556" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/odoo/cypress/cypress.config.js b/.vib/odoo/cypress/cypress.config.js deleted file mode 100644 index db3429f78f21f7..00000000000000 --- a/.vib/odoo/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - email: 'user@example.com', - password: 'ComplicatedPassword123!4', - }, - defaultCommandTimeout: 70000, - pageLoadTimeout: 150000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/odoo/cypress/cypress/e2e/odoo.cy.js b/.vib/odoo/cypress/cypress/e2e/odoo.cy.js deleted file mode 100644 index 38ad3306e8c3f1..00000000000000 --- a/.vib/odoo/cypress/cypress/e2e/odoo.cy.js +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows installing/uninstalling an application and inviting new users', () => { - cy.login(); - cy.get('[title="Home Menu"]').click(); - cy.contains('a', 'Apps').click(); - cy.get('[title="Sales"]').within(() => { - cy.get('button[name="button_immediate_install"]').click(); - }); - - // Wait some time so the plugin gets fully installed - cy.wait(180000); - cy.reload({timeout: 300000}); - - // Perform the second login only if the #login selector is visible - cy.get("body").then(($body) => { - if ($body.text().includes('Log in')) { - cy.login(); - } - }) - - cy.get('[title="Home Menu"]').click({ force: true }); - cy.visit('odoo/settings'); - cy.fixture('users').then((user) => { - cy.get('.o_user_emails').type(`${random}.${user.newUser.email}`); - cy.contains('button', 'Invite').click(); - cy.get('div[class*=invite_users]').within(() => { - cy.contains(`${random}.${user.newUser.email}`); - }); - }); - - cy.get('[title="Home Menu"]').click(); - cy.contains('a', 'Apps').click(); - cy.get('[role="searchbox"]').type('Invoicing {enter}'); - cy.contains('1-1'); - cy.contains('article', 'Invoicing').within(() => { - cy.get('button[class*="dropdown-toggle"]').click({ force: true }); - }); - cy.contains('Uninstall').click({ force: true }); - cy.get('[name*="uninstall"]').click(); - cy.reload({timeout: 300000}); - cy.get('[title="Home Menu"]').click({ force: true }); - cy.contains('a', 'Invoicing').should('not.exist'); -}); diff --git a/.vib/odoo/cypress/cypress/fixtures/users.json b/.vib/odoo/cypress/cypress/fixtures/users.json deleted file mode 100644 index 3afc785b0938ee..00000000000000 --- a/.vib/odoo/cypress/cypress/fixtures/users.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newUser": { - "email": "blackplanet@email.com" - } -} diff --git a/.vib/odoo/cypress/cypress/support/commands.js b/.vib/odoo/cypress/cypress/support/commands.js deleted file mode 100644 index 6c40f111b21a7a..00000000000000 --- a/.vib/odoo/cypress/cypress/support/commands.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('email'), password = Cypress.env('password')) => { - cy.visit('/', {timeout: 120000}); - cy.get('#login').type(username); - cy.get('#password').type(password); - cy.contains('button', 'Log in').click(); - } -); - -Cypress.on('uncaught:exception', (err, runnable, promise) => { - // when the exception originated from an unhandled promise - // rejection, the promise is provided as a third argument - // you can turn off failing the test in this case - if (promise) { - return false - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/odoo/cypress/cypress/support/e2e.js b/.vib/odoo/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/odoo/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/odoo/cypress/cypress/support/utils.js b/.vib/odoo/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/odoo/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/odoo/goss/goss.yaml b/.vib/odoo/goss/goss.yaml deleted file mode 100644 index 148f2a9a885b56..00000000000000 --- a/.vib/odoo/goss/goss.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/odoo: - exists: true - filetype: directory - mode: "2775" - owner: odoo - group: root - /opt/bitnami/odoo/conf/odoo.conf: - exists: true - filetype: file - mode: "0644" - owner: root - group: root - contents: - - "db_user = {{ .Vars.postgresql.auth.username }}" - - "http_port = {{ .Vars.containerPorts.http }}" diff --git a/.vib/odoo/runtime-parameters.yaml b/.vib/odoo/runtime-parameters.yaml deleted file mode 100644 index 82ca86d756f046..00000000000000 --- a/.vib/odoo/runtime-parameters.yaml +++ /dev/null @@ -1,11 +0,0 @@ -odooEmail: user@example.com -odooPassword: ComplicatedPassword123!4 -postgresql: - auth: - username: bn_odoo - password: 7dMxLfcqxN -service: - port: 80 - type: LoadBalancer -containerPorts: - http: 8069 \ No newline at end of file diff --git a/.vib/odoo/vib-publish.json b/.vib/odoo/vib-publish.json deleted file mode 100644 index c4bb51598000b0..00000000000000 --- a/.vib/odoo/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/odoo" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/odoo/vib-verify.json b/.vib/odoo/vib-verify.json deleted file mode 100644 index 2fd37633303525..00000000000000 --- a/.vib/odoo/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/odoo" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/odoo" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/odoo/cypress" - }, - "endpoint": "lb-odoo-http", - "app_protocol": "HTTP", - "env": { - "email": "user@example.com", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "odoo/goss/goss.yaml", - "vars_file": "odoo/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-odoo" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/opensearch/cypress/cypress.config.js b/.vib/opensearch/cypress/cypress.config.js deleted file mode 100644 index 54a1118781baae..00000000000000 --- a/.vib/opensearch/cypress/cypress.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - responseTimeout: 30000, - env: { - nodeNumber: 5, - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/opensearch/cypress/cypress/e2e/opensearch.cy.js b/.vib/opensearch/cypress/cypress/e2e/opensearch.cy.js deleted file mode 100644 index 5b73fe75e7f4bc..00000000000000 --- a/.vib/opensearch/cypress/cypress/e2e/opensearch.cy.js +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; -import body from '../fixtures/documents.json'; - -it('can check cluster health', () => { - cy.request({ - method: 'GET', - url: '/_cluster/health', - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.status).to.contain('green'); - expect(response.body.number_of_nodes).to.eq(Cypress.env('nodeNumber')); - }); -}); - -it('can index a search and retrieve it', () => { - cy.request({ - method: 'PUT', - url: 'favorite_candy' + random, - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.acknowledged).to.eq(true); - expect(response.body.shards_acknowledged).to.eq(true); - expect(response.body.index).to.eq(`favorite_candy${random}`); - }); - - cy.request({ - method: 'GET', - url: 'favorite_candy' + random, - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - }); -}); - -it('can index a document and retrieve it', () => { - cy.request({ - method: 'POST', - headers: { 'Content-Type': 'application/json; charset=utf-8' }, - url: `favorite_dj/_create/${random}`, - body: body, - }).then((response) => { - expect(response.status).to.eq(201); - expect(response.body._index).to.eq('favorite_dj'); - expect(response.body.result).to.eq('created'); - }); - - cy.request({ - method: 'GET', - url: 'favorite_dj/_source/' + random, - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.name).to.eq(body.name); - expect(response.body.origin).to.eq(body.origin); - }); -}); diff --git a/.vib/opensearch/cypress/cypress/fixtures/documents.json b/.vib/opensearch/cypress/cypress/fixtures/documents.json deleted file mode 100644 index 221930947d065f..00000000000000 --- a/.vib/opensearch/cypress/cypress/fixtures/documents.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Simon", - "origin": "Belfast, UK" -} diff --git a/.vib/opensearch/cypress/cypress/support/e2e.js b/.vib/opensearch/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/opensearch/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/opensearch/cypress/cypress/support/utils.js b/.vib/opensearch/cypress/cypress/support/utils.js deleted file mode 100644 index de2cd7ef4414a2..00000000000000 --- a/.vib/opensearch/cypress/cypress/support/utils.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.floor(Math.random() * 10000) + 10000) - .toString() - .substring(1); diff --git a/.vib/opensearch/ginkgo/go.mod b/.vib/opensearch/ginkgo/go.mod deleted file mode 100644 index 47909f96e40b13..00000000000000 --- a/.vib/opensearch/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-opensearch-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/opensearch/ginkgo/go.sum b/.vib/opensearch/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/opensearch/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/opensearch/ginkgo/opensearch_suite_test.go b/.vib/opensearch/ginkgo/opensearch_suite_test.go deleted file mode 100644 index 306100e99ad2c4..00000000000000 --- a/.vib/opensearch/ginkgo/opensearch_suite_test.go +++ /dev/null @@ -1,78 +0,0 @@ -package opensearch_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - releaseName string - namespace string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&releaseName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.IntVar(&timeoutSeconds, "timeout", 240, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestOpensearch(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Opensearch Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name string, port string, image string, op string, index string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "opensearch", - Image: image, - Command: []string{"curl", "-X", op, fmt.Sprintf("http://%s/%s", releaseName, index)}, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/opensearch/ginkgo/opensearch_test.go b/.vib/opensearch/ginkgo/opensearch_test.go deleted file mode 100644 index 6f3dd85caf0733..00000000000000 --- a/.vib/opensearch/ginkgo/opensearch_test.go +++ /dev/null @@ -1,104 +0,0 @@ -package opensearch_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Opensearch", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("an index is created and Opensearch is scaled down to 0 replicas and back up", func() { - It("should have access to the created index", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - By("checking all the replicas are available") - stsName := fmt.Sprintf("%s-data", releaseName) - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, releaseName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-rest-api") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "opensearch") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new index") - createDBJobName := fmt.Sprintf("%s-put-%s", - stsName, jobSuffix) - indexName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, "PUT", indexName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job check the index") - deleteDBJobName := fmt.Sprintf("%s-get-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, "GET", indexName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/opensearch/goss/goss.yaml b/.vib/opensearch/goss/goss.yaml deleted file mode 100644 index 0edd76d6dccb8d..00000000000000 --- a/.vib/opensearch/goss/goss.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: -/opt/bitnami/opensearch/config/opensearch.yml: - mode: "0644" - filetype: file - contents: - - /port.*{{ .Vars.containerPorts.transport }}/ - - /allow_nmap:.*false/ - exists: true -/bitnami/opensearch/data: - mode: "0644" - filetype: directory - exists: true -addr: - # Container ports - tcp://opensearch-dashboards:{{ .Vars.dashboards.service.ports.http }}: - reachable: true - timeout: 180000 -{{- if .Vars.master.containerSecurityContext.enabled }} -command: - check-no-capabilities: - exec: cat /proc/1/status - exit-status: 0 - stdout: - - "CapInh: 0000000000000000" - - "CapPrm: 0000000000000000" - - "CapEff: 0000000000000000" - - "CapBnd: 0000000000000000" - - "CapAmb: 0000000000000000" -{{- end }} diff --git a/.vib/opensearch/runtime-parameters.yaml b/.vib/opensearch/runtime-parameters.yaml deleted file mode 100644 index 8d0ed57644531a..00000000000000 --- a/.vib/opensearch/runtime-parameters.yaml +++ /dev/null @@ -1,33 +0,0 @@ -master: - replicaCount: 1 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 -coordinating: - replicaCount: 1 -data: - replicaCount: 2 -ingest: - enabled: true - replicaCount: 1 -service: - type: LoadBalancer - ports: - restAPI: 80 - transport: 9300 -sysctlImage: - enabled: true -containerPorts: - transport: 9300 -dashboards: - enabled: true - service: - ports: - http: 5605 -extraConfig: - node: - store: - allow_mmap: false diff --git a/.vib/opensearch/vib-action.config b/.vib/opensearch/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/opensearch/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/opensearch/vib-publish.json b/.vib/opensearch/vib-publish.json deleted file mode 100644 index d0b2466c0c9b4b..00000000000000 --- a/.vib/opensearch/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/opensearch" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/opensearch/vib-verify.json b/.vib/opensearch/vib-verify.json deleted file mode 100644 index 8ad8ae9bec2c9f..00000000000000 --- a/.vib/opensearch/vib-verify.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/opensearch" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/opensearch" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "opensearch/goss/goss.yaml", - "vars_file": "opensearch/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-opensearch-master" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/opensearch/cypress" - }, - "endpoint": "lb-opensearch-tcp-rest-api", - "app_protocol": "HTTP" - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/opensearch/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "opensearch" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/parse/cypress/cypress.config.js b/.vib/parse/cypress/cypress.config.js deleted file mode 100644 index e5c233b55bb162..00000000000000 --- a/.vib/parse/cypress/cypress.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - env: { - appId: 'testApp', - masterKey: 'M4ster#K3y', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/parse/cypress/cypress/e2e/parse.cy.js b/.vib/parse/cypress/cypress/e2e/parse.cy.js deleted file mode 100644 index c80e2c4cf6d76f..00000000000000 --- a/.vib/parse/cypress/cypress/e2e/parse.cy.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; -import highScoreStats from '../fixtures/high_score_stats.json'; - -it('allows store and retrieve a new object', () => { - const NEW_CLASS_NAME = `BitnamiClass${random}`; - const AUTH_HEADERS = { - 'X-Parse-Application-Id': Cypress.env('appId'), - 'X-Parse-Master-Key': Cypress.env('masterKey'), - }; - - cy.request({ - method: 'POST', - url: `/parse/classes/${NEW_CLASS_NAME}`, - headers: AUTH_HEADERS, - body: highScoreStats, - }).then((response) => { - expect(response.status).to.eq(201); - expect(response.body).to.include.keys(['objectId']); - - cy.request({ - method: 'GET', - url: `/parse/classes/${NEW_CLASS_NAME}/${response.body.objectId}`, - headers: AUTH_HEADERS, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body).to.contain(highScoreStats); - }); - }); -}); diff --git a/.vib/parse/cypress/cypress/fixtures/high_score_stats.json b/.vib/parse/cypress/cypress/fixtures/high_score_stats.json deleted file mode 100644 index f064b5b3b56278..00000000000000 --- a/.vib/parse/cypress/cypress/fixtures/high_score_stats.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "playerName": "CharliP", - "score": "1997" -} diff --git a/.vib/parse/cypress/cypress/support/e2e.js b/.vib/parse/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/parse/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/parse/cypress/cypress/support/utils.js b/.vib/parse/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/parse/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/parse/goss/dashboard/goss.yaml b/.vib/parse/goss/dashboard/goss.yaml deleted file mode 100644 index 65f04f6301c93b..00000000000000 --- a/.vib/parse/goss/dashboard/goss.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/parse-dashboard: - exists: true - filetype: directory - mode: "2777" - owner: root - /opt/bitnami/parse-dashboard/config.json: - exists: true - filetype: file - mode: "0644" - contents: - - /masterKey.*{{ .Vars.server.masterKey }}/ - - /user.*{{ .Vars.dashboard.username }}/ - - /pass.*{{ .Vars.dashboard.password }}/ -command: - {{- $uid := .Vars.dashboard.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.dashboard.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.dashboard.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*parse-server/ - {{ end }} diff --git a/.vib/parse/goss/server/goss.yaml b/.vib/parse/goss/server/goss.yaml deleted file mode 100644 index e854fa3180dd59..00000000000000 --- a/.vib/parse/goss/server/goss.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/parse: - exists: true - filetype: directory - mode: "2775" - owner: root - /opt/bitnami/parse/config.json: - exists: true - filetype: file - mode: "0644" - contents: - - /port.*{{ .Vars.server.containerPorts.http }}/ - - /database.*{{ .Vars.mongodb.auth.username }}.*{{ .Vars.mongodb.auth.password }}.*{{ .Vars.mongodb.auth.database }}/ -command: - {{- $uid := .Vars.server.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.server.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.server.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/parse/runtime-parameters.yaml b/.vib/parse/runtime-parameters.yaml deleted file mode 100644 index ba4cf307bbc703..00000000000000 --- a/.vib/parse/runtime-parameters.yaml +++ /dev/null @@ -1,44 +0,0 @@ -server: - host: parse.local - appId: testApp - masterKey: M4ster#K3y - automountServiceAccountToken: true - service: - type: LoadBalancer - ports: - http: 80 - containerPorts: - http: 1338 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 -dashboard: - enabled: true - automountServiceAccountToken: true - containerPorts: - http: 4040 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - username: parseUser - password: ComplicatedPassword123!4 - appName: ChickenGame - service: - type: LoadBalancer - ports: - http: 80 -serviceAccount: - create: true -mongodb: - enabled: true - auth: - enabled: true - username: bn_test_parse - password: M0ngoP4ss - database: bitnami_parse diff --git a/.vib/parse/vib-publish.json b/.vib/parse/vib-publish.json deleted file mode 100644 index 5ee06942338b72..00000000000000 --- a/.vib/parse/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/parse" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/parse/vib-verify.json b/.vib/parse/vib-verify.json deleted file mode 100644 index 49b8057a8712ea..00000000000000 --- a/.vib/parse/vib-verify.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/parse" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/parse" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "parse/goss/server/goss.yaml", - "vars_file": "parse/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-parse-server" - } - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "parse/goss/dashboard/goss.yaml", - "vars_file": "parse/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-parse-dashboard" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/parse/cypress" - }, - "endpoint": "lb-parse-http-server", - "app_protocol": "HTTP", - "env": { - "appId": "testApp", - "masterKey": "M4ster#K3y" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/phpmyadmin/cypress/cypress.config.js b/.vib/phpmyadmin/cypress/cypress.config.js deleted file mode 100644 index ebdd000ba737f1..00000000000000 --- a/.vib/phpmyadmin/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - username: 'root', - password: 'rootPassword', - }, - defaultCommandTimeout: 30000, - pageLoadTimeout: 240000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/phpmyadmin/cypress/cypress/e2e/phpmyadmin.cy.js b/.vib/phpmyadmin/cypress/cypress/e2e/phpmyadmin.cy.js deleted file mode 100644 index 87321f919ef8b9..00000000000000 --- a/.vib/phpmyadmin/cypress/cypress/e2e/phpmyadmin.cy.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows creating a database and a table', () => { - cy.login(); - cy.visit('/index.php?route=/server/databases'); - cy.fixture('testdata').then((td) => { - cy.get('#text_create_db').type(`${td.databaseName}.${random}`, { - force: true, - }); - cy.contains('input', 'Create').click({ force: true }); - cy.get('[name="table"]').type(`${td.tableName}.${random}`); - cy.get('[name="num_fields"]').clear().type(td.columnNumber); - cy.get('[type="submit"]').click(); - cy.get('#field_0_1').type(`${td.columnName}.${random}`); - cy.get('.btn-primary').click(); - cy.visit('/index.php'); - cy.contains(`${td.databaseName}.${random}`).scrollIntoView().click({force: true}); - cy.contains(`${td.tableName}.${random}`).click({force: true}); - cy.contains('.table-responsive-md', `${td.columnName}.${random}`); - }); -}); - diff --git a/.vib/phpmyadmin/cypress/cypress/fixtures/testdata.json b/.vib/phpmyadmin/cypress/cypress/fixtures/testdata.json deleted file mode 100644 index 9b2cf8e14e67dc..00000000000000 --- a/.vib/phpmyadmin/cypress/cypress/fixtures/testdata.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "databaseName": "testDatabaseName", - "tableName":"testTableName", - "columnNumber":"1", - "columnName":"columnName", - "username":"test_user", - "password":"test_password", - "importedDatabaseName":"authors" -} diff --git a/.vib/phpmyadmin/cypress/cypress/support/commands.js b/.vib/phpmyadmin/cypress/cypress/support/commands.js deleted file mode 100644 index d37ea510e29e5c..00000000000000 --- a/.vib/phpmyadmin/cypress/cypress/support/commands.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.contains('Log in', {timeout: 60000}); - cy.get('#input_username').type(username); - cy.get('#input_password').type(password); - cy.contains('input', 'Log in').click(); - } -); diff --git a/.vib/phpmyadmin/cypress/cypress/support/e2e.js b/.vib/phpmyadmin/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/phpmyadmin/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/phpmyadmin/cypress/cypress/support/utils.js b/.vib/phpmyadmin/cypress/cypress/support/utils.js deleted file mode 100644 index cbf49aec553d05..00000000000000 --- a/.vib/phpmyadmin/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(9); diff --git a/.vib/phpmyadmin/goss/goss.yaml b/.vib/phpmyadmin/goss/goss.yaml deleted file mode 100644 index 30a5073d075a66..00000000000000 --- a/.vib/phpmyadmin/goss/goss.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /etc/hosts: - exists: true - filetype: file - contents: - {{ range .Vars.hostAliases }} - {{ $ip := .ip }} - {{ range $host := .hostnames }} - - /{{ $ip }}.*{{ $host }}/ - {{ end }} - {{ end }} -http: - https://phpmyadmin:{{ .Vars.service.ports.https }}: - status: 200 - allow-insecure: true -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/phpmyadmin/runtime-parameters.yaml b/.vib/phpmyadmin/runtime-parameters.yaml deleted file mode 100644 index 13fba24dd8b4c1..00000000000000 --- a/.vib/phpmyadmin/runtime-parameters.yaml +++ /dev/null @@ -1,23 +0,0 @@ -hostAliases: - - ip: 127.0.0.1 - hostnames: - - status.testhost -containerSecurityContext: - enabled: true - runAsUser: 1002 -podSecurityContext: - fsGroup: 1002 - enabled: true -service: - type: LoadBalancer - ports: - http: 80 - https: 444 -db: - host: mariadb - allowArbitraryServer: true - port: 3306 - bundleTestDB: true -mariadb: - auth: - rootPassword: rootPassword \ No newline at end of file diff --git a/.vib/phpmyadmin/vib-publish.json b/.vib/phpmyadmin/vib-publish.json deleted file mode 100644 index 74472301cdc361..00000000000000 --- a/.vib/phpmyadmin/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/phpmyadmin" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/phpmyadmin/vib-verify.json b/.vib/phpmyadmin/vib-verify.json deleted file mode 100644 index ffbd5cdc8f9f53..00000000000000 --- a/.vib/phpmyadmin/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/phpmyadmin" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/phpmyadmin" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "phpmyadmin/goss/goss.yaml", - "vars_file": "phpmyadmin/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-phpmyadmin" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/phpmyadmin/cypress" - }, - "endpoint": "lb-phpmyadmin-http", - "app_protocol": "HTTP", - "env": { - "username": "root", - "password": "rootPassword" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/pinniped/ginkgo/go.mod b/.vib/pinniped/ginkgo/go.mod deleted file mode 100644 index e74ad2e2c2d6a6..00000000000000 --- a/.vib/pinniped/ginkgo/go.mod +++ /dev/null @@ -1,60 +0,0 @@ -module vib-tests - -go 1.23.0 - -toolchain go1.24.1 - -require ( - github.com/onsi/ginkgo/v2 v2.7.0 - github.com/onsi/gomega v1.24.1 - k8s.io/api v0.25.4 - k8s.io/apimachinery v0.25.4 - k8s.io/client-go v0.25.4 -) - -require ( - cloud.google.com/go/compute v1.7.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.27 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.20 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.8.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.20.0 // indirect - github.com/go-openapi/swag v0.21.1 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.5.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.6.9 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/imdario/mergo v0.3.13 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.0.0-20220411224347-583f2d630306 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.80.1 // indirect - k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea // indirect - k8s.io/utils v0.0.0-20220922133306-665eaaec4324 // indirect - sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/pinniped/ginkgo/go.sum b/.vib/pinniped/ginkgo/go.sum deleted file mode 100644 index 66b2010cf8ab9f..00000000000000 --- a/.vib/pinniped/ginkgo/go.sum +++ /dev/null @@ -1,771 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= -github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8vthOeD4VlFRQULxahg= -github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/emicklei/go-restful/v3 v3.8.0 h1:eCZ8ulSerjdAiaNpF7GxXIE7ZCMo1moN1qX+S609eVw= -github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= -github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= -github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= -github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= -github.com/google/gnostic v0.6.9/go.mod h1:Nm8234We1lq6iB9OmlgNv3nH91XLLVZHCDayfA3xq+E= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220411224347-583f2d630306 h1:+gHMid33q6pen7kv9xvT+JRinntgeXO2AeZVd0AWD3w= -golang.org/x/time v0.0.0-20220411224347-583f2d630306/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.25.4 h1:3YO8J4RtmG7elEgaWMb4HgmpS2CfY1QlaOz9nwB+ZSs= -k8s.io/api v0.25.4/go.mod h1:IG2+RzyPQLllQxnhzD8KQNEu4c4YvyDTpSMztf4A0OQ= -k8s.io/apimachinery v0.25.4 h1:CtXsuaitMESSu339tfhVXhQrPET+EiWnIY1rcurKnAc= -k8s.io/apimachinery v0.25.4/go.mod h1:jaF9C/iPNM1FuLl7Zuy5b9v+n35HGSh6AQ4HYRkCqwo= -k8s.io/client-go v0.25.4 h1:3RNRDffAkNU56M/a7gUfXaEzdhZlYhoW8dgViGy5fn8= -k8s.io/client-go v0.25.4/go.mod h1:8trHCAC83XKY0wsBIpbirZU4NTUpbuhc2JnI7OruGZw= -k8s.io/klog/v2 v2.80.1 h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4= -k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea h1:3QOH5+2fGsY8e1qf+GIFpg+zw/JGNrgyZRQR7/m6uWg= -k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20220922133306-665eaaec4324 h1:i+xdFemcSNuJvIfBlaYuXgRondKxK4z4prVPKzEaelI= -k8s.io/utils v0.0.0-20220922133306-665eaaec4324/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/pinniped/ginkgo/integration_suite_test.go b/.vib/pinniped/ginkgo/integration_suite_test.go deleted file mode 100644 index 4930b584e079d4..00000000000000 --- a/.vib/pinniped/ginkgo/integration_suite_test.go +++ /dev/null @@ -1,220 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "bufio" - "context" - b64 "encoding/base64" - "flag" - "fmt" - "io" - "math/rand" - "os" - "regexp" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - cv1 "k8s.io/client-go/kubernetes/typed/core/v1" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - - // For client auth plugins - - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -const APP_NAME = "Pinniped" - -var kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") -var namespace = flag.String("namespace", "", "namespace where the resources are deployed") -var authUser = flag.String("auth-user", "", "LDAP username used to login") -var authPassword = flag.String("auth-password", "", "LDAP password used to login") - -func clusterConfigOrDie() *rest.Config { - var config *rest.Config - var err error - - if *kubeconfig != "" { - config, err = clientcmd.BuildConfigFromFlags("", *kubeconfig) - } else { - config, err = rest.InClusterConfig() - } - if err != nil { - panic(err.Error()) - } - - return config -} - -func createTestingPodOrDie(ctx context.Context, c cv1.PodsGetter) *v1.Pod { - kubeconfigContent, _ := os.ReadFile(*kubeconfig) - scriptContent, _ := os.ReadFile("./scripts/pinniped-auth.sh") - - podData := &v1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Namespace: *namespace, - Name: "vib-cli-" + fmt.Sprint(rand.Intn(100)), - Labels: map[string]string{ - "app": "vib-cli", - }, - }, - Spec: v1.PodSpec{ - Containers: []v1.Container{ - { - Name: "vib-cli", - Image: "docker.io/bitnami/pinniped-cli", - WorkingDir: "/tmp", - Command: []string{ - "/bin/bash", "-c", "printenv PINNIPED_SCRIPT | base64 -d > pinniped-script.sh && chmod +x pinniped-script.sh && ./pinniped-script.sh && sleep infinity"}, - Env: []v1.EnvVar{ - { - Name: "KUBECONFIG", - Value: fmt.Sprint(b64.StdEncoding.EncodeToString([]byte(kubeconfigContent))), - }, - { - Name: "PINNIPED_SCRIPT", - Value: fmt.Sprint(b64.StdEncoding.EncodeToString([]byte(scriptContent))), - }, - { - Name: "PINNIPED_USERNAME", - Value: *authUser, - }, - { - Name: "PINNIPED_PASSWORD", - Value: *authPassword, - }, - }, - }, - }, - }, - } - result, err := c.Pods(*namespace).Create(ctx, podData, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the Pod: %s", err)) - } - return result -} - -func isPodRunning(ctx context.Context, c cv1.PodsGetter, podName string) (bool, error) { - pod, err := c.Pods(*namespace).Get(ctx, podName, metav1.GetOptions{}) - if err != nil { - fmt.Printf("There was an error obtaining the Pod %q", podName) - return false, err - } - if pod.Status.Phase == "Running" { - return true, nil - } else { - return false, nil - } -} - -func getPodsByLabelOrDie(ctx context.Context, c cv1.PodsGetter, selector string) v1.PodList { - output, err := c.Pods(*namespace).List(ctx, metav1.ListOptions{ - LabelSelector: selector, - }) - if err != nil { - panic(err.Error()) - } - fmt.Printf("Obtained list of pods with label %q\n", selector) - - return *output -} - -func getContainerLogsOrDie(ctx context.Context, c cv1.PodsGetter, podName string, containerName string) []string { - var output []string - tailLines := int64(100) - - readCloser, err := c.Pods(*namespace).GetLogs(podName, &v1.PodLogOptions{ - Container: containerName, - Follow: false, - TailLines: &tailLines, - }).Stream(ctx) - if err != nil { - panic(err.Error()) - } - fmt.Printf("Obtained %q pod's logs\n", podName) - - defer readCloser.Close() - - scanner := bufio.NewScanner(interruptableReader{ctx, readCloser}) - for scanner.Scan() { - output = append(output, scanner.Text()) - } - if scanner.Err() != nil { - panic(scanner.Err()) - } - return output -} - -func containerLogsContainPattern(ctx context.Context, c cv1.PodsGetter, podName string, containerName string, pattern string) (bool, error) { - containerLogs := getContainerLogsOrDie(ctx, c, podName, containerName) - return containsPattern(containerLogs, pattern) -} - -func retry(name string, attempts int, sleep time.Duration, f func() (bool, error)) (res bool, err error) { - for i := 0; i < attempts; i++ { - fmt.Printf("[retriable] operation %q executing now [attempt %d/%d]\n", name, (i + 1), attempts) - res, err = f() - if res { - fmt.Printf("[retriable] operation %q succedeed [attempt %d/%d]\n", name, (i + 1), attempts) - return res, err - } - fmt.Printf("[retriable] operation %q failed, sleeping for %q now...\n", name, sleep) - time.Sleep(sleep) - } - fmt.Printf("[retriable] operation %q failed [attempt %d/%d]\n", name, attempts, attempts) - return res, err -} - -type interruptableReader struct { - ctx context.Context - r io.Reader -} - -func (r interruptableReader) Read(p []byte) (int, error) { - if err := r.ctx.Err(); err != nil { - return 0, err - } - n, err := r.r.Read(p) - if err != nil { - return n, err - } - return n, r.ctx.Err() -} - -func containsPattern(haystack []string, pattern string) (bool, error) { - var err error - - for _, s := range haystack { - match, err := regexp.MatchString(pattern, s) - if match { - return true, err - } - } - return false, err -} - -func CheckRequirements() { - if *namespace == "" { - panic(fmt.Sprintf("The namespace where %s is deployed must be provided. Use the '--namespace' flag", APP_NAME)) - } - if *authUser == "" { - panic("The LDAP username used to login must be provided. Use the '--auth-user' flag") - } - if *authPassword == "" { - panic("The LDAP password used to login must be provided. Use the '--auth-password' flag") - } -} - -func TestIntegration(t *testing.T) { - RegisterFailHandler(Fail) - CheckRequirements() - RunSpecs(t, fmt.Sprintf("%s Integration Tests", APP_NAME)) -} diff --git a/.vib/pinniped/ginkgo/pinniped_test.go b/.vib/pinniped/ginkgo/pinniped_test.go deleted file mode 100644 index 99f075b21c0823..00000000000000 --- a/.vib/pinniped/ginkgo/pinniped_test.go +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - - // For client auth plugins - - "context" - "fmt" - "time" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - cv1 "k8s.io/client-go/kubernetes/typed/core/v1" - - _ "k8s.io/client-go/plugin/pkg/client/auth" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" -) - -var _ = Describe("Pinniped:", func() { - var coreclient cv1.CoreV1Interface - var ctx context.Context - - BeforeEach(func() { - coreclient = cv1.NewForConfigOrDie(clusterConfigOrDie()) - ctx = context.Background() - }) - - When("a testing pod is created", func() { - var testingPod *v1.Pod - - BeforeEach(func() { - testingPod = createTestingPodOrDie(ctx, coreclient) - - // We need to make sure the pod is out of the "ContainerCreating" phase - // to avoid errors when checking its logs - isPodRunning, err := retry("isPodRunning", 5, 3*time.Second, func() (bool, error) { - return isPodRunning(ctx, coreclient, testingPod.GetName()) - }) - if err != nil { - panic(err.Error()) - } - Expect(isPodRunning).To(BeTrue()) - }) - - AfterEach(func() { - // Not need to panic here if failed, the cluster is expected to clean up with the undeployment - coreclient.Pods(*namespace).Delete(ctx, testingPod.GetName(), metav1.DeleteOptions{}) - }) - - Describe("the logs show that", func() { - var cliLogs []string - - BeforeEach(func() { - pattern := "Script finished correctly" - - patternFound, err := retry("containerLogsContainPattern", 5, 5*time.Second, func() (bool, error) { - return containerLogsContainPattern(ctx, coreclient, testingPod.GetName(), "vib-cli", pattern) - }) - if err != nil { - panic(err.Error()) - } - cliPods := getPodsByLabelOrDie(ctx, coreclient, "app=vib-cli") - cliLogs = getContainerLogsOrDie(ctx, coreclient, cliPods.Items[0].GetName(), "vib-cli") - - // Debug code left as is, given configuration complexity - if !patternFound { - fmt.Println("##### CLI LOGS: #####") - fmt.Println(cliLogs) - fmt.Println("###############") - - openldapPods := getPodsByLabelOrDie(ctx, coreclient, "app=openldap") - openldapLogs := getContainerLogsOrDie(ctx, coreclient, openldapPods.Items[0].GetName(), "openldap") - fmt.Println("##### OPENLDAP LOGS: #####") - fmt.Println(openldapLogs) - fmt.Println("###############") - - supervisorPods := getPodsByLabelOrDie(ctx, coreclient, "app.kubernetes.io/component=supervisor") - supervisorLogs := getContainerLogsOrDie(ctx, coreclient, supervisorPods.Items[0].GetName(), "supervisor") - fmt.Println("##### SUPERVISOR LOGS: #####") - fmt.Println(supervisorLogs) - fmt.Println("###############") - } - Expect(patternFound).To(BeTrue()) - }) - - It("the script was executed entirely", func() { - patternFound, _ := containsPattern(cliLogs, "Script finished correctly") - if !patternFound { - fmt.Println("##### CLI LOGS: #####") - fmt.Println(cliLogs) - fmt.Println("###############") - } - Expect(patternFound).To(BeTrue()) - }) - - It("the pinniped cli produced the kubeconfig", func() { - patternFound, _ := containsPattern(cliLogs, "connection to the cluster") - if !patternFound { - fmt.Println("##### CLI LOGS: #####") - fmt.Println(cliLogs) - fmt.Println("###############") - } - Expect(patternFound).To(BeTrue()) - }) - - It("the pinniped cli configured the cluster auth", func() { - patternFound, _ := containsPattern(cliLogs, "Username: "+*authUser) - if !patternFound { - fmt.Println("##### CLI LOGS: #####") - fmt.Println(cliLogs) - fmt.Println("###############") - } - Expect(patternFound).To(BeTrue()) - }) - }) - }) -}) diff --git a/.vib/pinniped/ginkgo/scripts/pinniped-auth.sh b/.vib/pinniped/ginkgo/scripts/pinniped-auth.sh deleted file mode 100644 index 5f3a497a250cd7..00000000000000 --- a/.vib/pinniped/ginkgo/scripts/pinniped-auth.sh +++ /dev/null @@ -1,9 +0,0 @@ -#/bin/bash -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -# Run pinniped cli to obtain custom kubeconfig and auth into the cluster -pinniped get kubeconfig --concierge-mode ImpersonationProxy --kubeconfig=<(echo $KUBECONFIG | base64 -d | sed "s%server:.*%server: https://${KUBERNETES_SERVICE_HOST}%g") > pinniped-config.yaml -pinniped whoami --kubeconfig=pinniped-config.yaml - -echo 'Script finished correctly' diff --git a/.vib/pinniped/runtime-parameters.yaml b/.vib/pinniped/runtime-parameters.yaml deleted file mode 100644 index b1740c3550ab9b..00000000000000 --- a/.vib/pinniped/runtime-parameters.yaml +++ /dev/null @@ -1,193 +0,0 @@ -supervisor: - enabled: true - rbac: - create: true - extraVolumes: - - name: tls - secret: - secretName: pinniped-supervisor-default-tls-certificate - service: - public: - type: LoadBalancer - ports: - https: 443 -concierge: - enabled: true - rbac: - create: true - credentialIssuerConfig: | - impersonationProxy: - mode: enabled - service: - type: LoadBalancer - annotations: - service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "4000" -extraDeploy: -- | - {{- $ca := genCA "pinniped-ca" 365 }} - {{- $pinniped_hostname := include "pinniped.supervisor.fullname" . }} - {{- $pinniped_cert := genSignedCert $pinniped_hostname nil (list $pinniped_hostname) 365 $ca }} - apiVersion: v1 - kind: Secret - metadata: - name: {{ printf "%s-%s" (include "pinniped.supervisor.fullname" .) "default-tls-certificate" | trunc 63 | trimSuffix "-" }} - namespace: {{ include "common.names.namespace" $ | quote }} - type: kubernetes.io/tls - data: - tls.crt: {{ $pinniped_cert.Cert | b64enc | quote }} - tls.key: {{ $pinniped_cert.Key | b64enc | quote }} - ca.crt: {{ $ca.Cert | b64enc | quote }} - --- - {{- $openldap_hostname := (printf "openldap.%s.svc.cluster.local" .Release.Namespace) }} - {{- $openldap_cert := genSignedCert $openldap_hostname nil (list $openldap_hostname) 365 $ca }} - apiVersion: v1 - kind: Secret - metadata: - name: openldap-certs - namespace: {{ include "common.names.namespace" $ | quote }} - type: kubernetes.io/tls - data: - tls.crt: {{ $openldap_cert.Cert | b64enc | quote }} - tls.key: {{ $openldap_cert.Key | b64enc | quote }} - ca.crt: {{ $ca.Cert | b64enc | quote }} - --- - # Resource templates obtained from pinniped doc - # Ref: https://pinniped.dev/docs/howto/configure-supervisor-with-openldap/ - apiVersion: config.supervisor.pinniped.dev/v1alpha1 - kind: FederationDomain - metadata: - name: my-provider - namespace: {{ include "common.names.namespace" $ | quote }} - spec: - issuer: {{ printf "https://%s/demo-issuer" ( include "pinniped.supervisor.fullname" . ) }} - --- - ## Ref: https://pinniped.dev/docs/howto/configure-supervisor-with-openldap/ - ## - apiVersion: apps/v1 - kind: Deployment - metadata: - name: openldap - labels: - app: openldap - spec: - replicas: 1 - selector: - matchLabels: - app: openldap - template: - metadata: - labels: - app: openldap - spec: - containers: - - name: openldap - image: docker.io/bitnami/openldap - imagePullPolicy: Always - ports: - - name: openldap - containerPort: 1389 - - name: openldaps - containerPort: 1636 - readinessProbe: - tcpSocket: - port: openldap - initialDelaySeconds: 2 - timeoutSeconds: 90 - periodSeconds: 2 - failureThreshold: 9 - securityContext: - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - add: ["NET_BIND_SERVICE"] - seccompProfile: - type: "RuntimeDefault" - env: - - name: LDAP_ADMIN_USERNAME - value: "admin" - - name: LDAP_ADMIN_PASSWORD - value: "admin123" - - name: LDAP_ROOT - value: {{ printf "dc=%s" (include "pinniped.supervisor.fullname" . ) }} - - name: LDAP_USERS - value: "vibuser" - - name: LDAP_PASSWORDS - value: "vibUser123" - - name: LDAP_ENABLE_TLS - value: "yes" - - name: LDAP_TLS_CERT_FILE - value: "/var/certs/tls.crt" - - name: LDAP_TLS_KEY_FILE - value: "/var/certs/tls.key" - - name: LDAP_TLS_CA_FILE - value: "/var/certs/ca.crt" - volumeMounts: - - name: certs - mountPath: /var/certs - readOnly: true - volumes: - - name: certs - secret: - secretName: openldap-certs - --- - apiVersion: v1 - kind: Service - metadata: - name: openldap - labels: - app: openldap - spec: - type: ClusterIP - selector: - app: openldap - ports: - - protocol: TCP - port: 636 - targetPort: 1636 - name: openldaps - --- - apiVersion: idp.supervisor.pinniped.dev/v1alpha1 - kind: LDAPIdentityProvider - metadata: - name: openldap - spec: - host: "openldap.{{ .Release.Namespace }}.svc.cluster.local" - tls: - certificateAuthorityData: {{ $ca.Cert | b64enc | quote }} - userSearch: - base: "ou=users,dc=pinniped-supervisor" - filter: "&(objectClass=inetOrgPerson)(uid={})" - attributes: - username: "uid" - uid: "uidNumber" - groupSearch: - base: "ou=users,dc=pinniped-supervisor" - filter: "&(objectClass=groupOfNames)(member={})" - attributes: - groupName: "cn" - bind: - secretName: openldap-bind-account - --- - apiVersion: v1 - kind: Secret - metadata: - name: openldap-bind-account - type: kubernetes.io/basic-auth - stringData: - username: "cn=admin,dc=pinniped-supervisor" - password: "admin123" - --- - ## Ref: https://pinniped.dev/docs/howto/configure-concierge-jwt/ - ## - apiVersion: authentication.concierge.pinniped.dev/v1alpha1 - kind: JWTAuthenticator - metadata: - name: supervisor-jwt-authenticator - namespace: {{ include "common.names.namespace" $ | quote }} - spec: - issuer: {{ printf "https://%s/demo-issuer" ( include "pinniped.supervisor.fullname" . ) }} - audience: vib-ed9de33c370981f61e9c - tls: - certificateAuthorityData: {{ $ca.Cert | b64enc | quote }} diff --git a/.vib/pinniped/vib-action.config b/.vib/pinniped/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/pinniped/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/pinniped/vib-publish.json b/.vib/pinniped/vib-publish.json deleted file mode 100644 index d789b8b4131eca..00000000000000 --- a/.vib/pinniped/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/pinniped" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/pinniped/vib-verify.json b/.vib/pinniped/vib-verify.json deleted file mode 100644 index 6dfadc290d119a..00000000000000 --- a/.vib/pinniped/vib-verify.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/pinniped" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/pinniped" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/pinniped/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "auth-user": "vibuser", - "auth-password": "vibUser123" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/postgresql-ha/ginkgo/go.mod b/.vib/postgresql-ha/ginkgo/go.mod deleted file mode 100644 index 82ac1c8bd1c3df..00000000000000 --- a/.vib/postgresql-ha/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-postgresql-ha-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/postgresql-ha/ginkgo/go.sum b/.vib/postgresql-ha/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/postgresql-ha/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/postgresql-ha/ginkgo/postgresql_suite_test.go b/.vib/postgresql-ha/ginkgo/postgresql_suite_test.go deleted file mode 100644 index 07e2afb1584a20..00000000000000 --- a/.vib/postgresql-ha/ginkgo/postgresql_suite_test.go +++ /dev/null @@ -1,87 +0,0 @@ -package postgresql_ha_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - releaseName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&releaseName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 300, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestPostgreSQL(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "PostgreSQL HA Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, pgPoolName, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "psql", - Image: image, - Command: []string{"psql", "-h", pgPoolName, "-p", port, "-U", username, "-c", stmt}, - Env: []v1.EnvVar{ - { - Name: "PGPASSWORD", - Value: password, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/postgresql-ha/ginkgo/postgresql_test.go b/.vib/postgresql-ha/ginkgo/postgresql_test.go deleted file mode 100644 index 7fb0256c7eede8..00000000000000 --- a/.vib/postgresql-ha/ginkgo/postgresql_test.go +++ /dev/null @@ -1,113 +0,0 @@ -package postgresql_ha_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Postgresql", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and PostgreSQL is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - stsName := fmt.Sprintf("%s-postgresql", releaseName) - pgPoolName := fmt.Sprintf("%s-pgpool", releaseName) - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - restartKey := "kubectl.kubernetes.io/restartedAt" - restartAnnotation := map[string]string{restartKey: time.Now().Format(time.RFC3339)} - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations[restartKey] } - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, pgPoolName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "postgresql") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "postgresql") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - releaseName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, pgPoolName, port, image, fmt.Sprintf("CREATE DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("running rollout restart") - // Annotate pods to force a rollout restart - ss, err = utils.StsAnnotateTemplate(ctx, c, ss, restartAnnotation) - Expect(err).NotTo(HaveOccurred()) - - // Wait for the new annotation in the existing pods - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Equal(restartAnnotation[restartKey]))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - // TODO: We're finding issues with pgpool when restarting the cluster. It is not properly updating - // the primary node, causing the test to fail. While we find a solution, we change to perform a - // query compatible with both primary and replica nodes - By("creating a job to show the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - releaseName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, pgPoolName, port, image, fmt.Sprintf("\\c %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/postgresql-ha/goss/pgpool/goss.yaml b/.vib/postgresql-ha/goss/pgpool/goss.yaml deleted file mode 100644 index f4e7ac4f959b0d..00000000000000 --- a/.vib/postgresql-ha/goss/pgpool/goss.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{- $srCheckUser := .Vars.pgpool.srCheckUsername }} - /opt/bitnami/pgpool/conf/pool_passwd: - exists: true - filetype: file - mode: "0644" - contents: - - 'postgres' - - '{{ $srCheckUser }}' - /opt/bitnami/pgpool/conf/pool_hba.conf: - exists: true - filetype: file - mode: "0644" - contents: - - /host\s+all\s+postgres\s+all\s+scram-sha-256/ - - /host\s+all\s+{{ $srCheckUser }}\s+all\s+scram-sha-256/ -command: - check-pool-nodes: - {{- $pgpool_host := "localhost" }} - {{- $pgpool_port := "9898" }} - {{- $pgpool_user := .Vars.pgpool.adminUsername }} - {{- $pgpool_password := .Vars.pgpool.adminPassword }} - {{- $pcppass_filepath := printf "/tmp/pcppass-%s" (randAlpha 5) }} - {{- $nodes := .Vars.postgresql.replicaCount }} - # The only way to avoid being prompted for the password is to use a password file - # Ref: https://www.pgpool.net/docs/42/en/html/pcp-commands.html - exec: echo "{{ $pgpool_host }}:{{ $pgpool_port }}:{{ $pgpool_user }}:{{ $pgpool_password }}" > {{ $pcppass_filepath }} && chmod 600 {{ $pcppass_filepath }} && PCPPASSFILE={{ $pcppass_filepath }} pcp_node_info -h {{ $pgpool_host }} -U {{ $pgpool_user }} -w - exit-status: 0 - stdout: - {{ range $e, $i := until $nodes }} - - /postgresql-ha-postgresql-{{ $i }}/ - {{ end }} - {{- $uid := .Vars.pgpool.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.pgpool.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/postgresql-ha/goss/repmgr/goss.yaml b/.vib/postgresql-ha/goss/repmgr/goss.yaml deleted file mode 100644 index ff64ff36a7ff20..00000000000000 --- a/.vib/postgresql-ha/goss/repmgr/goss.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root -command: - {{- $nodes := .Vars.postgresql.replicaCount }} - check-repmgr-config: - {{- $repmgr_password := .Vars.postgresql.repmgrPassword }} - {{- $repmgr_passfile := .Vars.postgresql.repmgrPassfilePath }} - {{- $repmgr_user := .Vars.postgresql.repmgrUsername }} - {{- $repmgr_database := .Vars.postgresql.repmgrDatabase }} - {{- $repmgr_port := .Vars.postgresql.containerPorts.postgresql }} - {{- $repmgr_endpoint := printf "-h postgresql-ha-postgresql -p %d" .Vars.service.ports.postgresql }} - exec: PGPASSWORD={{ $repmgr_password }} psql -U {{ $repmgr_user }} -d {{ $repmgr_database }} {{ $repmgr_endpoint }} -c "SELECT conninfo FROM repmgr.nodes WHERE type = 'primary'" - exit-status: 0 - stdout: - - "user={{ $repmgr_user }}" - - "passfile={{ $repmgr_passfile }}" - - "dbname={{ $repmgr_database }}" - - "port={{ $repmgr_port }}" - - "connect_timeout={{ .Vars.postgresql.repmgrConnectTimeout }}" - test-replication: - # We need to first obtain the primary's host to perform write operations - {{- $database := printf "db_%s" (randAlpha 5 | lower) }} - exec: | - export PGPASSWORD={{ $repmgr_password }} && \ - psql -U {{ $repmgr_user }} -d {{ $repmgr_database }} {{ $repmgr_endpoint }} -c "SELECT node_name FROM repmgr.nodes WHERE type = 'primary'" | grep postgresql-ha | \ - xargs -I '{}' psql -U {{ $repmgr_user }} -d {{ $repmgr_database }} -h '{}'.postgresql-ha-postgresql-headless -p {{ $repmgr_port }} -c "CREATE DATABASE {{ $database }};" && sleep 5 \ - {{ range $e, $i := until $nodes }}&& psql -U {{ $repmgr_user }} -d {{ $repmgr_database }} -h postgresql-ha-postgresql-{{ $i }}.postgresql-ha-postgresql-headless -p {{ $repmgr_port }} -c "SELECT datname FROM pg_database" | grep {{ $database }}{{ end }} - exit-status: 0 - {{- $uid := .Vars.postgresql.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.postgresql.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/postgresql-ha/runtime-parameters.yaml b/.vib/postgresql-ha/runtime-parameters.yaml deleted file mode 100644 index d4575245af4606..00000000000000 --- a/.vib/postgresql-ha/runtime-parameters.yaml +++ /dev/null @@ -1,36 +0,0 @@ -pgpool: - adminUsername: adminUser - adminPassword: adminPassword123!4 - srCheckUsername: srCheck - srCheckPassword: srCheckPassword123!4 - replicaCount: 1 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - containerPorts: - postgresql: 5432 -postgresql: - repmgrUsername: repmgr - repmgrPassword: repmgrPassword123!4 - repmgrDatabase: repmgr - repmgrPassfilePath: /opt/bitnami/repmgr/conf/.pgpass - repmgrConnectTimeout: 7 - replicaCount: 4 - password: psqlPassword123!4 - containerPorts: - postgresql: 5432 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 -persistence: - mountPath: /bitnami/postgresql -service: - ports: - postgresql: 80 - type: LoadBalancer diff --git a/.vib/postgresql-ha/vib-publish.json b/.vib/postgresql-ha/vib-publish.json deleted file mode 100644 index be1110a6da09f8..00000000000000 --- a/.vib/postgresql-ha/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/postgresql-ha" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/postgresql-ha/vib-verify.json b/.vib/postgresql-ha/vib-verify.json deleted file mode 100644 index 796e6da6a3e02b..00000000000000 --- a/.vib/postgresql-ha/vib-verify.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/postgresql-ha" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/postgresql-ha" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "postgresql-ha/goss/repmgr/goss.yaml", - "vars_file": "postgresql-ha/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-postgresql-ha-postgresql" - } - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "postgresql-ha/goss/pgpool/goss.yaml", - "vars_file": "postgresql-ha/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-postgresql-ha-pgpool" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/postgresql-ha/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "postgresql-ha", - "username": "postgres", - "password": "psqlPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/postgresql/ginkgo/go.mod b/.vib/postgresql/ginkgo/go.mod deleted file mode 100644 index 8fd9ca79dec532..00000000000000 --- a/.vib/postgresql/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-postgres-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/postgresql/ginkgo/go.sum b/.vib/postgresql/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/postgresql/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/postgresql/ginkgo/postgresql_suite_test.go b/.vib/postgresql/ginkgo/postgresql_suite_test.go deleted file mode 100644 index c6731af6764a31..00000000000000 --- a/.vib/postgresql/ginkgo/postgresql_suite_test.go +++ /dev/null @@ -1,87 +0,0 @@ -package postgresql_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 300, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestPostgreSQL(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "PostgreSQL Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "psql", - Image: image, - Command: []string{"psql", "-h", stsName, "-p", port, "-U", username, "-c", stmt}, - Env: []v1.EnvVar{ - { - Name: "PGPASSWORD", - Value: password, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/postgresql/ginkgo/postgresql_test.go b/.vib/postgresql/ginkgo/postgresql_test.go deleted file mode 100644 index 63ead4c85ca504..00000000000000 --- a/.vib/postgresql/ginkgo/postgresql_test.go +++ /dev/null @@ -1,105 +0,0 @@ -package postgresql_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Postgresql", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and PostgreSQL is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-postgresql") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "postgresql") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - stsName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("CREATE DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("DROP DATABASE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/postgresql/goss/goss.yaml b/.vib/postgresql/goss/goss.yaml deleted file mode 100644 index 4797a0fbd80f54..00000000000000 --- a/.vib/postgresql/goss/goss.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $dbUser := .Vars.auth.username }} - {{- $dbPassword := .Vars.auth.password }} - {{- $dbName := .Vars.auth.database }} - {{- $lb_port := .Vars.primary.service.ports.postgresql }} - {{- $hl_svc_bn := printf "postgresql-%s" .Vars.readReplicas.name }} - {{- $port := .Vars.containerPorts.postgresql }} - {{- $replica_nodes := .Vars.readReplicas.replicaCount }} - {{- $table := printf "test_%s" (randAlpha 5) }} - postgresql-check-replication: - exec: export PGPASSWORD='{{ $dbPassword }}' && psql -U '{{ $dbUser }}' -d '{{ $dbName }}' -p {{ $lb_port }} -h postgresql-{{ .Vars.primary.name }} -c "CREATE TABLE {{ $table }} (id int, first_name VARCHAR(50));" && sleep 1 {{ range $e, $i := until $replica_nodes }} && psql -U '{{ $dbUser }}' -d '{{ $dbName }}' -p {{ $port }} -h {{ $hl_svc_bn }}-{{ $i }}.{{ $hl_svc_bn }}-hl -c "SELECT * FROM {{ $table }};"{{ end }} - exit-status: 0 - {{ range $e, $i := until $replica_nodes }} - postgresql-only-read-node-{{ $i }}: - exec: PGPASSWORD='{{ $dbPassword }}' psql -U '{{ $dbUser }}' -d '{{ $dbName }}' -p {{ $port }} -h {{ $hl_svc_bn }}-{{ $i }}.{{ $hl_svc_bn }}-hl -c "CREATE TABLE rep_table_test (id int);" - exit-status: 1 - stderr: - - /.*read-only transaction.*/ - {{ end }} - cluster-size: - exec: PGPASSWORD='{{ .Vars.auth.postgresPassword }}' psql -tA -U postgres -p {{ $port }} -h postgresql-{{ .Vars.primary.name }} -c "SELECT COUNT(*) FROM pg_stat_replication WHERE usename='{{ .Vars.auth.replicationUsername }}';" - exit-status: 0 - stdout: - - "2" - {{- $uid := .Vars.primary.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.primary.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 -file: - {{ .Vars.primary.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root - /dev/shm: - exists: true - filetype: directory - mode: "3777" - owner: root - /opt/bitnami/postgresql/conf/postgresql.conf: - exists: true - filetype: file - mode: "0644" - contents: - - /shared_preload_libraries.*{{ .Vars.postgresqlSharedPreloadLibraries }}/ - - /port.*{{ $port }}/ diff --git a/.vib/postgresql/runtime-parameters.yaml b/.vib/postgresql/runtime-parameters.yaml deleted file mode 100644 index 0b07c2d6669cef..00000000000000 --- a/.vib/postgresql/runtime-parameters.yaml +++ /dev/null @@ -1,35 +0,0 @@ -architecture: replication -auth: - enablePostgresUser: true - postgresPassword: ComplicatedPassword123!4 - username: test_user - password: test_password - database: test_database - replicationUsername: test_repl_user -containerPorts: - postgresql: 5433 -postgresqlSharedPreloadLibraries: pgaudit, pg_stat_statements -shmVolume: - enabled: true -primary: - name: ptest - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - service: - type: LoadBalancer - ports: - postgresql: 5433 - persistence: - enabled: true - mountPath: /bitnami/postgresql -readReplicas: - name: rtest - replicaCount: 2 - service: - type: LoadBalancer - ports: - postgresql: 80 \ No newline at end of file diff --git a/.vib/postgresql/vib-publish.json b/.vib/postgresql/vib-publish.json deleted file mode 100644 index ceda891cc6cdd3..00000000000000 --- a/.vib/postgresql/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/postgresql" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/postgresql/vib-verify.json b/.vib/postgresql/vib-verify.json deleted file mode 100644 index b5f08f629ee276..00000000000000 --- a/.vib/postgresql/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/postgresql" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/postgresql" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "postgresql/goss/goss.yaml", - "vars_file": "postgresql/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-postgresql-ptest" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/postgresql/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "postgresql-ptest", - "username": "postgres", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/prometheus/cypress/cypress.config.js b/.vib/prometheus/cypress/cypress.config.js deleted file mode 100644 index 9535289193c52f..00000000000000 --- a/.vib/prometheus/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/prometheus/cypress/cypress.env.json b/.vib/prometheus/cypress/cypress.env.json deleted file mode 100644 index 2fb5c1e0c37b93..00000000000000 --- a/.vib/prometheus/cypress/cypress.env.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "scrapeInterval": 10000, - "deployments": { - "alertmanager": { - "query": "alertmanager_alerts" - }, - "prometheus": { - "query": "prometheus_http_requests_total" - } - }, - "targets": { - "alertmanager": { - "replicaCount": 2 - }, - "prometheus-server": { - "replicaCount": 1 - } - } -} diff --git a/.vib/prometheus/cypress/cypress/e2e/prometheus.cy.js b/.vib/prometheus/cypress/cypress/e2e/prometheus.cy.js deleted file mode 100644 index 8b6c0830859081..00000000000000 --- a/.vib/prometheus/cypress/cypress/e2e/prometheus.cy.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('allows executing a query and displaying response data for each deployment', () => { - const deployments = Cypress.env('deployments'); - // Wait 2 times the scrape interval - cy.wait(2 * Cypress.env('scrapeInterval')); - cy.visit(`/graph`); - Object.keys(deployments).forEach((podName, i) => { - const query = Object.values(deployments)[i].query; - cy.get('[role="textbox"]'); - cy.visit(`/graph?g0.expr=${query}`); - cy.contains('span', `"${podName}"`) - }) -}); - -it('checks targets status', () => { - const targets = Cypress.env('targets'); - - Object.keys(targets).forEach((podName, i) => { - const podData = Object.values(targets)[i]; - cy.visit(`/targets?search=${podName}`); - cy.get('a[href$=metrics]').should('have.length', `${podData.replicaCount}`); - }) -}); diff --git a/.vib/prometheus/cypress/cypress/support/e2e.js b/.vib/prometheus/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/prometheus/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/prometheus/goss/goss.yaml b/.vib/prometheus/goss/goss.yaml deleted file mode 100644 index cc6e906289b3dd..00000000000000 --- a/.vib/prometheus/goss/goss.yaml +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- if .Vars.server.containerSecurityContext.enabled }} - check-no-capabilities: - exec: cat /proc/1/status - exit-status: 0 - stdout: - - "CapInh: 0000000000000000" - - "CapPrm: 0000000000000000" - - "CapEff: 0000000000000000" - - "CapBnd: 0000000000000000" - - "CapAmb: 0000000000000000" - {{- end }} - {{- $uid := .Vars.server.podSecurityContext.runAsUser }} - {{- $gid := .Vars.server.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.server.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} - check-config-files: - exec: promtool check config /opt/bitnami/prometheus/conf/{{ .Vars.server.existingConfigmapKey }} - exit-status: 0 - stdout: - - "SUCCESS" - check-metrics: - exec: promtool query instant http://localhost:{{ .Vars.server.containerPorts.http }} prometheus_http_requests_total - exit-status: 0 - stdout: - - "/-/healthy" - - "/-/ready" -file: - /opt/bitnami/prometheus/conf/{{ .Vars.server.existingConfigmapKey }}: - exists: true - contents: - - "job_name: alertmanager" - - "{{ (first .Vars.server.extraScrapeConfigs).job_name }}" - /opt/bitnami/prometheus/conf/rules.yaml: - exists: true - contents: - - "{{ (first .Vars.server.alertingRules.groups).name }}" - {{.Vars.server.persistence.mountPath}}: - exists: true - filetype: directory - mode: "2775" - owner: root - /proc/1/cmdline: - exists: true - contents: - - "--enable-feature={{ .Vars.server.enableFeatures | first }}" -http: - http://localhost:{{ .Vars.server.containerPorts.http }}/-/ready: - status: 200 - body: - - "Prometheus Server is Ready." - http://localhost:{{ .Vars.server.containerPorts.http }}/-/healthy: - status: 200 - body: - - "Prometheus Server is Healthy." - {{- if .Vars.alertmanager.enabled }} - http://prometheus-alertmanager:{{ .Vars.alertmanager.service.ports.http }}/-/healthy: - status: 200 - body: - - "OK" - http://localhost:{{ .Vars.server.containerPorts.http }}/api/v1/rules?name={{ (first .Vars.server.alertingRules.groups).name }}: - status: 200 - body: - - "{{ (first (first .Vars.server.alertingRules.groups).rules).annotations.summary }}" - {{- end }} diff --git a/.vib/prometheus/runtime-parameters.yaml b/.vib/prometheus/runtime-parameters.yaml deleted file mode 100644 index 31b5c9de5ca4b9..00000000000000 --- a/.vib/prometheus/runtime-parameters.yaml +++ /dev/null @@ -1,68 +0,0 @@ -server: - replicaCount: 1 - serviceAccount: - create: true - automountServiceAccountToken: true - podSecurityContext: - enabled: true - runAsUser: 1002 - fsGroup: 1002 - containerSecurityContext: - enabled: true - capabilities: - drop: - - ALL - runAsNonRoot: true - readOnlyRootFilesystem: false - runAsUser: 1002 - rbac: - create: true - persistence: - enabled: true - mountPath: /opt/bitnami/prometheus/data - service: - type: LoadBalancer - ports: - http: 80 - sessionAffinity: None - enableFeatures: [ "memory-snapshot-on-shutdown" ] - containerPorts: - http: 8080 - existingConfigmapKey: test.yaml - scrapeInterval: 10s - extraScrapeConfigs: - - job_name: wordpress - kubernetes_sd_configs: - - role: endpoints - namespaces: - names: - - default - metrics_path: /metrics - relabel_configs: - - source_labels: - - job - target_label: __tmp_wordpress_job_name - - action: keep - source_labels: - - __meta_kubernetes_service_label_app_kubernetes_io_instance - - __meta_kubernetes_service_labelpresent_app_kubernetes_io_instance - regex: (wordpress);true - alertingRules: - groups: - - name: example - rules: - - alert: Example - expr: count(prometheus_http_requests_total) > 2 - for: 10m - labels: - severity: page - annotations: - summary: High number of requests to prometheus -alertmanager: - enabled: true - replicaCount: 2 - serviceMonitor: - enabled: true - service: - ports: - http: 9095 diff --git a/.vib/prometheus/vib-publish.json b/.vib/prometheus/vib-publish.json deleted file mode 100644 index e7d77bbe9d44af..00000000000000 --- a/.vib/prometheus/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/prometheus" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/prometheus/vib-verify.json b/.vib/prometheus/vib-verify.json deleted file mode 100644 index a2070fc46c9bc2..00000000000000 --- a/.vib/prometheus/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/prometheus" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/prometheus" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/prometheus/cypress" - }, - "endpoint": "lb-prometheus-server-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "prometheus/goss/goss.yaml", - "vars_file": "prometheus/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-prometheus-server" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/pytorch/goss/goss.yaml b/.vib/pytorch/goss/goss.yaml deleted file mode 100644 index aa4013bedc3d75..00000000000000 --- a/.vib/pytorch/goss/goss.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root -command: -# run-git-example: -# exec: python ./pytorch/goss/testfiles/polynomial_tensor.py -# exit-status: 0 -# timeout: 30000 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/pytorch/goss/testfiles/README.md b/.vib/pytorch/goss/testfiles/README.md deleted file mode 100644 index d18c6e5aec5c69..00000000000000 --- a/.vib/pytorch/goss/testfiles/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# How to update this folder - -Obtain the latest polynomial_tensor.py file from the [official tutorials repository](https://github.com/pytorch/tutorials) diff --git a/.vib/pytorch/goss/testfiles/polynomial_tensor.py b/.vib/pytorch/goss/testfiles/polynomial_tensor.py deleted file mode 100755 index 1e35b0f24bdf5f..00000000000000 --- a/.vib/pytorch/goss/testfiles/polynomial_tensor.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- -""" -PyTorch: Tensors ----------------- - -A third order polynomial, trained to predict :math:`y=\sin(x)` from :math:`-\pi` -to :math:`pi` by minimizing squared Euclidean distance. - -This implementation uses PyTorch tensors to manually compute the forward pass, -loss, and backward pass. - -A PyTorch Tensor is basically the same as a numpy array: it does not know -anything about deep learning or computational graphs or gradients, and is just -a generic n-dimensional array to be used for arbitrary numeric computation. - -The biggest difference between a numpy array and a PyTorch Tensor is that -a PyTorch Tensor can run on either CPU or GPU. To run operations on the GPU, -just cast the Tensor to a cuda datatype. -""" - -import torch -import math - - -dtype = torch.float -device = torch.device("cpu") -# device = torch.device("cuda:0") # Uncomment this to run on GPU - -# Create random input and output data -x = torch.linspace(-math.pi, math.pi, 2000, device=device, dtype=dtype) -y = torch.sin(x) - -# Randomly initialize weights -a = torch.randn((), device=device, dtype=dtype) -b = torch.randn((), device=device, dtype=dtype) -c = torch.randn((), device=device, dtype=dtype) -d = torch.randn((), device=device, dtype=dtype) - -learning_rate = 1e-6 -for t in range(2000): - # Forward pass: compute predicted y - y_pred = a + b * x + c * x ** 2 + d * x ** 3 - - # Compute and print loss - loss = (y_pred - y).pow(2).sum().item() - if t % 100 == 99: - print(t, loss) - - # Backprop to compute gradients of a, b, c, d with respect to loss - grad_y_pred = 2.0 * (y_pred - y) - grad_a = grad_y_pred.sum() - grad_b = (grad_y_pred * x).sum() - grad_c = (grad_y_pred * x ** 2).sum() - grad_d = (grad_y_pred * x ** 3).sum() - - # Update weights using gradient descent - a -= learning_rate * grad_a - b -= learning_rate * grad_b - c -= learning_rate * grad_c - d -= learning_rate * grad_d - - -print(f'Result: y = {a.item()} + {b.item()} x + {c.item()} x^2 + {d.item()} x^3') diff --git a/.vib/pytorch/runtime-parameters.yaml b/.vib/pytorch/runtime-parameters.yaml deleted file mode 100644 index 7a329172d142c3..00000000000000 --- a/.vib/pytorch/runtime-parameters.yaml +++ /dev/null @@ -1,10 +0,0 @@ -podSecurityContext: - enabled: true - fsGroup: 1002 - runAsUser: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -persistence: - enabled: true - mountPath: /bitnami/pytorch diff --git a/.vib/pytorch/vib-publish.json b/.vib/pytorch/vib-publish.json deleted file mode 100644 index e8cb902d288a3c..00000000000000 --- a/.vib/pytorch/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/pytorch" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/pytorch/vib-verify.json b/.vib/pytorch/vib-verify.json deleted file mode 100644 index cc2d0a4d95789f..00000000000000 --- a/.vib/pytorch/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/pytorch" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/pytorch" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "pytorch/goss/goss.yaml", - "vars_file": "pytorch/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-pytorch" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/rabbitmq-cluster-operator/cypress/cypress.config.js b/.vib/rabbitmq-cluster-operator/cypress/cypress.config.js deleted file mode 100644 index 21038a05269d2c..00000000000000 --- a/.vib/rabbitmq-cluster-operator/cypress/cypress.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - env: { - username: 'test_user', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/rabbitmq-cluster-operator/cypress/cypress/e2e/rabbitmq_cluster_operator.cy.js b/.vib/rabbitmq-cluster-operator/cypress/cypress/e2e/rabbitmq_cluster_operator.cy.js deleted file mode 100644 index c5f5e50b52e909..00000000000000 --- a/.vib/rabbitmq-cluster-operator/cypress/cypress/e2e/rabbitmq_cluster_operator.cy.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows uploading broker definitions', () => { - cy.login(); - cy.contains('Import definitions').click(); - cy.get('[type="file"]').selectFile( - 'cypress/fixtures/broker-definitions.json' - ); - cy.contains('input', 'Upload').click(); - cy.get('.form-popup-warn').should('not.exist'); - cy.contains('imported successfully'); -}); - -it('allows publishing a message to a created exchange', () => { - cy.login(); - cy.visit('/#/exchanges'); - cy.contains('Add a new exchange').click(); - cy.fixture('exchanges').then((exchange) => { - cy.get('[name="name"]').type(`${exchange.newExchange.name}${random}`); - cy.get('#arguments_1_mfkey').type(exchange.newExchange.argument1); - cy.get('#arguments_1_mfvalue').type(exchange.newExchange.argument2); - cy.contains('Add exchange').click({ force: true }); - cy.reload(); - cy.contains('a', `${exchange.newExchange.name}${random}`).click(); - }); - cy.contains('h2', 'Publish').click(); - cy.fixture('messages').then((message) => { - cy.get('textarea').type(message.newMessage.payload); - }); - cy.contains('input', 'Publish').click(); - cy.contains('Message published'); -}); diff --git a/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/broker-definitions.json b/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/broker-definitions.json deleted file mode 100644 index 0967ef424bce67..00000000000000 --- a/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/broker-definitions.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/exchanges.json b/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/exchanges.json deleted file mode 100644 index dd1a6fefad4245..00000000000000 --- a/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/exchanges.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "newExchange": { - "name": "testExchange", - "argument1": "A", - "argument2": "B" - } -} diff --git a/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/messages.json b/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/messages.json deleted file mode 100644 index 3bbe66348470fc..00000000000000 --- a/.vib/rabbitmq-cluster-operator/cypress/cypress/fixtures/messages.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newMessage": { - "payload": "This is my first message" - } -} diff --git a/.vib/rabbitmq-cluster-operator/cypress/cypress/support/commands.js b/.vib/rabbitmq-cluster-operator/cypress/cypress/support/commands.js deleted file mode 100644 index 0ba661f1d02f84..00000000000000 --- a/.vib/rabbitmq-cluster-operator/cypress/cypress/support/commands.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.get('[name="username"]').type(username); - cy.get('[name="password"]').type(password); - cy.contains('Login').click(); - } -); - -Cypress.on('uncaught:exception', (err, runnable) => { - // we expect a 3rd party library error with message 'list not defined' - // and don't want to fail the test so we return false - if (err.message.includes('Cannot read properties of undefined')) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/rabbitmq-cluster-operator/cypress/cypress/support/e2e.js b/.vib/rabbitmq-cluster-operator/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/rabbitmq-cluster-operator/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/rabbitmq-cluster-operator/cypress/cypress/support/utils.js b/.vib/rabbitmq-cluster-operator/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/rabbitmq-cluster-operator/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/rabbitmq-cluster-operator/goss/goss.yaml b/.vib/rabbitmq-cluster-operator/goss/goss.yaml deleted file mode 100644 index 4988eaaeb2b4de..00000000000000 --- a/.vib/rabbitmq-cluster-operator/goss/goss.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - {{ if .Vars.msgTopologyOperator.enabled }} - http://rmq-op-webhook:{{ .Vars.msgTopologyOperator.service.ports.webhook }}: - status: 400 - {{ end }} - {{- $manager_port := (index (index .Vars.extraDeploy 2).spec.ports 0).targetPort }} - http://ve-testing:{{ $manager_port }}: - status: 200 -command: - rabbitmqctl-cluster-status: - exec: rabbitmqctl cluster_status - exit-status: 0 - stdout: - {{- $nodes := (index .Vars.extraDeploy 1).spec.replicas }} - {{ range $e, $i := until $nodes }} - - /ve-testing-server-{{ $i }}.ve-testing-nodes/ - {{ end }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*ve-testing-server/ diff --git a/.vib/rabbitmq-cluster-operator/runtime-parameters.yaml b/.vib/rabbitmq-cluster-operator/runtime-parameters.yaml deleted file mode 100644 index ffd602ce09945b..00000000000000 --- a/.vib/rabbitmq-cluster-operator/runtime-parameters.yaml +++ /dev/null @@ -1,44 +0,0 @@ -extraDeploy: -- apiVersion: v1 - kind: Secret - metadata: - name: ve-testing-default-user - stringData: - default_user.conf: | - default_user = test_user - default_pass = ComplicatedPassword123!4 - password: ComplicatedPassword123!4 - username: test_user -- apiVersion: rabbitmq.com/v1beta1 - kind: RabbitmqCluster - metadata: - name: ve-testing - spec: - replicas: 2 - resources: - requests: - cpu: 100m - memory: 100Mi -- apiVersion: v1 - kind: Service - metadata: - name: extra-svc - spec: - type: LoadBalancer - ports: - - appProtocol: http - name: management - port: 80 - protocol: TCP - targetPort: 15672 - selector: - app.kubernetes.io/name: ve-testing -msgTopologyOperator: - enabled: true - fullnameOverride: rmq-op - containerPorts: - metrics: 8080 - service: - ports: - webhook: 443 - type: LoadBalancer \ No newline at end of file diff --git a/.vib/rabbitmq-cluster-operator/vib-publish.json b/.vib/rabbitmq-cluster-operator/vib-publish.json deleted file mode 100644 index 1c789d4a8ccbdd..00000000000000 --- a/.vib/rabbitmq-cluster-operator/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/rabbitmq-cluster-operator" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/rabbitmq-cluster-operator/vib-verify.json b/.vib/rabbitmq-cluster-operator/vib-verify.json deleted file mode 100644 index 6f875359052953..00000000000000 --- a/.vib/rabbitmq-cluster-operator/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/rabbitmq-cluster-operator" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/rabbitmq-cluster-operator" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "rabbitmq-cluster-operator/goss/goss.yaml", - "vars_file": "rabbitmq-cluster-operator/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-ve-testing-server" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/rabbitmq-cluster-operator/cypress" - }, - "endpoint": "lb-extra-svc-management", - "app_protocol": "HTTP", - "env": { - "username": "test_user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/rabbitmq/cypress/cypress.config.js b/.vib/rabbitmq/cypress/cypress.config.js deleted file mode 100644 index 21038a05269d2c..00000000000000 --- a/.vib/rabbitmq/cypress/cypress.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - env: { - username: 'test_user', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/rabbitmq/cypress/cypress/e2e/rabbitmq.cy.js b/.vib/rabbitmq/cypress/cypress/e2e/rabbitmq.cy.js deleted file mode 100644 index c5f5e50b52e909..00000000000000 --- a/.vib/rabbitmq/cypress/cypress/e2e/rabbitmq.cy.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows uploading broker definitions', () => { - cy.login(); - cy.contains('Import definitions').click(); - cy.get('[type="file"]').selectFile( - 'cypress/fixtures/broker-definitions.json' - ); - cy.contains('input', 'Upload').click(); - cy.get('.form-popup-warn').should('not.exist'); - cy.contains('imported successfully'); -}); - -it('allows publishing a message to a created exchange', () => { - cy.login(); - cy.visit('/#/exchanges'); - cy.contains('Add a new exchange').click(); - cy.fixture('exchanges').then((exchange) => { - cy.get('[name="name"]').type(`${exchange.newExchange.name}${random}`); - cy.get('#arguments_1_mfkey').type(exchange.newExchange.argument1); - cy.get('#arguments_1_mfvalue').type(exchange.newExchange.argument2); - cy.contains('Add exchange').click({ force: true }); - cy.reload(); - cy.contains('a', `${exchange.newExchange.name}${random}`).click(); - }); - cy.contains('h2', 'Publish').click(); - cy.fixture('messages').then((message) => { - cy.get('textarea').type(message.newMessage.payload); - }); - cy.contains('input', 'Publish').click(); - cy.contains('Message published'); -}); diff --git a/.vib/rabbitmq/cypress/cypress/fixtures/broker-definitions.json b/.vib/rabbitmq/cypress/cypress/fixtures/broker-definitions.json deleted file mode 100644 index 0967ef424bce67..00000000000000 --- a/.vib/rabbitmq/cypress/cypress/fixtures/broker-definitions.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/.vib/rabbitmq/cypress/cypress/fixtures/exchanges.json b/.vib/rabbitmq/cypress/cypress/fixtures/exchanges.json deleted file mode 100644 index dd1a6fefad4245..00000000000000 --- a/.vib/rabbitmq/cypress/cypress/fixtures/exchanges.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "newExchange": { - "name": "testExchange", - "argument1": "A", - "argument2": "B" - } -} diff --git a/.vib/rabbitmq/cypress/cypress/fixtures/messages.json b/.vib/rabbitmq/cypress/cypress/fixtures/messages.json deleted file mode 100644 index 3bbe66348470fc..00000000000000 --- a/.vib/rabbitmq/cypress/cypress/fixtures/messages.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newMessage": { - "payload": "This is my first message" - } -} diff --git a/.vib/rabbitmq/cypress/cypress/support/commands.js b/.vib/rabbitmq/cypress/cypress/support/commands.js deleted file mode 100644 index 0ba661f1d02f84..00000000000000 --- a/.vib/rabbitmq/cypress/cypress/support/commands.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.get('[name="username"]').type(username); - cy.get('[name="password"]').type(password); - cy.contains('Login').click(); - } -); - -Cypress.on('uncaught:exception', (err, runnable) => { - // we expect a 3rd party library error with message 'list not defined' - // and don't want to fail the test so we return false - if (err.message.includes('Cannot read properties of undefined')) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}); diff --git a/.vib/rabbitmq/cypress/cypress/support/e2e.js b/.vib/rabbitmq/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/rabbitmq/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/rabbitmq/cypress/cypress/support/utils.js b/.vib/rabbitmq/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/rabbitmq/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/rabbitmq/ginkgo/go.mod b/.vib/rabbitmq/ginkgo/go.mod deleted file mode 100644 index de4fd76a38ae13..00000000000000 --- a/.vib/rabbitmq/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-rabbitmq-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/rabbitmq/ginkgo/go.sum b/.vib/rabbitmq/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/rabbitmq/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/rabbitmq/ginkgo/rabbitmq_suite_test.go b/.vib/rabbitmq/ginkgo/rabbitmq_suite_test.go deleted file mode 100644 index f08d6de404f782..00000000000000 --- a/.vib/rabbitmq/ginkgo/rabbitmq_suite_test.go +++ /dev/null @@ -1,98 +0,0 @@ -package rabbitmq_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} -func TestRabbitmq(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Rabbitmq Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "rabbitmq", - Image: image, - Command: []string{"bash", "-ec", stmt}, - Env: []v1.EnvVar{ - { - Name: "RABBITMQ_PASSWORD", - Value: password, - }, - { - Name: "RABBITMQ_USERNAME", - Value: username, - }, - { - Name: "RABBITMQ_HOST", - Value: stsName, - }, - { - Name: "RABBITMQ_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/rabbitmq/ginkgo/rabbitmq_test.go b/.vib/rabbitmq/ginkgo/rabbitmq_test.go deleted file mode 100644 index f7b52ad696c455..00000000000000 --- a/.vib/rabbitmq/ginkgo/rabbitmq_test.go +++ /dev/null @@ -1,114 +0,0 @@ -package rabbitmq_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Rabbitmq", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a queue is created and Rabbitmq is scaled down to 0 replicas and back up", func() { - It("should have access to the created queue", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getOpts := metav1.GetOptions{} - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "http-stats") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "rabbitmq") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test queue") - createQueueJobName := fmt.Sprintf("%s-createq-%s", - stsName, jobSuffix) - queueName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createQueueJobName, port, image, - fmt.Sprintf("curl -X PUT -u \"$RABBITMQ_USERNAME:$RABBITMQ_PASSWORD\" -d '{\"durable\": true}' http://$RABBITMQ_HOST:$RABBITMQ_PORT/api/queues/%%2f/%s", queueName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createQueueJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, createQueueJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := 0; i < int(origReplicas); i++ { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test queue") - deleteQueueJobName := fmt.Sprintf("%s-deleteq-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteQueueJobName, port, image, - fmt.Sprintf("curl -I -X DELETE -u \"$RABBITMQ_USERNAME:$RABBITMQ_PASSWORD\" http://$RABBITMQ_HOST:$RABBITMQ_PORT/api/queues/%%2f/%s | grep 204", queueName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteQueueJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, deleteQueueJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/rabbitmq/goss/goss.yaml b/.vib/rabbitmq/goss/goss.yaml deleted file mode 100644 index 84c0ea45daa3ab..00000000000000 --- a/.vib/rabbitmq/goss/goss.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -addr: - tcp://rabbitmq:{{ .Vars.service.ports.amqp }}: - reachable: true - tcp://rabbitmq:{{ .Vars.service.ports.epmd }}: - reachable: true - tcp://rabbitmq:{{ .Vars.service.ports.dist }}: - reachable: true -file: - {{ .Vars.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root - /bitnami/rabbitmq/conf: - exists: true - filetype: directory - mode: "3777" - owner: root -command: - {{- $nodes := .Vars.replicaCount }} - rabbitmqctl-cluster-status: - exec: rabbitmqctl cluster_status - exit-status: 0 - stdout: - {{ range $e, $i := until $nodes }} - - /rabbitmq-{{ $i }}.rabbitmq-headless/ - {{ end }} - timeout: 30000 - rabbitmqctl-replication-check: - {{- $vhost := printf "vhost_%s" (randAlpha 5) }} - exec: rabbitmqctl add_vhost {{ $vhost }} && sleep 2 {{ range $e, $i := until $nodes }} && rabbitmqctl --node rabbit@rabbitmq-{{ $i }} list_vhosts | grep -q {{ $vhost }} {{ end }} - exit-status: 0 - timeout: 60000 - rabbitmq-plugins-enabled: - exec: rabbitmq-plugins list --enabled - exit-status: 0 - stdout: - {{ range $plugin := (split " " .Vars.extraPlugins) }} - - "{{ $plugin }}" - {{ end }} - timeout: 30000 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - timeout: 30000 - {{ if .Vars.serviceAccount.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - timeout: 30000 - {{ end }} diff --git a/.vib/rabbitmq/runtime-parameters.yaml b/.vib/rabbitmq/runtime-parameters.yaml deleted file mode 100644 index c26bb35d78381c..00000000000000 --- a/.vib/rabbitmq/runtime-parameters.yaml +++ /dev/null @@ -1,35 +0,0 @@ -auth: - username: test_user - password: ComplicatedPassword123!4 - erlangCookie: RjspCC3nm4kLv4LjWFNfFHW3xLxb7zTC -plugins: rabbitmq_management rabbitmq_peer_discovery_k8s -extraPlugins: rabbitmq_auth_backend_ldap rabbitmq_top -clustering: - enabled: true -containerPorts: - amqp: 5672 - dist: 25672 - manager: 15672 - epmd: 4369 -replicaCount: 2 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -serviceAccount: - create: true - automountServiceAccountToken: true -rbac: - create: true -persistence: - enabled: true - mountPath: /opt/bitnami/rabbitmq/.rabbitmq/mnesia -service: - ports: - amqp: 5673 - dist: 25673 - manager: 80 - epmd: 4370 - type: LoadBalancer \ No newline at end of file diff --git a/.vib/rabbitmq/vib-publish.json b/.vib/rabbitmq/vib-publish.json deleted file mode 100644 index 5de05eca811e99..00000000000000 --- a/.vib/rabbitmq/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/rabbitmq" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/rabbitmq/vib-verify.json b/.vib/rabbitmq/vib-verify.json deleted file mode 100644 index 2983e0bd24ceac..00000000000000 --- a/.vib/rabbitmq/vib-verify.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/rabbitmq" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/rabbitmq" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "rabbitmq/goss/goss.yaml", - "vars_file": "rabbitmq/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-rabbitmq" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/rabbitmq/cypress" - }, - "endpoint": "lb-rabbitmq-http-stats", - "app_protocol": "HTTP", - "env": { - "username": "test_user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/rabbitmq/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "rabbitmq", - "username": "test_user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/redis-cluster/ginkgo/go.mod b/.vib/redis-cluster/ginkgo/go.mod deleted file mode 100644 index 0554b7f38f2bca..00000000000000 --- a/.vib/redis-cluster/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-redis-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/redis-cluster/ginkgo/go.sum b/.vib/redis-cluster/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/redis-cluster/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/redis-cluster/ginkgo/redis_suite_test.go b/.vib/redis-cluster/ginkgo/redis_suite_test.go deleted file mode 100644 index e5f5325ba76d93..00000000000000 --- a/.vib/redis-cluster/ginkgo/redis_suite_test.go +++ /dev/null @@ -1,88 +0,0 @@ -package redis_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestRedis(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Redis Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - // Default job TTL in seconds - ttl := int32(10) - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - TTLSecondsAfterFinished: &ttl, - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "redis", - Image: image, - Command: []string{"redis-cli", "-h", stsName, "-p", port, stmt}, - Env: []v1.EnvVar{ - { - Name: "REDISCLI_AUTH", - Value: password, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/redis-cluster/ginkgo/redis_test.go b/.vib/redis-cluster/ginkgo/redis_test.go deleted file mode 100644 index 56489b08c544f5..00000000000000 --- a/.vib/redis-cluster/ginkgo/redis_test.go +++ /dev/null @@ -1,109 +0,0 @@ -package redis_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Redis Cluster", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a key-value is created and Redis is scaled down to 0 replicas and back up", func() { - It("should have access to the created key-value", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - restartKey := "kubectl.kubernetes.io/restartedAt" - restartAnnotation := map[string]string{restartKey: time.Now().Format(time.RFC3339)} - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations[restartKey] } - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-redis") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "redis-cluster") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test key-value") - createKEYJobName := fmt.Sprintf("%s-createkey-%s", - stsName, jobSuffix) - keyName := fmt.Sprintf("test%s", jobSuffix) - keyValue := fmt.Sprintf("v%s", jobSuffix) - - err = createJob(ctx, c, createKEYJobName, port, image, fmt.Sprintf("SET %s %s", keyName, keyValue)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createKEYJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("running rollout restart") - // Annotate pods to force a rollout restart - ss, err = utils.StsAnnotateTemplate(ctx, c, ss, restartAnnotation) - Expect(err).NotTo(HaveOccurred()) - - // Wait for the new annotation in the existing pods - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Equal(restartAnnotation[restartKey]))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test key-value") - deleteKeyJobName := fmt.Sprintf("%s-deletekey-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteKeyJobName, port, image, fmt.Sprintf("DEL %s", keyName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/redis-cluster/goss/goss.yaml b/.vib/redis-cluster/goss/goss.yaml deleted file mode 100644 index 426dda9dc6e669..00000000000000 --- a/.vib/redis-cluster/goss/goss.yaml +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -{{- $auth := printf "REDISCLI_AUTH=%s" .Vars.password }} -{{- $redis_port := .Vars.redis.containerPorts.redis }} -{{- $lb_endpoint := printf "-h redis-cluster -p %d" .Vars.service.ports.redis }} -{{- $nodes := .Vars.cluster.nodes }} -command: - {{- $key := printf "key_%s" (randAlpha 5) }} - {{- $value := printf "value_%s" (randAlpha 5) }} - redis-set-key-value-pairs: - exec: | - export {{ $auth }} && \ - redis-cli {{ $lb_endpoint }} CLUSTER NODES | grep master -m 1 | cut -d' ' -f 2 | cut -d':' -f 1 | \ - xargs -I '{}' redis-cli -c -h '{}' -p {{ $redis_port }} SET {{ $key }} {{ $value }} && sleep 1 \ - {{ range $e, $i := until $nodes }} && redis-cli -c -h redis-cluster-{{ $i }}.redis-cluster-headless -p {{ $redis_port }} GET {{ $key }} | grep -q {{ $value }}{{ end }} - exit-status: 0 - redis-cluster-info: - exec: {{ $auth }} redis-cli {{ $lb_endpoint }} CLUSTER INFO - exit-status: 0 - stdout: - - "cluster_state:ok" - - "cluster_known_nodes:{{ $nodes }}" - redis-node-info: - exec: | - export {{ $auth }} && \ - redis-cli {{ $lb_endpoint }} CLUSTER SLOTS | sed -n '3p' | \ - xargs -I '{}' redis-cli -h '{}' -p {{ $redis_port }} INFO - exit-status: 0 - stdout: - - "role:master" - - "connected_slaves:{{ .Vars.cluster.replicas }}" - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 -file: - {{ .Vars.persistence.path }}: - filetype: directory - exists: true - mode: "2775" - owner: root - /opt/bitnami/redis/etc/redis.conf: - filetype: file - exists: true - mode: "0644" diff --git a/.vib/redis-cluster/runtime-parameters.yaml b/.vib/redis-cluster/runtime-parameters.yaml deleted file mode 100644 index 9f1753b0213cec..00000000000000 --- a/.vib/redis-cluster/runtime-parameters.yaml +++ /dev/null @@ -1,22 +0,0 @@ -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -usePassword: true -password: ComplicatedPassword123!4 -service: - ports: - redis: 80 - type: LoadBalancer -persistence: - path: /bitnami/redis/data -redis: - containerPorts: - redis: 6380 - bus: 16380 -cluster: - init: true - nodes: 9 - replicas: 2 \ No newline at end of file diff --git a/.vib/redis-cluster/vib-publish.json b/.vib/redis-cluster/vib-publish.json deleted file mode 100644 index 004f67ea00c93a..00000000000000 --- a/.vib/redis-cluster/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redis-cluster" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/redis-cluster/vib-verify.json b/.vib/redis-cluster/vib-verify.json deleted file mode 100644 index 5f75b4acbc2f4f..00000000000000 --- a/.vib/redis-cluster/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redis-cluster" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redis-cluster" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "redis-cluster/goss/goss.yaml", - "vars_file": "redis-cluster/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-redis-cluster" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/redis-cluster/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "redis-cluster", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/redis/ginkgo/go.mod b/.vib/redis/ginkgo/go.mod deleted file mode 100644 index 0554b7f38f2bca..00000000000000 --- a/.vib/redis/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-redis-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/redis/ginkgo/go.sum b/.vib/redis/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/redis/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/redis/ginkgo/redis_suite_test.go b/.vib/redis/ginkgo/redis_suite_test.go deleted file mode 100644 index 0ccf6ab6d82d46..00000000000000 --- a/.vib/redis/ginkgo/redis_suite_test.go +++ /dev/null @@ -1,88 +0,0 @@ -package redis_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 180, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestRedis(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Redis Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - // Default job TTL in seconds - ttl := int32(10) - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - TTLSecondsAfterFinished: &ttl, - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "redis", - Image: image, - Command: []string{"redis-cli", "-h", stsName, "-p", port, stmt}, - Env: []v1.EnvVar{ - { - Name: "REDISCLI_AUTH", - Value: password, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/redis/ginkgo/redis_test.go b/.vib/redis/ginkgo/redis_test.go deleted file mode 100644 index c5324f74343e0a..00000000000000 --- a/.vib/redis/ginkgo/redis_test.go +++ /dev/null @@ -1,108 +0,0 @@ -package redis_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Redis", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a key-value is created and Redis is scaled down to 0 replicas and back up", func() { - It("should have access to the created key-value", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - restartKey := "kubectl.kubernetes.io/restartedAt" - restartAnnotation := map[string]string{restartKey: time.Now().Format(time.RFC3339)} - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations[restartKey] } - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-redis") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "redis") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test key-value") - createKEYJobName := fmt.Sprintf("%s-createkey-%s", - stsName, jobSuffix) - keyName := fmt.Sprintf("test%s", jobSuffix) - keyValue := fmt.Sprintf("v%s", jobSuffix) - - err = createJob(ctx, c, createKEYJobName, port, image, fmt.Sprintf("SET %s %s", keyName, keyValue)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createKEYJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("running rollout restart") - // Annotate pods to force a rollout restart - ss, err = utils.StsAnnotateTemplate(ctx, c, ss, restartAnnotation) - - // Wait for the new annotation in the existing pods - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Equal(restartAnnotation[restartKey]))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test key-value") - deleteKeyJobName := fmt.Sprintf("%s-deletekey-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteKeyJobName, port, image, fmt.Sprintf("DEL %s", keyName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/redis/goss/goss.yaml b/.vib/redis/goss/goss.yaml deleted file mode 100644 index 887a20dee6bbbe..00000000000000 --- a/.vib/redis/goss/goss.yaml +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -{{- $auth := printf "REDISCLI_AUTH='%s'" .Vars.auth.password }} -{{- $master_endpoint := printf "-h redis-master -p %d" .Vars.master.service.ports.redis }} -{{- $replicas_endpoint := printf "-h redis-replicas -p %d" .Vars.replica.service.ports.redis }} -{{- $replicas := .Vars.replica.replicaCount }} -command: - {{- $key := printf "key_%s" (randAlpha 5) }} - {{- $value := printf "value_%s" (randAlpha 5) }} - redis-set-key-value-pairs: - exec: export {{ $auth }} && redis-cli {{ $master_endpoint }} SET {{ $key }} {{ $value }} {{ range $e, $i := until $replicas }} && redis-cli -h redis-replicas-{{ $i }}.redis-headless -p {{ $.Vars.replica.containerPorts.redis }} GET {{ $key }} | grep -q {{ $value }}{{ end }} - exit-status: 0 - {{ range $command := .Vars.master.disableCommands }} - redis-disabled-{{ $command }}: - exec: {{ $auth }} redis-cli {{ $master_endpoint }} {{ $command }} - exit-status: 0 - stdout: - - "ERR unknown command" - {{ end }} - redis-master-role: - exec: {{ $auth }} redis-cli {{ $master_endpoint }} ROLE - exit-status: 0 - stdout: - - "master" - {{ range $e, $i := until $replicas }} - - "redis-replicas-{{ $i }}" - {{ end }} - redis-replicas-role: - exec: {{ $auth }} redis-cli {{ $replicas_endpoint }} ROLE - exit-status: 0 - stdout: - - "slave" - {{- $uid := .Vars.master.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.master.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.master.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -file: - {{ .Vars.master.persistence.path }}: - filetype: directory - exists: true - mode: "2775" - owner: root - /opt/bitnami/redis/mounted-etc: - exists: true - mode: "2777" - filetype: directory - owner: root - /opt/bitnami/redis/etc: - filetype: directory - exists: true - mode: "2777" - owner: root diff --git a/.vib/redis/runtime-parameters.yaml b/.vib/redis/runtime-parameters.yaml deleted file mode 100644 index 5bb26f82ff2236..00000000000000 --- a/.vib/redis/runtime-parameters.yaml +++ /dev/null @@ -1,47 +0,0 @@ -architecture: replication -auth: - enabled: true - password: ComplicatedPassword123!4 -master: - count: 1 - disableCommands: - - FLUSHALL - - FLUSHDB - containerPorts: - redis: 6380 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - kind: StatefulSet - persistence: - enabled: true - path: /data - service: - ports: - redis: 80 - type: LoadBalancer - serviceAccount: - create: true - automountServiceAccountToken: true -replica: - replicaCount: 3 - containerPorts: - redis: 6380 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - persistence: - enabled: true - path: /data - service: - ports: - redis: 6378 - type: ClusterIP -sentinel: - enabled: false \ No newline at end of file diff --git a/.vib/redis/vib-publish.json b/.vib/redis/vib-publish.json deleted file mode 100644 index e66e8c6cee02e7..00000000000000 --- a/.vib/redis/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redis" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/redis/vib-verify.json b/.vib/redis/vib-verify.json deleted file mode 100644 index f44cb67c8acb35..00000000000000 --- a/.vib/redis/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redis" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redis" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "redis/goss/goss.yaml", - "vars_file": "redis/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-redis-master" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/redis/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "redis-master", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/redmine/cypress/cypress.config.js b/.vib/redmine/cypress/cypress.config.js deleted file mode 100644 index 9efc2ffe14de35..00000000000000 --- a/.vib/redmine/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - pageLoadTimeout: 240000, - defaultCommandTimeout: 80000, - env: { - username: 'bitnamiTest', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/redmine/cypress/cypress/e2e/redmine.cy.js b/.vib/redmine/cypress/cypress/e2e/redmine.cy.js deleted file mode 100644 index 8d87799898185b..00000000000000 --- a/.vib/redmine/cypress/cypress/e2e/redmine.cy.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows admin to create a project and an issue with file uploaded', () => { - cy.login(); - cy.visit('/projects'); - cy.contains('New project').click(); - cy.fixture('projects').then((project) => { - cy.get('#project_name').type(`${project.newProject.name}.${random}`); - cy.get('#project_description').type(project.newProject.description); - cy.get('[name="commit"]').click(); - cy.contains('Successful creation'); - cy.contains('Projects').click(); - cy.contains('.project', `${project.newProject.name}.${random}`).click(); - }); - cy.contains('Issues').click(); - cy.get('.icon-add').click(); - cy.fixture('issues').then((issue) => { - cy.get('#issue_subject').type(`${issue.newIssue.subject}.${random}`); - cy.get('#issue_description').type(issue.newIssue.description); - cy.get('[type="file"]').selectFile('cypress/fixtures/issues.json'); - }); - cy.get('[name="commit"]').click(); - cy.contains('#flash_notice', 'created'); - cy.contains('issues.json').click(); - cy.fixture('issues').then((uploadedFile) => { - cy.contains(uploadedFile.newIssue.subject); - cy.contains(uploadedFile.newIssue.description); - }); -}); diff --git a/.vib/redmine/cypress/cypress/fixtures/issues.json b/.vib/redmine/cypress/cypress/fixtures/issues.json deleted file mode 100644 index d229b3d829dd1d..00000000000000 --- a/.vib/redmine/cypress/cypress/fixtures/issues.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newIssue": { - "subject": "This is a first bug ever discovered", - "description": "Lorem ipsum bug sit amet" - } -} diff --git a/.vib/redmine/cypress/cypress/fixtures/projects.json b/.vib/redmine/cypress/cypress/fixtures/projects.json deleted file mode 100644 index 7e729fad6f6d67..00000000000000 --- a/.vib/redmine/cypress/cypress/fixtures/projects.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newProject": { - "name": "Unicorn Project", - "description": "Morbi eu mauris id nunc vulputate facilisis in et orci." - } -} diff --git a/.vib/redmine/cypress/cypress/support/commands.js b/.vib/redmine/cypress/cypress/support/commands.js deleted file mode 100644 index 3598706f44ead3..00000000000000 --- a/.vib/redmine/cypress/cypress/support/commands.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/login'); - cy.get('#username').type(username); - cy.get('#password').type(password); - cy.get('#login-submit').click(); - } -); diff --git a/.vib/redmine/cypress/cypress/support/e2e.js b/.vib/redmine/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/redmine/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/redmine/cypress/cypress/support/utils.js b/.vib/redmine/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/redmine/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/redmine/goss/goss.yaml b/.vib/redmine/goss/goss.yaml deleted file mode 100644 index a4a00e3f0bdfed..00000000000000 --- a/.vib/redmine/goss/goss.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/redmine: - exists: true - filetype: directory - mode: '2775' - owner: redmine - /bitnami/redmine/config/database.yml: - mode: "0664" - filetype: file - exists: true - group: root - contents: - - /username.*{{ .Vars.mariadb.auth.username }}/ - - /password.*{{ .Vars.mariadb.auth.password }}/ \ No newline at end of file diff --git a/.vib/redmine/runtime-parameters.yaml b/.vib/redmine/runtime-parameters.yaml deleted file mode 100644 index 07207617cda80e..00000000000000 --- a/.vib/redmine/runtime-parameters.yaml +++ /dev/null @@ -1,11 +0,0 @@ -redmineUsername: bitnamiTest -redminePassword: ComplicatedPassword123!4 -service: - port: 80 - type: LoadBalancer -databaseType: mariadb -mariadb: - enabled: true - auth: - username: bn_test_redmine - password: bitnami_test_password \ No newline at end of file diff --git a/.vib/redmine/vib-publish.json b/.vib/redmine/vib-publish.json deleted file mode 100644 index cb353bd7ca6d54..00000000000000 --- a/.vib/redmine/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redmine" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/redmine/vib-verify.json b/.vib/redmine/vib-verify.json deleted file mode 100644 index ff4b1f36764493..00000000000000 --- a/.vib/redmine/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redmine" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/redmine" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "redmine/goss/goss.yaml", - "vars_file": "redmine/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-redmine" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/redmine/cypress" - }, - "endpoint": "lb-redmine-http", - "app_protocol": "HTTP", - "env": { - "username": "bitnamiTest", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/schema-registry/cypress/cypress.config.js b/.vib/schema-registry/cypress/cypress.config.js deleted file mode 100644 index 2b874132cd6ddf..00000000000000 --- a/.vib/schema-registry/cypress/cypress.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - responseTimeout: 30000, - env: { - compatibilityLevel: 'BACKWARD', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/schema-registry/cypress/cypress/e2e/schema_registry.cy.js b/.vib/schema-registry/cypress/cypress/e2e/schema_registry.cy.js deleted file mode 100644 index d1e099a2359b43..00000000000000 --- a/.vib/schema-registry/cypress/cypress/e2e/schema_registry.cy.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import body from '../fixtures/schema.json'; - -it('can access the API and obtain global compatibility level', () => { - cy.request({ - method: 'GET', - url: '/config', - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.compatibilityLevel).to.contain(Cypress.env('compatibilityLevel')); - }); -}); - -it('can create a new schema and subject', () => { - const newSubject = 'test'; - cy.request({ - method: 'POST', - headers: { 'Content-Type': 'application/vnd.schemaregistry.v1+json' }, - url: `/subjects/${newSubject}/versions`, - body: body, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body.id).to.eq(1); - }); - - cy.request({ - method: 'GET', - url: '/subjects', - form: true, - }).then((response) => { - expect(response.status).to.eq(200); - expect(response.body).to.have.length(1); - expect(response.body).to.include(newSubject); - }); -}); diff --git a/.vib/schema-registry/cypress/cypress/fixtures/schema.json b/.vib/schema-registry/cypress/cypress/fixtures/schema.json deleted file mode 100644 index f0ffa4dc904741..00000000000000 --- a/.vib/schema-registry/cypress/cypress/fixtures/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "schema": "{\"type\": \"record\", \"name\": \"User\", \"fields\": [{\"name\": \"name\", \"type\": \"string\"}]}" -} diff --git a/.vib/schema-registry/cypress/cypress/support/e2e.js b/.vib/schema-registry/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/schema-registry/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/schema-registry/goss/goss.yaml b/.vib/schema-registry/goss/goss.yaml deleted file mode 100644 index 4dbef02fad99cd..00000000000000 --- a/.vib/schema-registry/goss/goss.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /opt/bitnami/schema-registry/etc/schema-registry/schema-registry.properties: - mode: "0644" - filetype: file - exists: true - contents: - - "listeners = {{ .Vars.listeners }}" - - "schema.compatibility.level = {{ .Vars.avroCompatibilityLevel }}" -command: - {{ if and .Vars.serviceAccount.create .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/schema-registry/runtime-parameters.yaml b/.vib/schema-registry/runtime-parameters.yaml deleted file mode 100644 index 825654b5ae7347..00000000000000 --- a/.vib/schema-registry/runtime-parameters.yaml +++ /dev/null @@ -1,9 +0,0 @@ -service: - type: LoadBalancer - ports: - http: 80 -listeners: http://0.0.0.0:8081 -avroCompatibilityLevel: backward -serviceAccount: - create: true -automountServiceAccountToken: true diff --git a/.vib/schema-registry/vib-publish.json b/.vib/schema-registry/vib-publish.json deleted file mode 100644 index 619d6cd7667b18..00000000000000 --- a/.vib/schema-registry/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/schema-registry" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/schema-registry/vib-verify.json b/.vib/schema-registry/vib-verify.json deleted file mode 100644 index 05cdadbb1990cf..00000000000000 --- a/.vib/schema-registry/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/schema-registry" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/schema-registry" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "schema-registry/goss/goss.yaml", - "vars_file": "schema-registry/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-schema-registry" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/schema-registry/cypress" - }, - "endpoint": "lb-schema-registry-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/scylladb/ginkgo/go.mod b/.vib/scylladb/ginkgo/go.mod deleted file mode 100644 index 44a966ec3d0a88..00000000000000 --- a/.vib/scylladb/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-scylladb-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/scylladb/ginkgo/go.sum b/.vib/scylladb/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/scylladb/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/scylladb/ginkgo/scylladb_suite_test.go b/.vib/scylladb/ginkgo/scylladb_suite_test.go deleted file mode 100644 index 7841c0b1059f17..00000000000000 --- a/.vib/scylladb/ginkgo/scylladb_suite_test.go +++ /dev/null @@ -1,92 +0,0 @@ -package scylladb_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - - v1 "k8s.io/api/core/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 500, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestScylladb(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Scylladb Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "scylladb", - Image: image, - Command: []string{"cqlsh", "-u", username, "-p", password, "-e", stmt}, - Env: []v1.EnvVar{ - { - Name: "CQLSH_HOST", - Value: stsName, - }, - { - Name: "CQLSH_PORT", - Value: port, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/scylladb/ginkgo/scylladb_test.go b/.vib/scylladb/ginkgo/scylladb_test.go deleted file mode 100644 index 8eb4dc64b07dca..00000000000000 --- a/.vib/scylladb/ginkgo/scylladb_test.go +++ /dev/null @@ -1,113 +0,0 @@ -package scylladb_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Scylladb", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a database is created and Scylladb is scaled down to 0 replicas and back up", func() { - It("should have access to the created database", func() { - By("checking all the replicas are available") - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "cql") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "scylladb") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test database") - createDBJobName := fmt.Sprintf("%s-createdb-%s", - stsName, jobSuffix) - dbName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createDBJobName, port, image, fmt.Sprintf("CREATE KEYSPACE %s WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor' : %d };", dbName, origReplicas)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, createDBJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test database") - deleteDBJobName := fmt.Sprintf("%s-deletedb-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteDBJobName, port, image, fmt.Sprintf("DROP KEYSPACE %s;", dbName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteDBJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("deleting the job once it has succeeded") - err = c.BatchV1().Jobs(namespace).Delete(ctx, deleteDBJobName, metav1.DeleteOptions{}) - Expect(err).NotTo(HaveOccurred()) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/scylladb/goss/goss.yaml b/.vib/scylladb/goss/goss.yaml deleted file mode 100644 index 57d9feb587e29d..00000000000000 --- a/.vib/scylladb/goss/goss.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.persistence.mountPath }}: - exists: true - filetype: directory - mode: "2775" - owner: root - /opt/bitnami/scylladb/etc/scylla/scylla.yaml: - exists: true - filetype: file - mode: "0644" - contents: - - /num_tokens.*{{ .Vars.cluster.numTokens }}/ -command: - {{- $dbUser := .Vars.dbUser.user }} - {{- $dbPassword := .Vars.dbUser.password }} - {{- $port := .Vars.containerPorts.cql }} - {{- $nodes := .Vars.replicaCount }} - {{- $keyspace := printf "test_%s" (randAlpha 5) }} - manage-keyspace: - exec: "cqlsh -u {{ $dbUser }} -p {{ $dbPassword }} -e 'CREATE KEYSPACE {{ $keyspace }} WITH REPLICATION = { $$class$$: $$SimpleStrategy$$, $$replication_factor$$ : {{ $nodes }} };' scylladb-0.scylladb-headless {{ $port }}{{ range $e, $i := until $nodes }} && cqlsh -u {{ $dbUser }} -p {{ $dbPassword }} -e 'USE {{ $keyspace }};' scylladb-{{ $i }}.scylladb-headless {{ $port }}{{ end }}" - exit-status: 0 - timeout: 20000 - cluster-size: - exec: if [ "$(nodetool status -p {{ .Vars.containerPorts.api }} | grep {{ .Vars.cluster.numTokens }} | wc -l)" -ne {{ $nodes }} ]; then exit 1; fi - exit-status: 0 - timeout: 20000 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/scylladb/runtime-parameters.yaml b/.vib/scylladb/runtime-parameters.yaml deleted file mode 100644 index e5ea5d7cd746f3..00000000000000 --- a/.vib/scylladb/runtime-parameters.yaml +++ /dev/null @@ -1,29 +0,0 @@ -dbUser: - user: test_scylladb - password: ComplicatedPassword123!4 -replicaCount: 2 -cluster: - numTokens: 256 -containerPorts: - intra: 7001 - tls: 7002 - cql: 9043 - cqlShard: 9099 - api: 12394 -persistence: - mountPath: /bitnami/scylladb -service: - ports: - cql: 80 - type: LoadBalancer -serviceAccount: - create: true -automountServiceAccountToken: true -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -sysctl: - enabled: true \ No newline at end of file diff --git a/.vib/scylladb/vib-action.config b/.vib/scylladb/vib-action.config deleted file mode 100644 index 36a99dc6a3af8f..00000000000000 --- a/.vib/scylladb/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL diff --git a/.vib/scylladb/vib-publish.json b/.vib/scylladb/vib-publish.json deleted file mode 100644 index 4729c7a4693d7b..00000000000000 --- a/.vib/scylladb/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/scylladb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/scylladb/vib-verify.json b/.vib/scylladb/vib-verify.json deleted file mode 100644 index c8393e3e70eea6..00000000000000 --- a/.vib/scylladb/vib-verify.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/scylladb" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/scylladb" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "scylladb/goss/goss.yaml", - "vars_file": "scylladb/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-scylladb" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/scylladb/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "scylladb", - "username": "test_scylladb", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/sealed-secrets/cypress/cypress.config.js b/.vib/sealed-secrets/cypress/cypress.config.js deleted file mode 100644 index e36fc00336e10e..00000000000000 --- a/.vib/sealed-secrets/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/sealed-secrets/cypress/cypress/e2e/sealed_secrets.cy.js b/.vib/sealed-secrets/cypress/cypress/e2e/sealed_secrets.cy.js deleted file mode 100644 index bbf79911f95d70..00000000000000 --- a/.vib/sealed-secrets/cypress/cypress/e2e/sealed_secrets.cy.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('retrives the public certificate correctly', () => { - cy.request('/v1/cert.pem').then((response) => { - expect(response.status).to.eq(200); - expect(response.headers['content-type']).to.eq('application/x-pem-file'); - expect(response.body).to.contain('END CERTIFICATE'); - }); -}); diff --git a/.vib/sealed-secrets/cypress/cypress/support/e2e.js b/.vib/sealed-secrets/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/sealed-secrets/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/sealed-secrets/ginkgo/go.mod b/.vib/sealed-secrets/ginkgo/go.mod deleted file mode 100644 index 51f4cbc7e5668e..00000000000000 --- a/.vib/sealed-secrets/ginkgo/go.mod +++ /dev/null @@ -1,62 +0,0 @@ -module vib-tests - -go 1.23.0 - -toolchain go1.24.1 - -require ( - github.com/onsi/ginkgo/v2 v2.7.0 - github.com/onsi/gomega v1.24.1 - k8s.io/apimachinery v0.25.2 - k8s.io/client-go v0.25.2 -) - -require ( - cloud.google.com/go v0.97.0 // indirect - github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest v0.11.27 // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.20 // indirect - github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect - github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.8.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.5 // indirect - github.com/go-openapi/swag v0.19.14 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.5.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect - google.golang.org/protobuf v1.33.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/api v0.25.2 // indirect - k8s.io/klog/v2 v2.70.1 // indirect - k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 // indirect - k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed // indirect - sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.2.0 // indirect -) diff --git a/.vib/sealed-secrets/ginkgo/go.sum b/.vib/sealed-secrets/ginkgo/go.sum deleted file mode 100644 index f555aed89fe37c..00000000000000 --- a/.vib/sealed-secrets/ginkgo/go.sum +++ /dev/null @@ -1,673 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0 h1:3DXvAyifywvq64LfkKaMOmkWPS1CikIQdMe2lY9vxU8= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.27 h1:F3R3q42aWytozkV8ihzcgMO4OA4cuqr3bNlsEuF6//A= -github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= -github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/adal v0.9.20 h1:gJ3E98kMpFB1MFqQCvA1yFab8vthOeD4VlFRQULxahg= -github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= -github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/emicklei/go-restful/v3 v3.8.0 h1:eCZ8ulSerjdAiaNpF7GxXIE7ZCMo1moN1qX+S609eVw= -github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= -github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -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/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= -golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/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.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.25.2 h1:v6G8RyFcwf0HR5jQGIAYlvtRNrxMJQG1xJzaSeVnIS8= -k8s.io/api v0.25.2/go.mod h1:qP1Rn4sCVFwx/xIhe+we2cwBLTXNcheRyYXwajonhy0= -k8s.io/apimachinery v0.25.2 h1:WbxfAjCx+AeN8Ilp9joWnyJ6xu9OMeS/fsfjK/5zaQs= -k8s.io/apimachinery v0.25.2/go.mod h1:hqqA1X0bsgsxI6dXsJ4HnNTBOmJNxyPp8dw3u2fSHwA= -k8s.io/client-go v0.25.2 h1:SUPp9p5CwM0yXGQrwYurw9LWz+YtMwhWd0GqOsSiefo= -k8s.io/client-go v0.25.2/go.mod h1:i7cNU7N+yGQmJkewcRD2+Vuj4iz7b30kI8OcL3horQ4= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= -k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1 h1:MQ8BAZPZlWk3S9K4a9NCkIFQtZShWqoha7snGixVgEA= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/.vib/sealed-secrets/ginkgo/integration_suite_test.go b/.vib/sealed-secrets/ginkgo/integration_suite_test.go deleted file mode 100644 index 1e871a2542420c..00000000000000 --- a/.vib/sealed-secrets/ginkgo/integration_suite_test.go +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/dynamic" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - // For client auth plugins - _ "k8s.io/client-go/plugin/pkg/client/auth" -) - -const APP_NAME = "SealedSecrets" - -var kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") -var namespace = flag.String("namespace", "", "namespace name in which the application is deployed") - -var sealedSecretType = schema.GroupVersionResource{Group: "bitnami.com", Version: "v1alpha1", Resource: "sealedsecrets"} - -func clusterConfigOrDie() *rest.Config { - var config *rest.Config - var err error - - if *kubeconfig != "" { - config, err = clientcmd.BuildConfigFromFlags("", *kubeconfig) - } else { - config, err = rest.InClusterConfig() - } - if err != nil { - panic(err.Error()) - } - - return config -} - -func createSealedSecretResourceOrDie(ctx context.Context, dC dynamic.Interface, name string, encryptedData *unstructured.Unstructured) *unstructured.Unstructured { - payload := &unstructured.Unstructured{ - Object: map[string]interface{}{ - "apiVersion": "bitnami.com/v1alpha1", - "kind": "SealedSecret", - "metadata": map[string]interface{}{ - "name": name, - "annotations": map[string]interface{}{ - "sealedsecrets.bitnami.com/cluster-wide": "true", - }, - }, - "spec": map[string]interface{}{ - "encryptedData": encryptedData, - "metadata": map[string]interface{}{ - "name": name, - "annotations": map[string]interface{}{ - "sealedsecrets.bitnami.com/cluster-wide": "true", - }, - }, - }, - }, - } - - res, err := dC.Resource(sealedSecretType).Namespace(*namespace).Create(ctx, payload, metav1.CreateOptions{}) - if err != nil { - panic(fmt.Sprintf("There was an error creating the SealedSecret resource: %s", err)) - } - - return res -} - -func isSecretAvailable(ctx context.Context, tC corev1.CoreV1Interface, name string) (bool, error) { - _, err := tC.Secrets(*namespace).Get(ctx, name, metav1.GetOptions{}) - return err == nil, err -} - -func retry(name string, attempts int, sleep time.Duration, f func() (bool, error)) (res bool, err error) { - for i := 0; i < attempts; i++ { - fmt.Printf("[retriable] operation %q executing now [attempt %d/%d]\n", name, (i + 1), attempts) - res, err = f() - if res { - fmt.Printf("[retriable] operation %q succedeed [attempt %d/%d]\n", name, (i + 1), attempts) - return res, err - } - fmt.Printf("[retriable] operation %q failed, sleeping for %q now...\n", name, sleep) - time.Sleep(sleep) - } - fmt.Printf("[retriable] operation %q failed [attempt %d/%d]\n", name, attempts, attempts) - return res, err -} - -func CheckRequirements() { - if *namespace == "" { - panic(fmt.Sprintf("The namespace where %s is deployed must be provided. Use the '--namespace' flag", APP_NAME)) - } -} - -func TestIntegration(t *testing.T) { - RegisterFailHandler(Fail) - CheckRequirements() - RunSpecs(t, fmt.Sprintf("%s Integration Tests", APP_NAME)) -} diff --git a/.vib/sealed-secrets/ginkgo/sealed_secrets_test.go b/.vib/sealed-secrets/ginkgo/sealed_secrets_test.go deleted file mode 100644 index c6fd49c0e8abc7..00000000000000 --- a/.vib/sealed-secrets/ginkgo/sealed_secrets_test.go +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright Broadcom, Inc. All Rights Reserved. -// SPDX-License-Identifier: APACHE-2.0 - -package integration - -import ( - "context" - "time" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/client-go/dynamic" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" -) - -var _ = Describe("SealedSecrets", func() { - var typedClient corev1.CoreV1Interface - var dynamicClient dynamic.Interface - var ctx context.Context - - BeforeEach(func() { - typedClient = corev1.NewForConfigOrDie(clusterConfigOrDie()) - dynamicClient = dynamic.NewForConfigOrDie(clusterConfigOrDie()) - ctx = context.Background() - }) - - When("a SealedSecret resource is created", func() { - const sealedSecretResourceName = "vib-test-sealed-secret" - unencryptedDataPayload := map[string]string{"foo": "bar"} - encryptedDataPayload := &unstructured.Unstructured{ - Object: map[string]interface{}{ - "foo": "AgDXiCI/lySV5EpoffWJPrkdN7056rdkNl8UC7Jx2uBxRXdb2VliT/3HHyWfcJeFT9SlLBfuayYd6o7CD97lrr3biG6sqf7aYvZU1hvzn8D3Hsi1hSHFnUKz562dre4I57vzHFIlPqbivbSBpHg7lcMnuy1JqXwzyi/CGb+ApS53CVHT+3CcW/zW5orcUpblOBXGoXCfZOqkDqEoVBNyWHM9ZGFACJKP4ivpumyzvvAUb5hSfQEfSLzzyc08E2l8AHipjxmzOI+javMT6k1F1ctfBUICx3Ic1lUrhgzZ9qOfpx2+tcicikYz2zHpwPFVLbg67m+YBQei9mLAm/F8nN7GvBKVfNqo+tg6XJkABIY9elitUxaUA/4MfUFlDKV7e3vjJuyy7zvMT/Ywh3gA4xsFJS04aBJu8TW9Z2rgE1bnlKs8larjGzBCO5eXIFIUEgquG3OiCbZdPj0o4/v4/WC1PBOq3pqwRJylAZqIFru7W9vSb1oeekGtTgKCfzTI6qbpph5F6Xc0nVdexLWlrxEMSum+Apb2vNrfzW9j5vn46C7v1tEtwcZmVE+y/T8U04/IRt0aLfYzIxa0yICnx+bbP+Xwiu+3UQw3/RPcDwwOgCIp9XPc5D9ZRKTfJGW360drwoqT+ui89YpjXN2QPp1SlYj4QsEYjAlpnQsviDPgjdly6Qg9I5yIXXSbxiHAvIM8jxo=", - }, - } - - BeforeEach(func() { - createSealedSecretResourceOrDie(ctx, dynamicClient, sealedSecretResourceName, encryptedDataPayload) - - // The unsealed Secret may take some time to be created. Wait (5*1) seconds. - isAvailable, _ := retry("isSecretAvailable", 5, 1*time.Second, func() (bool, error) { return isSecretAvailable(ctx, typedClient, sealedSecretResourceName) }) - Expect(isAvailable).To(BeTrue()) - }) - AfterEach(func() { - // Not need to panic here if failed, the cluster is expected to clean up with the undeployment - dynamicClient.Resource(sealedSecretType).Namespace(*namespace).Delete(ctx, sealedSecretResourceName, metav1.DeleteOptions{}) - }) - - It("should have unsealed the secret correctly", func() { - // The unsealed secret should have the same name as the SealedSecret resource - secret, err := typedClient.Secrets(*namespace).Get(ctx, sealedSecretResourceName, metav1.GetOptions{}) - Expect(err).ShouldNot(HaveOccurred()) - - for expectedK, expectedV := range unencryptedDataPayload { - unencryptedValue, found := secret.Data[expectedK] - Expect(found).To(BeTrue()) - Expect(expectedV == string(unencryptedValue)).To(BeTrue()) - } - }) - - When("the associated secret is deleted", func() { - BeforeEach(func() { - err := typedClient.Secrets(*namespace).Delete(ctx, sealedSecretResourceName, metav1.DeleteOptions{}) - Expect(err).ShouldNot(HaveOccurred()) - }) - - It("should have recreated the unsealed secret", func() { - isAvailable, _ := retry("isSecretAvailable", 5, 1*time.Second, func() (bool, error) { return isSecretAvailable(ctx, typedClient, sealedSecretResourceName) }) - Expect(isAvailable).To(BeTrue()) - }) - }) - }) -}) diff --git a/.vib/sealed-secrets/runtime-parameters.yaml b/.vib/sealed-secrets/runtime-parameters.yaml deleted file mode 100644 index be572a3b5cfec0..00000000000000 --- a/.vib/sealed-secrets/runtime-parameters.yaml +++ /dev/null @@ -1,17 +0,0 @@ -service: - type: LoadBalancer - ports: - http: 80 -rbac: - create: true -extraDeploy: - - apiVersion: v1 - kind: Secret - type: kubernetes.io/tls - metadata: - name: vib-sealed-secrets-certs - labels: - sealedsecrets.bitnami.com/sealed-secrets-key: active - data: - tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV6VENDQXJXZ0F3SUJBZ0lSQU8yU0FJMUIwQThlVHhDL1VMa3RsTkV3RFFZSktvWklodmNOQVFFTEJRQXcKQURBZUZ3MHlNakV4TWpjeU1USTNNak5hRncwek1qRXhNalF5TVRJM01qTmFNQUF3Z2dJaU1BMEdDU3FHU0liMwpEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUURacDliaDc5dVFWak9CMnRNYVVvcHhiYkhYRUI3MTF4b0dqWXZBCmF2RkY1L2lETWZLejNxNnNWVkUrQ3hzalJzOHNvZkJUS3pGOXFoT0tmQjJsVjdwS25kUnRQYTdHSEsvcllRb0gKNmg1SmhvckNzV3BSOFFlekJPUkJWekJxYU5NSzVPbHJyQWt4dUI4dmp2c3FadDBnaXRxSzBRWFo3d2xYbG9VVQp4QjR1MDNQMTBvWENjOCtLUXdHZ0lkZXN3UnhQY2d6VWlBU29YWWpvczk2VnlHRnpJVlpKdU0vYXI5U0QxaURzCm9aNng2RGEvZUx3TERmY1lOTEhDOW9Zaks5cVdzMmVtQ3pNSFFqZVoxZ3lrUDA4bTBlZExmeDlIWnVBZ0wzNjQKRUk3RmFCNEZ0Z2RxaUVmdG5IRk5NdzR1WUpuRFV6M1kwbzQwc0hKNmpLM3V6OGx6TDdEQ3hMM04zVGFWM2lkaQozZ0ExZ1Vta2ZRN0t3U09IelFOd0lkZGd0YXcvaHZ4Um5EQjNnbGJHR1d0aDIyZ0ZUOElLUFB0WlRrMWF2VnNkCkZ2QytDNHZIa29abmpHVnZDekdKaGhKbVR1MUF0YTdrektOYURTVjJTaHVKckFKWnpWOVIvSUl2QTJKN0I0bEkKQjNEclVvWW5KT3NSSjJBMTFhbnBKY3MwSUh5RFdsQnlRUGErMFRSajhZMjY5bnFaMytHMTU3b0hmbm9nNTlBLwpHelE3MS9ZYitxaDJSajZVaTl0QkdXd2JBT0xnbnJmSSs5dWVLTFlSR0hoTTZyb3RCYlV4cDEvNGRXd25mSzU4CjkvekNQeDNZdlpMMFZqelc2cmxUbWFnVTZiK1VXazc5OFQ2emNYaW5vSmhKTzVqQVpmbnZrMXNvV2tHaHlSdTUKQWZBWld3SURBUUFCbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQUFFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZApCZ05WSFE0RUZnUVU1U2pRWWRhT2VJWWVGQXJsQ2d2L2V5OWhiY293RFFZSktvWklodmNOQVFFTEJRQURnZ0lCCkFGNHluNlBOTGFkU3h6VDlmNmhVa3dSTzRHc2lpbnMzbW5CWm0rMmZEa25aUTZyYW1NdzA5YmNMZG5lcGJpekkKWUhnQmVSRnp6ODhvdHFIbWN6TFBUN3pFN1RBUmNwci9QWi9vV1hoRTMySmU5MCthWm1weCttU1dEKzdCTWxnVApHdVZvMUZNbGM4YnN0VVFqaCtoNDZCWE1UOXJncll6Y0RXT2FQMEZ2ckNqUi9UMXRjZ3lqZ0lNUHpRVyt0cHVsClZXK1RqYmt5di9aZERvSHoyZG9KOTN0M0RPYVJtd0RqbU13cmVLT0w0TVFEbUVjLzh0cmJNV3pQVWt1NTdCNHEKRERyRDhTWEROeWdZSWhBMDZFVm0zMjh4akdFWWZWc1UvNVV1QStSQ0lWVnpPVkpxWkI1UjVhcktkY2FJN09VRwpRd1pXUlVVR2dLMXAzeW9tQi9vU2pzTnhINUJrNEM4SEtnaHpuWUNKc1h6MVg4Y3NUY0JJbUUvSEpCbVRuMFVQClQ4SjIvWkhIaGUrYmUvdDhIL0VsdzNpTXVaVnJUTFppcVdGTFVJVEpzTW5Md3dEbFM4NHg4T3E2aXp4NnFZRWEKaVRrSk5WSmxkNnA3dVA4dTdPUWpWandPMHhadERDK2Q2QkY1NWF0R0RyMlJvei8yT1Z1WnpGUXJPeFpWcURqaQpEYUtlWElnNm5FQ09udnQwaU5Mem5oeEYvTDRmVzZ4WEM4Q1psYXEyL0Z0RlkzZy9jVGhmNzdvVWhQb1FlcUdpCkhVV2RzOWhGZnRuajk3VzBlUXVVTG1Vd2tHclJ4MXByS0R0cUpnbDdxRUZ3NzRUaEFNekVaYWtmVm9nUzV3L0UKUFJkTlNRREExcG15U3plZmU5NUJOMTV1bVM4T2pwejZMS21YYnpqYkVxZDQKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS3dJQkFBS0NBZ0VBMmFmVzRlL2JrRll6Z2RyVEdsS0tjVzJ4MXhBZTlkY2FCbzJMd0dyeFJlZjRnekh5CnM5NnVyRlZSUGdzYkkwYlBMS0h3VXlzeGZhb1RpbndkcFZlNlNwM1ViVDJ1eGh5djYyRUtCK29lU1lhS3dyRnEKVWZFSHN3VGtRVmN3YW1qVEN1VHBhNndKTWJnZkw0NzdLbWJkSUlyYWl0RUYyZThKVjVhRkZNUWVMdE56OWRLRgp3blBQaWtNQm9DSFhyTUVjVDNJTTFJZ0VxRjJJNkxQZWxjaGhjeUZXU2JqUDJxL1VnOVlnN0tHZXNlZzJ2M2k4CkN3MzNHRFN4d3ZhR0l5dmFsck5ucGdzekIwSTNtZFlNcEQ5UEp0SG5TMzhmUjJiZ0lDOSt1QkNPeFdnZUJiWUgKYW9oSDdaeHhUVE1PTG1DWncxTTkyTktPTkxCeWVveXQ3cy9KY3krd3dzUzl6ZDAybGQ0bll0NEFOWUZKcEgwTwp5c0VqaDgwRGNDSFhZTFdzUDRiOFVad3dkNEpXeGhscllkdG9CVS9DQ2p6N1dVNU5XcjFiSFJid3ZndUx4NUtHClo0eGxid3N4aVlZU1prN3RRTFd1NU15aldnMGxka29iaWF3Q1djMWZVZnlDTHdOaWV3ZUpTQWR3NjFLR0p5VHIKRVNkZ05kV3A2U1hMTkNCOGcxcFFja0QydnRFMFkvR051dlo2bWQvaHRlZTZCMzU2SU9mUVB4czBPOWYyRy9xbwpka1krbEl2YlFSbHNHd0RpNEo2M3lQdmJuaWkyRVJoNFRPcTZMUVcxTWFkZitIVnNKM3l1ZlBmOHdqOGQyTDJTCjlGWTgxdXE1VTVtb0ZPbS9sRnBPL2ZFK3MzRjRwNkNZU1R1WXdHWDU3NU5iS0ZwQm9ja2J1UUh3R1ZzQ0F3RUEKQVFLQ0FnRUFtdCtUeG5idkM5aGFsRGJKNmJ2NzZOUStMQ0s3ZFFEVzh2eTdDWExQTllmblRDczVZSVcrVXIvdQpyREFvNGtRYlhNM3AvTFFLWmptajUvR0RBc2pXdFF0elFUd1g1YjQ1NjBuRVluZFRqOHZkWnNYcE9sOUF0RUJ4CnpwQ2swY0svRU14cno0SzlsQlJJbElXdjhLNzYvNUh1Q2NMTDRCUDMyTXd3NitMVSswclpBMzBHVXFRbmRHRlQKZ2NjeStTajc1UWZwV3oxaDJ3K2JRTUhrU3o0bklVNENZVGpSSmZIaFRPSUwwWFQ3UCtwVk1vOU5kcXc4TzR3YgpSUGczNEVUdktEYUdOUjlZOHZ4S0pmdXFTU0VIU0Q4cHpvMnBDeHlIdEQ4M2N1L05OMmhybkhLMitqWDR3SG1HCklZR0h3TFphRXlOakthcEJKL3E1cXJ2NWM2bUUxRklkcnlSZTRnOXg4YmRIZHM3YjgrWnUvVlBVNEZLWUVWTXUKcFlxdWE2dDJlcHZxRGRqVm1ZcWphN2pRVG81TlBUWmlsaGJkZHk4Zko4WmJ6ZFRyZHNHT2k3RHA4azZpYVRPUApYdjdUWllhUjZWNzNMRThWTkdwQjFNTHlZbis3RHJISktrM01KTjV5NWNGTngwRFNYbHpqeUJxZDBobFUwTHYwCkcyeDc5ajE4ZXZFNjRoeSsrb3Q3dnlwb3REblFFSmc3ZUpqalM4ZVBMWCtMUU5qK25CdVg3UFFacExEaVF1M0QKUkVrV2UrVkM3amVJMWxVc1hoL3NJOTZ1WDV5ZkFuSWc3dXFSNi9mN0k5UkkxV2U4aWRGVm1OVTVrODdvSm9qbApoS1pFbXZqWWZDMzVreER2ZTFERTZSVjl3TW9DUU16NGJ5OU90YUlOdEpFSEpsa2I0bEVDZ2dFQkFQajYzZlRCCjQ0b2hIMnREUmZDRGFQb2JrK3AybllJU29oMUgyclNKMVQzVkg5ZkduYTBtNldudDNPcFg3QUxXaytFT0pZZlgKa3lKMGJodWNEZmxkb2NFcXFYOFpTRmJVSnRXd3NYbm1zVDA3VklNdzBZL1lrUTc5b3g1THhObjhmY29kQ0RrNwpmSGorYy9XNU9QZnNEWmJSNEhUbkx1QkcxWmtWZmVBVDJDYXlkU0ozOThoNXB3T0p1NTVadTg3TUhmRllUVmFVCldsNjQxdUFjYkpwQTlpRFBTYmx5OXVVajlRRkdUV1J0QkxuRmVKZGVDbFlXS254cFNoeWpUZnZQYU5WSWdhSHIKMnM1bVdhQm1IUzdrUVlwdFA2Yy9XNzF5S3UxMG9PZ2lhVVJReXlTUzlzNDBkU2prZ3Y3RTRCVDF5SURORDV0RwprL2krNzdWS3o3dkRzbWtDZ2dFQkFOL0szN2trTU5JMnRSQVRjR0tyNFRTZHA1ZzFrZ01pRWNHVjEvekt6ODlLClAxRzZXMDhkZXdNT0lFc2ZZeXF3ZG1GMURPd21FdkpYVmUwcjJNMWRCeXZ4WlZBWU9uWlk0elhLaGZjQUdkT28KeHZTNXBHQ29xZ0JFaXBEZ0xqWG1JME9hcStGRTcrUFRCYkRKQ05PWWhnNWpqbFRFSm54eFdQeHRwTFVoNy9WYwpVMWlCTU5GV3FlWEdrdzZoM25wRnF1SWluWUIvWVI3TGFXMVVJcFh5SG5KWmNFZkZkeWNqaDBzV1VrYVVFTjh5ClAzN3l4U2NhckFNUmVUVDlPbUdJVmd5TzlabWtpdlBQeUFMN05SOUVkMjNRM0NJeXpsckZBbklxU2lrRkhoSU4KNzk4RDlCQWROWEF5U1BNWjhpOThXQksxK29qMjV4c3ArcVF5TVJKNGJTTUNnZ0VCQUswMkVaM0tHVnNxS2VwOApWYmE2SlJrQ2dJZjMxeUg3aG82cVEydWdEQnJGSHk4RS9RTE45RXArY1ZjU3JaMVgzRzhRWVdtOHZwNlVzMWsvCjJyVGx2N2RiejZrZFZLY2JWcDBKSEo3NnI4a3ljbHdHWlhRV0xPeHA1Y1lZM2l6c3JESWt1bWplaW55K1FMdnQKRE1YbGtacWdEZkFtT1FWTUlpTXF3WFJYT2VQSitSVnVzcEhrbUIwcy83cHRJT3dBTXNDSk50eUp2c2p3L0lQVApJbmE1eE1FVWxHeVFuMVRRREEzRDgrbHVzbi91OGpNVCtFcmxoczhnaksrWnFKSUxQQnBOSStvYTVCRDlRVk1HClZ6MGRETCtadTFQR0R6T2ZybCtkNktjMThWZldnVXpEZFRJRmFwQjFVUENlMUdtZ2g4bWJYMFVkOTZsd1krRVMKMTZ2L3ZDa0NnZ0VCQUphZ3gwcW5LRkVsVDJOZG9pUlh5Z0lQSnpIVXhNMWxEZ3g5WGQ0aGFCUCt4bldzK0M1ZApDbUg1RFJWakwrMFl6dVV6MHBuVDJxYlF6OTROeUNRWnZHMEFVby9CYndBZlBmY0R0SDJXek10ZzYyRG0zdFBNClVuaFJxZTV2WmNzVGRxTFhKVjgvZGpPaTRrNm1VVkdTZEpDVXc4VWNMVWRQUjNUSUc3ZHErMGJyZUpHMml2UXIKMzdqdm1pV2NIOUd1dUtEeWFZNkdyZ2o3SXAvYXBGakdtV1dmKzJuamFCcW8yRFJhOXMvWWN5NjNkSE51MWZKSApDb1lhS2JuWHc0YklMQnJSMGs4eXAvQUk1M2ZTTzJRclFqTmhBL25rdG0zejhueURLRjFKdTM2dGNNbHJzTWR6CjBYY044WG5tK2RLcVgrRmdLUnd0QzBxR1M5UmVrQmI5aFg4Q2dnRUJBSlRHY1QzMFcxOE9nOGhkak1zQy8xbVUKNnEyNXY3NDVJSlk5Z1JJMTJjYUNBc1VzMnlZUTBlSTViNXE4NVI5U3FwNTkwbm1Xa2Y5ZEk2L3gyeFFsU1U5dQpSVytrMi81NnZ3aUpPbEw5MmwrWnlSK0JCR2luZlgvaFdFRjM0VmtRR0xMYVF0WStiM3B0RlJHV1ZHeDVucUFyCk9qMmxCNndlaTdpRS9DZ3diY1JmQU1EdXIvbGlzQUw5cU1XY2lYV1lrZ0c1VGNxSGJKZmhGM1BEODk4TmJNNGEKVHBaUTJMekZPMkt1blRqY0FNdERoOXJ2a1BiRk5adWt5NkxaSXhmZDhUb29RMWhiVFpJS1BxUThnSTFDS1FQdwp2U2JScjNmZUEyeVhyUGZiTUlZWUFoQW5CRzZPR3pwNzFQMG9xa0UrUG9ESnByOTBSYUlhTkhqTnBQN0I2dWM9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== \ No newline at end of file diff --git a/.vib/sealed-secrets/vib-action.config b/.vib/sealed-secrets/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/sealed-secrets/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/sealed-secrets/vib-publish.json b/.vib/sealed-secrets/vib-publish.json deleted file mode 100644 index 65a8b84ee6adb9..00000000000000 --- a/.vib/sealed-secrets/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/sealed-secrets" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/sealed-secrets/vib-verify.json b/.vib/sealed-secrets/vib-verify.json deleted file mode 100644 index b617b381b10e08..00000000000000 --- a/.vib/sealed-secrets/vib-verify.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/sealed-secrets" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/sealed-secrets" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/sealed-secrets/cypress" - }, - "endpoint": "lb-sealed-secrets-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/sealed-secrets/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/seaweedfs/cypress/cypress.config.js b/.vib/seaweedfs/cypress/cypress.config.js deleted file mode 100644 index 4b4c5153bdac3f..00000000000000 --- a/.vib/seaweedfs/cypress/cypress.config.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - defaultCommandTimeout: 60000, - env: { - masterPortHttp: '9333', - masterPortGrpc: '19333', - volumePortHttp: '8080', - volumePortGrpc: '18080', - filerPortHttp: '8888', - filerPortGrpc: '18888', - s3PortHttp: '8333', - s3PortGrpc: '18333', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/seaweedfs/cypress/cypress/e2e/seaweedfs.cy.js b/.vib/seaweedfs/cypress/cypress/e2e/seaweedfs.cy.js deleted file mode 100644 index 54a89a2689c006..00000000000000 --- a/.vib/seaweedfs/cypress/cypress/e2e/seaweedfs.cy.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('allows obtaining cluster status from Master Server', () => { - cy.request('/cluster/status').then((response) => { - expect(response.status).to.eq(200); - expect(response.body).to.have.property('Leader'); - }); -}); diff --git a/.vib/seaweedfs/cypress/cypress/support/e2e.js b/.vib/seaweedfs/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/seaweedfs/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/seaweedfs/ginkgo/go.mod b/.vib/seaweedfs/ginkgo/go.mod deleted file mode 100644 index f51164acde7515..00000000000000 --- a/.vib/seaweedfs/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-seaweedfs-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/seaweedfs/ginkgo/go.sum b/.vib/seaweedfs/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/seaweedfs/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/seaweedfs/ginkgo/seaweedfs_suite_test.go b/.vib/seaweedfs/ginkgo/seaweedfs_suite_test.go deleted file mode 100644 index 478334a8ca5ae7..00000000000000 --- a/.vib/seaweedfs/ginkgo/seaweedfs_suite_test.go +++ /dev/null @@ -1,234 +0,0 @@ -package seaweedfs_test - -import ( - "context" - "errors" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/api/resource" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - kindDownload string = "download" - kindUpload string = "upload" -) - -var ( - kubeconfig string - releaseName string - namespace string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&namespace, "namespace", "", "namespace where SeaweedFS is running") - flag.StringVar(&releaseName, "releaseName", "", "SeaweedFS chart release name") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestSeaweedFS(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "SeaweedFS Persistence Test Suite") -} - -func createPVC(ctx context.Context, c kubernetes.Interface, name, size string) error { - storageRequest, err := resource.ParseQuantity(size) - if err != nil { - return err - } - - pvc := &v1.PersistentVolumeClaim{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - Spec: v1.PersistentVolumeClaimSpec{ - AccessModes: []v1.PersistentVolumeAccessMode{v1.ReadWriteOnce}, - Resources: v1.ResourceRequirements{ - Requests: v1.ResourceList{ - v1.ResourceStorage: storageRequest, - }, - }, - }, - } - - _, err = c.CoreV1().PersistentVolumeClaims(namespace).Create(ctx, pvc, metav1.CreateOptions{}) - - return err -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, pvcName, kind string, fsGroup, user *int64) error { - podSecurityContext := &v1.PodSecurityContext{ - FSGroup: fsGroup, - FSGroupChangePolicy: &[]v1.PodFSGroupChangePolicy{v1.FSGroupChangeAlways}[0], - } - containerSecurityContext := &v1.SecurityContext{ - RunAsUser: user, - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - - args := []string{"-ec"} - switch kind { - case kindDownload: - downloadCmd := `cd /tmp -cat /data/fid | xargs weed download -server ${MASTER_HOST}:${MASTER_PORT} -[ -f .spdx-seaweedfs.spdx ] && echo "successful download" -` - args = append(args, downloadCmd) - case kindUpload: - // Response format: "[{"fileName":"FOO","url":"HOST:PORT/ID","fid":"ID","size":SIZE}]" - uploadCmd := `weed upload -master ${MASTER_HOST}:${MASTER_PORT} .spdx-seaweedfs.spdx | awk -F '","' '{print $3}' | awk -F '":"' '{print $2}' | tee /data/fid` - args = append(args, uploadCmd) - default: - return errors.New("job kind not supported") - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - SecurityContext: podSecurityContext, - Containers: []v1.Container{ - { - Name: "seaweedfs", - Image: image, - Command: []string{"bash"}, - Args: args, - Env: []v1.EnvVar{ - { - Name: "MASTER_HOST", - Value: fmt.Sprintf("%s-master", releaseName), - }, - { - Name: "MASTER_PORT", - Value: port, - }, - }, - SecurityContext: containerSecurityContext, - VolumeMounts: []v1.VolumeMount{ - { - Name: "data", - MountPath: "/data", - }, - { - Name: "security-config", - MountPath: "/etc/seaweedfs/security.toml", - SubPath: "security.toml", - }, - { - Name: "ca-cert", - MountPath: "/certs/ca", - }, - { - Name: "master-cert", - MountPath: "/certs/master", - }, - { - Name: "filer-cert", - MountPath: "/certs/filer", - }, - { - Name: "volume-cert", - MountPath: "/certs/volume", - }, - { - Name: "client-cert", - MountPath: "/certs/client", - }, - }, - }, - }, - Volumes: []v1.Volume{ - { - Name: "data", - VolumeSource: v1.VolumeSource{ - PersistentVolumeClaim: &v1.PersistentVolumeClaimVolumeSource{ - ClaimName: pvcName, - }, - }, - }, - { - Name: "security-config", - VolumeSource: v1.VolumeSource{ - ConfigMap: &v1.ConfigMapVolumeSource{ - LocalObjectReference: v1.LocalObjectReference{ - Name: fmt.Sprintf("%s-security", releaseName), - }, - }, - }, - }, - { - Name: "ca-cert", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-ca-crt", releaseName), - }, - }, - }, - { - Name: "master-cert", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-master-crt", releaseName), - }, - }, - }, - { - Name: "filer-cert", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-filer-crt", releaseName), - }, - }, - }, - { - Name: "volume-cert", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-volume-crt", releaseName), - }, - }, - }, - { - Name: "client-cert", - VolumeSource: v1.VolumeSource{ - Secret: &v1.SecretVolumeSource{ - SecretName: fmt.Sprintf("%s-client-crt", releaseName), - }, - }, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/seaweedfs/ginkgo/seaweedfs_test.go b/.vib/seaweedfs/ginkgo/seaweedfs_test.go deleted file mode 100644 index a372fce989e1b6..00000000000000 --- a/.vib/seaweedfs/ginkgo/seaweedfs_test.go +++ /dev/null @@ -1,129 +0,0 @@ -package seaweedfs_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("SeaweedFS", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a file is uploaded and SeaweedFS is scaled down to 0 replicas and back up", func() { - It("should have access to the uploaded file", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - masterStsName := fmt.Sprintf("%s-master", releaseName) - masterSts, err := c.AppsV1().StatefulSets(namespace).Get(ctx, masterStsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - fsGroup := masterSts.Spec.Template.Spec.SecurityContext.FSGroup - runAsUser := masterSts.Spec.Template.Spec.Containers[0].SecurityContext.RunAsUser - volumeStsName := fmt.Sprintf("%s-volume", releaseName) - volumeSts, err := c.AppsV1().StatefulSets(namespace).Get(ctx, volumeStsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(masterSts.Status.Replicas).NotTo(BeZero()) - Expect(volumeSts.Status.Replicas).NotTo(BeZero()) - masterOrigReplicas := *masterSts.Spec.Replicas - volumeOrigReplicas := *volumeSts.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, masterStsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(masterOrigReplicas))) - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, volumeStsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(volumeOrigReplicas))) - - masterHeadlessSvcName := fmt.Sprintf("%s-master-headless", releaseName) - svc, err := c.CoreV1().Services(namespace).Get(ctx, masterHeadlessSvcName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "http") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(masterSts, "seaweedfs") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - By("creating a pvc") - pvcName := fmt.Sprintf("weed-%s", jobSuffix) - err = createPVC(ctx, c, pvcName, "1G") - Expect(err).NotTo(HaveOccurred()) - - By("creating a job to upload a file") - uploadJobName := fmt.Sprintf("weed-upload-%s", jobSuffix) - err = createJob(ctx, c, uploadJobName, port, image, pvcName, kindUpload, fsGroup, runAsUser) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, uploadJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the master & volume servers") - _, err = utils.StsRolloutRestart(ctx, c, masterSts) - Expect(err).NotTo(HaveOccurred()) - - for i := int(masterOrigReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", masterStsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, masterStsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(masterOrigReplicas))) - - _, err = utils.StsRolloutRestart(ctx, c, volumeSts) - Expect(err).NotTo(HaveOccurred()) - - for i := int(volumeOrigReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", volumeStsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, volumeStsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(volumeOrigReplicas))) - - By("creating a job to download the file") - downloadJobName := fmt.Sprintf("weed-download-%s", jobSuffix) - err = createJob(ctx, c, downloadJobName, port, image, pvcName, kindDownload, fsGroup, runAsUser) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, downloadJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/seaweedfs/runtime-parameters.yaml b/.vib/seaweedfs/runtime-parameters.yaml deleted file mode 100644 index 52ea110caa3f44..00000000000000 --- a/.vib/seaweedfs/runtime-parameters.yaml +++ /dev/null @@ -1,11 +0,0 @@ -security: - enabled: true - mTLS: - enabled: true - autoGenerated: - enabled: true -master: - service: - type: LoadBalancer - ports: - http: 80 diff --git a/.vib/seaweedfs/vib-publish.json b/.vib/seaweedfs/vib-publish.json deleted file mode 100644 index c6e4ac9003ed86..00000000000000 --- a/.vib/seaweedfs/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/seaweedfs" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/seaweedfs/vib-verify.json b/.vib/seaweedfs/vib-verify.json deleted file mode 100644 index d6417719864fa2..00000000000000 --- a/.vib/seaweedfs/vib-verify.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/seaweedfs" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/seaweedfs" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/seaweedfs/cypress" - }, - "endpoint": "lb-seaweedfs-master-http", - "app_protocol": "HTTP", - "env": { - "masterPortHttp": "9333", - "masterPortGrpc": "19333", - "volumePortHttp": "8080", - "volumePortGrpc": "18080", - "filerPortHttp": "8888", - "filerPortGrpc": "18888", - "s3PortHttp": "8333", - "s3PortGrpc": "18333" - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/seaweedfs/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "releaseName": "seaweedfs" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/solr/cypress/cypress.config.js b/.vib/solr/cypress/cypress.config.js deleted file mode 100644 index 33d99cf91b4489..00000000000000 --- a/.vib/solr/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/solr/cypress/cypress.env.json b/.vib/solr/cypress/cypress.env.json deleted file mode 100644 index f9c6d1547bcb8b..00000000000000 --- a/.vib/solr/cypress/cypress.env.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "username": "admin_user", - "password": "ComplicatedPassword123!4", - "collection": { - "name": "vib-test-collection", - "shards": 2, - "replicas": 2 - } -} diff --git a/.vib/solr/cypress/cypress/e2e/solr.cy.js b/.vib/solr/cypress/cypress/e2e/solr.cy.js deleted file mode 100644 index 676f6fcef00e1c..00000000000000 --- a/.vib/solr/cypress/cypress/e2e/solr.cy.js +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { getBasicAuthHeader } from '../support/utils'; - -it('checks initialized collection', () => { - cy.login(); - cy.visit(`/solr/#/${Cypress.env('collection').name}/collection-overview`); - - cy.get('#shards').within(() => { - cy.get('[class*="shard-title"]').should('have.length', Cypress.env('collection').shards); - cy.get('[href*="solr-"]').should('have.length', Cypress.env('collection').shards * Cypress.env('collection').replicas); - }); -}); - -/* - * SolR does also offer the possibility of uploading a file via UI. Nevertheless, - * Cypress seems to struggle setting the Content-Type header to application/json - * and the server refuses to process a octet-stream object. Use the API instead. - */ -it('allows uploading and indexing a file', () => { - cy.fixture('books').then(($books) => { - const formData = new FormData(); - var content = new Blob([JSON.stringify($books)], { - type: 'application/json', - }); - formData.set('user-file', content, 'data.js'); - - cy.request({ - url: `/solr/${Cypress.env('collection').name}/update`, - qs: { - commitWithin: 1000, - overwrite: true, - commit: true, - wt: 'json', - }, - method: 'POST', - headers: { - Authorization: getBasicAuthHeader(), - }, - body: formData, - }) - .its('status') - .should('be.equal', 200); - }); - cy.fixture('books').then(($books) => { - // Get an arbitrary book from the collection - var book = $books[Math.floor(Math.random() * $books.length)]; - cy.request({ - url: `/solr/${Cypress.env('collection').name}/query`, - qs: { - q: `title:${book.title}`, - 'q.op': 'OR', - indent: true, - }, - method: 'GET', - headers: { - Authorization: getBasicAuthHeader(), - }, - }).then((response) => { - var bodyString = JSON.stringify(response.body); - expect(response.status).to.eq(200); - expect(bodyString).to.contain(book.title); - expect(bodyString).to.contain(book.author); - }); - }); -}); - -it('allows retrieving sample schema', () => { - cy.request({ - url: `/solr/${Cypress.env('collection').name}/schema`, - method: 'GET', - headers: { - Authorization: getBasicAuthHeader(), - }, - }).then((response) => { - var bodyString = JSON.stringify(response.body); - expect(response.status).to.eq(200); - expect(bodyString).to.contain('"name":"text_es"'); - expect(bodyString).to.contain('queryAnalyzer'); - }); -}); diff --git a/.vib/solr/cypress/cypress/fixtures/books.json b/.vib/solr/cypress/cypress/fixtures/books.json deleted file mode 100644 index 418a12812b624e..00000000000000 --- a/.vib/solr/cypress/cypress/fixtures/books.json +++ /dev/null @@ -1,37 +0,0 @@ -[ - { - "id" : "955-0123456789", - "genre" : ["fiction","fantasy"], - "title" : "The Great Story never told", - "author" : "John Doe", - "available" : true, - "price" : 9.90 - } -, - { - "id" : "955-9876543210", - "genre" : ["poetry"], - "title" : "As the shine reflects", - "author" : "Jane Jessica Doe", - "available" : false, - "price" : 13.05 - } -, - { - "id" : "955-0123498765", - "genre" : ["novel","history"], - "title" : "Det tredje misslyckandet", - "author" : "Lars Larsson", - "available" : true, - "price" : 25.99 - } -, - { - "id" : "955-9876501234", - "genre" : ["cookbook"], - "title" : "Descubriendo la cocina andaluza", - "author" : "Dario Garcia", - "available" : true, - "price" : 14.50 - } -] \ No newline at end of file diff --git a/.vib/solr/cypress/cypress/fixtures/users.json b/.vib/solr/cypress/cypress/fixtures/users.json deleted file mode 100644 index d2f7ce2200536e..00000000000000 --- a/.vib/solr/cypress/cypress/fixtures/users.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "newUser": { - "username": "janedoe", - "password": "someComplicatedPass12345!" - } -} diff --git a/.vib/solr/cypress/cypress/support/commands.js b/.vib/solr/cypress/cypress/support/commands.js deleted file mode 100644 index 0c87f6e7675ce8..00000000000000 --- a/.vib/solr/cypress/cypress/support/commands.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - // SolR stores user and session info in the Session Storage - cy.window().then((win) => { - win.sessionStorage.clear(); - }); - cy.visit('/solr/#/'); - cy.contains('Basic Authentication'); - cy.get('#username').type(username); - cy.get('#password').type(password); - cy.contains('button', 'Login').click(); - } -); diff --git a/.vib/solr/cypress/cypress/support/e2e.js b/.vib/solr/cypress/cypress/support/e2e.js deleted file mode 100644 index 97400eb4f8c1a0..00000000000000 --- a/.vib/solr/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/solr/cypress/cypress/support/utils.js b/.vib/solr/cypress/cypress/support/utils.js deleted file mode 100644 index 0d27940258a4f1..00000000000000 --- a/.vib/solr/cypress/cypress/support/utils.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export const getBasicAuthHeader = ( - username = Cypress.env("username"), - password = Cypress.env("password") -) => { - return "Basic ".concat(btoa(`${username}:${password}`)); -}; diff --git a/.vib/solr/ginkgo/go.mod b/.vib/solr/ginkgo/go.mod deleted file mode 100644 index a83b01924aa0d7..00000000000000 --- a/.vib/solr/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-solr-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/solr/ginkgo/go.sum b/.vib/solr/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/solr/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/solr/ginkgo/solr_suite_test.go b/.vib/solr/ginkgo/solr_suite_test.go deleted file mode 100644 index 9f8d2dc040d0c9..00000000000000 --- a/.vib/solr/ginkgo/solr_suite_test.go +++ /dev/null @@ -1,99 +0,0 @@ -package solr_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - username string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&username, "username", "", "database user") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 300, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestSolr(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Solr Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name string, port string, image string, args ...string) error { - // Default job TTL in seconds - ttl := int32(10) - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - command := []string{"solr"} - command = append(command, args[:]...) - command = append(command, "--solr-url", fmt.Sprintf("http://%s:%s", stsName, port)) - - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - TTLSecondsAfterFinished: &ttl, - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "solr", - Image: image, - Command: command, - Env: []v1.EnvVar{ - { - Name: "SOLR_AUTHENTICATION_OPTS", - Value: fmt.Sprintf("-Dbasicauth=%s:%s", username, password), - }, - { - Name: "SOLR_AUTH_TYPE", - Value: "basic", - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/solr/ginkgo/solr_test.go b/.vib/solr/ginkgo/solr_test.go deleted file mode 100644 index f79e97a59714e8..00000000000000 --- a/.vib/solr/ginkgo/solr_test.go +++ /dev/null @@ -1,105 +0,0 @@ -package solr_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Solr", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a collection is created and Solr is scaled down to 0 replicas and back up", func() { - It("should have access to the created collection", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-client") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "solr") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test collection") - createColJobName := fmt.Sprintf("%s-createcol-%s", - stsName, jobSuffix) - colName := fmt.Sprintf("test%s", jobSuffix) - - err = createJob(ctx, c, createColJobName, port, image, "create_collection", "-replicationFactor", fmt.Sprintf("%d", origReplicas), "-c", colName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createColJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test collection") - deleteColJobName := fmt.Sprintf("%s-deletecol-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteColJobName, port, image, "delete", "-c", colName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteColJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/solr/goss/goss.yaml b/.vib/solr/goss/goss.yaml deleted file mode 100644 index cee21c66eb8cfb..00000000000000 --- a/.vib/solr/goss/goss.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $auth := printf "SOLR_AUTH_TYPE=basic SOLR_AUTHENTICATION_OPTS=-Dbasicauth=%s:%s" .Vars.auth.adminUsername .Vars.auth.adminPassword }} - {{- $collection := printf "test.%s" (randNumeric 5) }} - {{- $replicas := .Vars.replicaCount }} - solr-manage-collection: - exec: | - export {{ $auth }} && \ - solr create_collection --solr-url http://127.0.0.1:{{ .Vars.containerPorts.http }} -replicationFactor {{ $replicas }} -c {{ $collection }} - # TODO: solr healthcheck is broken in version 9.7.0. In newer versions that contain the commit below it will be fixed. Uncomment and indent when it gets released - # https://github.com/apache/solr/commit/463e093d336ff129e7b4fbe736cc3a2bb4725d39 - # solr healthcheck -z solr-zookeeper:2181/solr -c {{ $collection }} - exit-status: 0 - # TODO: Uncomment when a new version gets released - # stdout: - # - "healthy" - # {{ range $e, $i := until $replicas }} - # - /solr-{{ $i }}/ - # {{ end }} - timeout: 30000 - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 -file: - {{ .Vars.persistence.mountPath }}: - filetype: directory - exists: true - mode: "2775" - owner: root - /scripts/setup.sh: - mode: "0755" - filetype: file - exists: true - contents: - - "SOLR_CLOUD_BOOTSTRAP={{ if .Vars.cloudBootstrap }}yes{{ else }}no{{ end }}" diff --git a/.vib/solr/runtime-parameters.yaml b/.vib/solr/runtime-parameters.yaml deleted file mode 100644 index f467d40d3992f6..00000000000000 --- a/.vib/solr/runtime-parameters.yaml +++ /dev/null @@ -1,27 +0,0 @@ -auth: - enabled: true - adminPassword: ComplicatedPassword123!4 - adminUsername: admin_user -cloudEnabled: true -cloudBootstrap: true -collection: vib-test-collection -collectionShards: 2 -collectionReplicas: 2 -replicaCount: 4 -containerPorts: - http: 8984 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -service: - ports: - http: 80 - type: LoadBalancer -persistence: - enabled: true - mountPath: /bitnami/solr -zookeeper: - enabled: true \ No newline at end of file diff --git a/.vib/solr/vib-publish.json b/.vib/solr/vib-publish.json deleted file mode 100644 index c2914ca2252c02..00000000000000 --- a/.vib/solr/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/solr" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/solr/vib-verify.json b/.vib/solr/vib-verify.json deleted file mode 100644 index 091a7698cf3311..00000000000000 --- a/.vib/solr/vib-verify.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/solr" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/solr" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "solr/goss/goss.yaml", - "vars_file": "solr/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-solr" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/solr/cypress" - }, - "endpoint": "lb-solr-tcp-client", - "app_protocol": "HTTP" - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/solr/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "solr", - "username": "admin_user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/sonarqube/cypress/cypress.config.js b/.vib/sonarqube/cypress/cypress.config.js deleted file mode 100644 index 854abb85148274..00000000000000 --- a/.vib/sonarqube/cypress/cypress.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - env: { - user: 'test_user', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/sonarqube/cypress/cypress/e2e/sonarqube.cy.js b/.vib/sonarqube/cypress/cypress/e2e/sonarqube.cy.js deleted file mode 100644 index 0e07373bda55b4..00000000000000 --- a/.vib/sonarqube/cypress/cypress/e2e/sonarqube.cy.js +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows adding a project and a quality gate', () => { - cy.login(); - // Skip welcome tour - cy.wait(5000); - cy.get('body').then(($body) => { - if ($body.find('img[src*=mode-tour]').is(':visible')) { - cy.get('span').contains('Later').click({force: true}); - cy.contains('Skip').click({force: true}); - } - }); - cy.visit('/projects'); - // Step 1: Create a project - cy.fixture('projects').then((projects) => { - // Wait for DOM content to load - cy.wait(5000); - cy.get('body').then(($body) => { - if ($body.find('#project-creation-menu-trigger').is(':visible')) { - cy.get('#project-creation-menu-trigger').click(); - } - }); - cy.get('[href="/projects/create?mode=manual"]').click({force: true}); - cy.get('#project-name').type(`${projects.newProject.name} ${random}`); - cy.get('[type="submit"]').contains('Next').click(); - cy.get('span').contains('Use the global setting').click(); - cy.get('[type="submit"]').contains('Create').click(); - - // Step 2: Create a Quality gate - cy.visit('/quality_gates'); - cy.fixture('quality-gates').then((qualityGates) => { - cy.contains('Skip').click({force: true}); - cy.contains('Create').click(); - cy.get('#quality-gate-form-name').type(`${qualityGates.newQualityGate.name}${random}`); - cy.get('[type="submit"]').contains('Create').click(); - cy.contains('Unlock editing').click(); - cy.contains('Add Condition').click({force: true}); - cy.contains('Lines to Cover').click({force: true}); - cy.get('#condition-threshold').type(qualityGates.newQualityGate.threshold); - cy.get('[type="submit"]').click(); - - // Step 3: Add the project to the quality gate - cy.contains('Without').click(); - cy.contains(`${projects.newProject.name} ${random}`).click(); - cy.contains('With').click(); - cy.contains(`${projects.newProject.name} ${random}`); - // Check that the project really has been added - cy.contains('Without').click(); - cy.contains(`${projects.newProject.name} ${random}`).should('not.exist'); - }); - }); -}); diff --git a/.vib/sonarqube/cypress/cypress/fixtures/projects.json b/.vib/sonarqube/cypress/cypress/fixtures/projects.json deleted file mode 100644 index 7a461088b4bd77..00000000000000 --- a/.vib/sonarqube/cypress/cypress/fixtures/projects.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "newProject": { - "name": "Test Project" - } -} diff --git a/.vib/sonarqube/cypress/cypress/fixtures/quality-gates.json b/.vib/sonarqube/cypress/cypress/fixtures/quality-gates.json deleted file mode 100644 index dd157f0c510ef8..00000000000000 --- a/.vib/sonarqube/cypress/cypress/fixtures/quality-gates.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "newQualityGate": { - "name": "max_code_lines", - "condition": "Lines", - "threshold": 100 - } -} diff --git a/.vib/sonarqube/cypress/cypress/support/commands.js b/.vib/sonarqube/cypress/cypress/support/commands.js deleted file mode 100644 index c369b294fff008..00000000000000 --- a/.vib/sonarqube/cypress/cypress/support/commands.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('user'), password = Cypress.env('password')) => { - cy.visit('/sessions/new'); - cy.get('#login-input').type(username); - cy.get('#password-input').type(password); - cy.contains('button', 'Log in').click(); - } -); - -Cypress.on('uncaught:exception', (err, runnable, promise) => { - // when the exception originated from an unhandled promise - // rejection, the promise is provided as a third argument - // you can turn off failing the test in this case - if (promise) { - return false - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/sonarqube/cypress/cypress/support/e2e.js b/.vib/sonarqube/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/sonarqube/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/sonarqube/cypress/cypress/support/utils.js b/.vib/sonarqube/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/sonarqube/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/sonarqube/goss/goss.yaml b/.vib/sonarqube/goss/goss.yaml deleted file mode 100644 index efb1c32eeb9c4e..00000000000000 --- a/.vib/sonarqube/goss/goss.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/sonarqube: - exists: true - filetype: directory - mode: "2777" - owner: root - /opt/bitnami/sonarqube/conf/sonar.properties: - exists: true - filetype: file - contents: - - /web.*port.*{{ .Vars.containerPorts.http }}/ - - /search.*port.*{{ .Vars.containerPorts.elastic }}/ - - /postgresql.*{{ .Vars.postgresql.service.ports.postgresql }}/{{ .Vars.postgresql.auth.database }}/ - - /jdbc.*username.*{{ .Vars.postgresql.auth.username }}/ - - /jdbc.*password.*{{ .Vars.postgresql.auth.password }}/ -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} diff --git a/.vib/sonarqube/runtime-parameters.yaml b/.vib/sonarqube/runtime-parameters.yaml deleted file mode 100644 index 81853a7aa56559..00000000000000 --- a/.vib/sonarqube/runtime-parameters.yaml +++ /dev/null @@ -1,33 +0,0 @@ -sonarqubeUsername: test_user -sonarqubePassword: ComplicatedPassword123!4 -service: - type: LoadBalancer - ports: - http: 80 - elastic: 9091 -containerPorts: - http: 9090 - elastic: 9091 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -serviceAccount: - create: true -automountServiceAccountToken: true -postgresql: - enabled: true - service: - ports: - postgresql: 5432 - auth: - password: test_db_password - username: test_db_user - database: test_db_database -sysctl: - enabled: true -metrics: - jmx: - enabled: true diff --git a/.vib/sonarqube/vib-publish.json b/.vib/sonarqube/vib-publish.json deleted file mode 100644 index 17e2a3d5537678..00000000000000 --- a/.vib/sonarqube/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/sonarqube" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/sonarqube/vib-verify.json b/.vib/sonarqube/vib-verify.json deleted file mode 100644 index 80bf60c0169904..00000000000000 --- a/.vib/sonarqube/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/sonarqube" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/sonarqube" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/sonarqube/cypress" - }, - "endpoint": "lb-sonarqube-http", - "app_protocol": "HTTP", - "env": { - "user": "test_user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "sonarqube/goss/goss.yaml", - "vars_file": "sonarqube/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-sonarqube" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/spark/cypress/cypress.config.js b/.vib/spark/cypress/cypress.config.js deleted file mode 100644 index 9314e88c7f1688..00000000000000 --- a/.vib/spark/cypress/cypress.config.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - env: { - expectedWorkers: 2, - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/spark/cypress/cypress/e2e/spark.cy.js b/.vib/spark/cypress/cypress/e2e/spark.cy.js deleted file mode 100644 index 878f658e3d3364..00000000000000 --- a/.vib/spark/cypress/cypress/e2e/spark.cy.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('checks if the amount of workers is correct', () => { - cy.visit('/'); - cy.contains(`Workers: ${Cypress.env('expectedWorkers')} Alive`); -}); diff --git a/.vib/spark/cypress/cypress/support/e2e.js b/.vib/spark/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/spark/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/spark/goss/goss.yaml b/.vib/spark/goss/goss.yaml deleted file mode 100644 index a03048dce12e4b..00000000000000 --- a/.vib/spark/goss/goss.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - spark-submit-app: - exec: spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark-master-svc:{{ .Vars.master.containerPorts.cluster }} --deploy-mode cluster /opt/bitnami/spark/examples/jars/spark*.jar - exit-status: 0 - timeout: 20000 diff --git a/.vib/spark/runtime-parameters.yaml b/.vib/spark/runtime-parameters.yaml deleted file mode 100644 index 8b7f209bf00331..00000000000000 --- a/.vib/spark/runtime-parameters.yaml +++ /dev/null @@ -1,9 +0,0 @@ -service: - type: LoadBalancer - ports: - http: 80 -master: - containerPorts: - cluster: 7077 -worker: - replicaCount: 2 diff --git a/.vib/spark/vib-publish.json b/.vib/spark/vib-publish.json deleted file mode 100644 index b1203404ccd2ce..00000000000000 --- a/.vib/spark/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/spark" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/spark/vib-verify.json b/.vib/spark/vib-verify.json deleted file mode 100644 index 5b9082e816ff8c..00000000000000 --- a/.vib/spark/vib-verify.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/spark" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/spark" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "spark/goss/goss.yaml", - "vars_file": "spark/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-spark-worker" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/spark/cypress" - }, - "endpoint": "lb-spark-master-svc-http", - "app_protocol": "HTTP", - "env": { - "expectedWorkers": "2" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/superset/cypress/cypress.config.js b/.vib/superset/cypress/cypress.config.js deleted file mode 100644 index c735ac508c48a6..00000000000000 --- a/.vib/superset/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - pageLoadTimeout: 240000, - defaultCommandTimeout: 80000, - env: { - username: 'user', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/superset/cypress/cypress/e2e/superset.cy.js b/.vib/superset/cypress/cypress/e2e/superset.cy.js deleted file mode 100644 index 760fb4d9842c04..00000000000000 --- a/.vib/superset/cypress/cypress/e2e/superset.cy.js +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('Example dashboards visible', () => { - cy.login(); - cy.visit(`dashboard/list`); - // Retries required to ensure examples finished loading - const max_attempts = 5; - let runFound = false; - for (let i = 0; i < max_attempts && !runFound; i += 1) { - cy.get('body').then(($body) => { - if ($body.find('a[href*="/dashboard/births/"]').length === 0) { - // run job has not finished executing, so we wait and reload the page - cy.wait(5000); - cy.reload(); - } else { - runFound = true; - } - }); - } - // Navigate Dashboards list - cy.contains('USA Births Names').click(); - // Check Dashboard contains data - cy.wait(5000); - cy.contains('Birth Names Dashboard'); -}); - -it('allows to create a user', () => { - cy.login(); - cy.visit('users/add'); - cy.fixture('users').then((users) => { - cy.get('#first_name').type(users.newUser.firstName); - cy.get('#last_name').type(users.newUser.lastName); - cy.get('#username').type(`${users.newUser.username}.${random}`); - cy.get('#email').type(`${users.newUser.username}.${random}@email.com`); - cy.get('input[type="search"]').type(`${users.newUser.role}{enter}`); - cy.get('#password').type(users.newUser.password); - cy.get('#conf_password').type(users.newUser.password); - cy.contains('Save').click(); - - // Verify the user was created successfully - cy.contains('div', 'Added Row'); - }); -}); diff --git a/.vib/superset/cypress/cypress/fixtures/users.json b/.vib/superset/cypress/cypress/fixtures/users.json deleted file mode 100644 index ef6a870db30a3d..00000000000000 --- a/.vib/superset/cypress/cypress/fixtures/users.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "newUser": { - "firstName": "Jane Jessica", - "lastName": "Doe", - "username": "janedoe", - "password": "someComplicatedPass12345!", - "role": "Public" - } -} diff --git a/.vib/superset/cypress/cypress/support/commands.js b/.vib/superset/cypress/cypress/support/commands.js deleted file mode 100644 index 3bc31a5d276a7c..00000000000000 --- a/.vib/superset/cypress/cypress/support/commands.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/login'); - // Wait for DOM content to load - cy.wait(5000); - cy.get('form[name="login"]').should('exist').and('be.visible'); // Needed to ensure stability of the test - cy.get('input#username').type(username); - cy.get('input#password').type(password); - cy.get('input[type="submit"]').click(); - } -); diff --git a/.vib/superset/cypress/cypress/support/e2e.js b/.vib/superset/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/superset/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/superset/cypress/cypress/support/utils.js b/.vib/superset/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/superset/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/superset/goss/goss.yaml b/.vib/superset/goss/goss.yaml deleted file mode 100644 index a13576e0b414a0..00000000000000 --- a/.vib/superset/goss/goss.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://superset-web:{{ .Vars.web.service.ports.http }}/health: - status: 200 - body: - - OK - http://127.0.0.1:{{ .Vars.web.containerPorts.http }}/health: - status: 200 - timeout: 10000 - body: - - OK - http://{{ .Vars.flower.auth.username }}:{{ .Vars.flower.auth.password }}@superset-flower:{{ .Vars.flower.service.ports.flower }}: - status: 200 -file: - /opt/bitnami/superset/superset_config.py: - mode: "0664" - filetype: file - exists: true - /opt/bitnami/superset/superset_home: - filetype: directory - exists: true -{{- $uid := .Vars.web.containerSecurityContext.runAsUser }} -check-user-info: - # The UID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ]; then exit 1; fi - exit-status: 0 -{{ if .Vars.serviceAccount.automountServiceAccountToken }} -check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{ .Env.BITNAMI_APP_NAME }}/ -{{ end }} diff --git a/.vib/superset/runtime-parameters.yaml b/.vib/superset/runtime-parameters.yaml deleted file mode 100644 index a86a5dfd53574c..00000000000000 --- a/.vib/superset/runtime-parameters.yaml +++ /dev/null @@ -1,32 +0,0 @@ -auth: - password: ComplicatedPassword123!4 -loadExamples: true -web: - waitForExamples: - enabled: true - containerPorts: - http: 8081 - service: - ports: - http: 80 - type: LoadBalancer - containerSecurityContext: - enabled: true - runAsUser: 1002 -beat: - enabled: true -flower: - enabled: true - service: - ports: - flower: 5556 - auth: - enabled: true - username: "vib-user" - password: "ComplicatedPassword123!4" -serviceAccount: - create: true - automountServiceAccountToken: true -postgresql: - primary: - resourcesPreset: small \ No newline at end of file diff --git a/.vib/superset/vib-publish.json b/.vib/superset/vib-publish.json deleted file mode 100644 index e9a59636d65de8..00000000000000 --- a/.vib/superset/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/superset" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/superset/vib-verify.json b/.vib/superset/vib-verify.json deleted file mode 100644 index 78a1742971ec7c..00000000000000 --- a/.vib/superset/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/superset" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/superset" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "superset/goss/goss.yaml", - "vars_file": "superset/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-superset-web" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/superset/cypress" - }, - "endpoint": "lb-superset-web-http", - "app_protocol": "HTTP", - "env": { - "username": "user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/tensorflow-resnet/cypress/cypress.config.js b/.vib/tensorflow-resnet/cypress/cypress.config.js deleted file mode 100644 index e36fc00336e10e..00000000000000 --- a/.vib/tensorflow-resnet/cypress/cypress.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/tensorflow-resnet/cypress/cypress/e2e/tensorflow_resnet.cy.js b/.vib/tensorflow-resnet/cypress/cypress/e2e/tensorflow_resnet.cy.js deleted file mode 100644 index 4a3317f4ed33a9..00000000000000 --- a/.vib/tensorflow-resnet/cypress/cypress/e2e/tensorflow_resnet.cy.js +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('classifies sample image', () => { - cy.fixture('persian_cat.jpeg').then((base64Img) => { - cy.loadB64Image(base64Img).then((loadedImg) => { - const img = loadedImg.get()[0]; - let inputImgWidth = img.width; - let inputImgHeight = img.height; - - // Convert the image to an array of RGB values - // Based on the tutorial: - // https://developers.google.com/codelabs/classify-images-tensorflow-serving#6 - let canvas = document.createElement('canvas'); - let context = canvas.getContext('2d'); - canvas.width = inputImgWidth; - canvas.height = inputImgHeight; - - let imgTensor = new Array(); - let pixelArray = new Array(); - context.drawImage(img, 0, 0); - for (let i = 0; i < inputImgHeight; i++) { - pixelArray[i] = new Array(); - for (let j = 0; j < inputImgWidth; j++) { - pixelArray[i][j] = new Array(); - pixelArray[i][j].push(context.getImageData(i, j, 1, 1).data[0] / 255); - pixelArray[i][j].push(context.getImageData(i, j, 1, 1).data[1] / 255); - pixelArray[i][j].push(context.getImageData(i, j, 1, 1).data[2] / 255); - } - } - imgTensor.push(pixelArray); - let data = JSON.stringify({ - instances: imgTensor, - }); - - cy.request({ - method: 'POST', - headers: { 'Content-Type': 'application/json; charset=utf-8' }, - url: `v1/models/resnet:predict`, - body: data, - }).then((response) => { - expect(response.status).to.eq(200); - - const predictionByCategory = response.body.predictions[0]; - expect( - Array.isArray(predictionByCategory) && - !predictionByCategory.includes('') && - !predictionByCategory.includes(null) - ).to.be.true; - - const maxValue = Math.max(...predictionByCategory); - expect(maxValue !== -Infinity && !isNaN(maxValue)).to.be.true; - }); - }); - }); -}); diff --git a/.vib/tensorflow-resnet/cypress/cypress/fixtures/persian_cat.jpeg b/.vib/tensorflow-resnet/cypress/cypress/fixtures/persian_cat.jpeg deleted file mode 100644 index 3522bc954a64545e2f08f1318d2adf293f477caf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16593 zcmb7r1yGyK_iln)aW4?ui&HER+})wL6m1JFZYi$Ctw13-1TBRYr&zJ#-j)JE3KS?1 zT*6JipZxF4y>n;oW;XB1oAd7Ob9S?P&a<2QrTaAisivxiDgX!s0MyYh!2LRgfJ%Vd zQvg6m2fzye0Pq0#KwxN0FWN=_j|Mi zr~*FxuiOaa{$7vfm|r%iEO|CX--fK&kB zFD@)05fR~3%>T3%_%jvjzw${M@LxJW3`{^8#(&Dhz)8mf5d5n}7{uw=|GiJ0j{EQO z(bh@F`?ri%OvnGXOpBHY{;SUf`%fE$g@jT%MtI~hz1OIkJ z>A%|cw_pF0{)(aK{1+F-|IJGOw|i*afAuR`K&QWD(4aFOI&+{i#{B`HK;QL+&x=>C zFT9vV1%v>SiW)jtfBO>vaAW{l0x%zPs4<{>90P#CfFS|E`&)~Uq_7kNhTQ-D0Rq4g zk`$8=7iGW*0D%7ABY>F!1N5<3iG_oOi-U!S z^9qOoz$C*WXTcVxU?s&-Fc6`%_h!QlXHHY3DmD~-&+Z^Z-TQJ{DP1fAZ{0|q!;wb( zDC1R$zH(FKF{klkr%azdyP2p`S}z2biiGnA6W_9|{^*lgRlnC8YNk({@d@bYxp{ac zrKHt0G|kK{EL~jP-2DRrgJNRi;uBJ{b8_G2!OANttE%CREgwI%wzYpA82mCcJTf{p zH@~pBwES&tb8Gw8&h8%a^z8iN^6L68O7w{N7fAH`KREw_z{36?lw<%53^Yzm3`}ec zYz!={SRmR)n55(^Sj@r-6xc$nA_kQ5IHGL!id5c)V&VGiX~jzKsc{{|jgF={?0S{g zUmnv$I6n5`R54EHDw#nWkMtE1H%l-|n=|l6s@%8op2jT30AR;#Y4f5o_D8B=g0617!*jQLN*x1-OI5@cY#Q6Al zc=+TG9uN>ykyBGskyBFA(6cbm(1PeFDH*vKL9A>X930dPJpA13d@Sr7?DyzGfapi@ z@$kv;@yXa}DQVgNztjCU01@Ut<|9K7uH9zsjOK;!rn6MJ=1th870H}~`fJB{>}1YX zxAAo3&O}vZu6f!!WnarIsc=R{tF+-68LWykd1Gm&?05t3qDAQ`gy9Zirb~zlcAj4f z_N2;L1&osLmmb)n-ngumyyR6?+QVrdt7h_YV?g57n4A3h!f{u^MyOeWl~{ zq!Le2+$Sb>r!QO5G~s$?BrG&7ot|DILi;&Or-Gf$*yQz639-efg9_2fhmn&D_FxE5_{z-grYq;p4~rkC@k|som$W2c-t}^Bq+rvRL_gb;#N>sMlWdL4xSymV*q%yvr=?$Y9>Y z1U~2Fqlk)+d`NKS#MJ$z?s1L^ zo2zG*;Zx=j-Mnl;dV(e+?hX1UU-r7occ~_8^Q+;V@D{hTIAVEv*$1Gpj^{*7Ys61p zlAemuNOM7!k5`^I_~v!^s9O=_ms{2pNPe!iv{1{GR^>fPyqjbFX|_mX427flDB_T`1aGFn?PSV;TQD{8t`sARf!@2U#9^p1#kPiUdEt zQ3%DyiB0H;*$M^t5dB`@c*LXjQgROGqoc^-(o)*+OPjhayYjQ55Ite&^SQcE>vFqf zDIxx?iQ;SxWj22-?3X{^X<1Y{duqPKRv}ciYc4ktN+%rmCZqdk?~Xr0-`hR85b?L>fZ?$QO=s~`c=h@z|y3eijzR0McQFr zEeviBW;a8g4x~ak4DvwCZ#ht38Yh$#T54^d~XYfqURty^h^)L#<`|O17I_ReyGn%$0X&O^a73 z6@a)gSh%eZ-moV$T614^6UCa^Hs9qONF(NGpRhz`%;Ty&P(vDd5javuRs;2@33cBP z%yVSNzrVMp`StS_ldt6^FNbD?Tu05toh3VCS8Hl&EbL-uEcF-C zGX_N%%(IJmU5#p#*3^A{N;iHsMDkLa^a_5>ZlWjtct-LKklAh$F)DW^w^?1KJ}_0T zVH*3bB9YMpLp;({4BySD&KAel*EtJ(Y;WS87p}=?Dw`0gPek_QIn&s*-ZDEjI1c6J zjJRv=@6A@SvWsF=s2Zt|C$`t)%HSoct238-s#w-CuOpm?H9ei%Z|RDd*RO<8t1!CX zWu)E=NK2>gEttE+O-1beHf`C}6l(9>8L=$X(i(S0QciVw8y56xW%1xUVX=eZJC!Qn zytJ=)uS=9M(n{XB4*Lc`g@PI7jd({Es`+L#e8%?_zl00s$XiIiv1Z^dNrUylH5n4B z@!1{vK>E)1nXRL6?&DI#nbx#k6;w#eXk?+mlwwvB%t$AhkdC0I&{wjFPnmsb=6Lbegup;rnm)U% zxj&6LCbgfJsH~<%#%T{9=04p=ESR`9Y_A9EF=Hv^Ea#bt6528^AxPLVEm(*hET#jy zZ;Anla2&AL#?~($XbHzSDv4mVrij~%QMssDb{S68mxZ3uu(s$uAivse5FV~Ac$(}x zU&&fVmL&E>(K0gUdjdRc3=D7*87Zv}1jqaEf6?MDjb@f3iNi^Xp)%WVPwBKu7oubN z!Oz0imFCghWmzOr!~4=bH(4aguFL?|Lc_zGE;dEYXZ4N__dP~2&wj}~U!IC2DI8Z5 z;&#KI&{&zW!dq%Q?~vT=5^seaTG)+AR+Q5EUwG*imI<0f5@ zx@CU8ETJsoXjBrKurgW@K@s6>`v|Y0T{#b%d7Df%pqEB>BPid6QpA=ojUL27E^b-> zlpHGgTFfc%`VQ^Zw5QpqvPs-;>8B>A(x zfTY)&L;2+d zc|~Z&!^X~|)g3#_Yf?zvOiDRbEbT{%J)*Qk%I)n1ewHVbgGv!uvR@Zi(;4Ay=S?O! zeIS2TmB>F2BXF?!9FmjTX-b9J+l^X4H2Y1oMyx3;7aZR`PM?>}+?UY;%Hg-;C#Zs7tU{+fCj5zH^0#)#4 zyj!+P^L$K2mcf?I{63-4NJip$p>Af_RI#tG?@MX`af>9i?ju9;D?{h!?DgUgTk@3E z4HTbd%OA`J?XS1NNv&#MX9ZH1O-Bixxd|qgGg_Mq)H03P&(a)7XP%F|8APRF-|X<~ zW}Ry`2AaIi(a$lNVfbw(f|d5;J1^bGyJ`=UPW(6r`fpjO`o)U5Bs7UyrCJX(YKjA? z39%aW9Oeic+~?eLN~aNhzHtsx$w}%lX{_H2Go@pq-SRD~@*{|jM&z?ZN{|F$hoqzB zBLrGH^c@bALIO#CCYF)K4|w^hnclq*VdULAe##Z^roqofSuP%u6K|xB2b`1cd^bN# zge3ZSGA~>e%Mh-s9x40VXFS~&YZbmo0B= zg<70yAqV&75i`qk=9V&=Hw3g!;vC1mmCx<$C57|8x>YOsAa*ce4_-PA*~xeZh?nY` zSiK}Adj!(V3wx8rVXr->F)^{bnm<}3Z`NSbHOckaPpiuJ5|ROe+O|~&z`Sa|@>?{6ueMwl(QICdB2i)Qx^4ZM*UtVlJhORMy=tVU=M-WSHM_=? zc2|B>87A9u570M>)oZiuux!V{#0q;F61f}H-s2g2Q26b<3gpPx;!9%ti|0F{H%MCg z9Cp*}&=AdN9kvig68lWX{aSBrM_#rWU544@rA<=h+E8!uJS5omF0+@zceCKc9VKQEKu8@lzz&MV=tef>oYHT|ikXAOG zp}|w#T&-pqxQ8Loa759k7MYM>_e%&@HSdiruKXqF47cVqh|#9>(_kJXmS#rI{`Q7x z^xw~&P`e!JwEShOcX>~jZSAB|FYS2{|;prdP{9dq$t-o1+PY&X<7BZ+y zW@jht4znT54C{^YwF(`+bc&kN;Iy8gpqizb+Vwjb*HQTHg=FY~-iwUc7Q(8adw|4X zRhwx*Rtrd#-Ha-mo_(Kt@LT?I!u{i&{rc@ezR(p-Z$;iG?hpO z5VcY^wp&`2lQc0=UNh!UVx_ytp0#Avm7M3m^epM{klEL$yA*_EN>4wh*id(U>7o8T zK(sihv&2w2a(siMGZAH|R2}t2*7UO>9H&R_inJfl6iR1+gha|SmWkJCV9(B<9vN+1 zgse9GR=h=RDJ@=2ri>qp`xuTPq158*-!iAVbn9zLL~M+wsCfqbHs%NSu6^+lr+@mp z_`VhS74QANXt~Kt{vqSkWi4x411pv81_ubspJ7rAh(2lxOuZ`o3US4};n;&Q39%Q0 zK3W477e5hyqiJ|f66+3$oSwQUzG(^apI$t4fbaCy7X;tv>7ThoR@d2@YxXoV8hHRO zV{gjJ_iQO{Cux+v74Pjqa@Q{9FpqrzptPVeSv6;V9PT>T**Pt2vUEuFysM^7b5Q%m zv~)LUV(M;O?iWpEs0MULmg2IT#AcLW?O3;@T@3!5DLL~`<#Wc%yA_h_NZm7Ox#Y@f z%*``+;`*xTJGb8#;?o6UE|TN2N>jTRK2T6cG0IV`;RnnYQn!O2YT2E0qq4UnGcDaY zJe|^3Q6DWPD0yvi6lxpicvT3R2qH22eJoJEBNK$X!$^Vt^;88($11H_%NPWeBOSmY zMf*iUJC&6|Dcf?gm$KGsFHC}DwSap&cUmJaX4h{ALwO7BqrENq$v->+XU}O2?)LKyf`|8g#$K4(>sSzlHu;7Bu)ivZ*c%n!5+2 zhjflruSr5>)NDJB4s5y7gH0f@E0^t{j$7GATN2jG^O8yNu*e8TBkO?0Kl8JPA;A=v zq1R!=v5}>6T{YXk_3{_Hd;FP?S#B9!K}GhryY@A0P#3$o*%LR%#+#xSFFqU+_kThY zcA}(zIbMvv2~FIg2~$EK8GuDt!NA@-JgxYB@6j~r`Z2SRyuO{+>r`0d=c%>-M0^mI zlzRXXbm$(yhF>&z$~B_QX*;OjWwbu9i+I;Sa_LqHI(oWos>8!yW>sMNfUbWq$2D8* zr2xG^h>gwzwOfUQ@ggzinBBeNyaXnGU%h((<@7xuUYnp!uINT*Xj~pOW}GuB3;ir+ z^M`5_U07Wr*R+z_Ew*QC=#0&=)66@1wgl$n!v+(e2BJd~n--QESk1hF5=grT9Dz`H zrF!ryG4YXK3C!LD7#eO>>DqNLDM!x~n$kx1OT#;ks=OLq zZVAak8m#Ubi-+BOi?FS7LD$=$cNQAXo25_K4ekLM_WgHl>V;O;HK$lnYmcRjw&2foa+VSN zkxzTg3i&B$D53+hsneT`(JjuxPW=F;0;c5C7D%K>rcV-B-5P$7^q5D~OD#YDHAN`- z>SJH*WJpk>v3>gvQD(9Py+r_`jCVein{}(P@<@`qJ;BBJv;lZ6?sN~JCx@0tcvFn_ z_ifPlz0BZPzX!~sCKf`rkhSRTN$zkw~LC&XZ*z4lNfBe`= z6I2`<=BMNuxHVueQ>Cxq8=go3Lcq^@y2BxLGJYe{6p!aLnT56;gCrr@U`uM?v6Z*n z7z@#OU%}6IYf8Gn#%ul}6b~O_7SrD;?p9o#gp2a61JWu*a_Q6j_nm6pEzy!kOX^XxP_bsH8I8%l=7GJwhqI7^={uZmN6pFsp^;FTj{JH1Np<(jTt)=_XINQ^Z= z#!RZ)JxR)f!%7GVeGoq3zHtv&U%is6W?Yq4YHiHi*sQ!1$^QdiK zrw%^o94FACSW!fBVEqJ$SI^zSnaOjiE=$Ksc$hnX+Za5|dG88Odg0Glw8FYvlo;Rj z>mKm>raBk=N1WgYx-AdqDSps(54bF-PfxROZZK6Up-ktG9Ta~{JYc}q?Kyh(O5E=h zf46b$SUzunqy3c@W{*jlzb&;y-&gyO@ zH4w0sJmwceK%S55raA2hyug`dYydsJi%u{#8ECJ{HqAQ|chzFot)*v%-(VE6)PNM- z379mi*?pkmVrfj&gb}<-3`{TL5`UFrhMRpps2Qbja0A1dN_(&qXRkaOAK<$qb1_Jb>27Z2;i zt+^JgE92SQsE1|~KRy3QMp<`MM&e^aLV0!%08FM_8&~*!n5rOmt{$N3*QppAB|-E8 zaj`GVT$Pv_@{hBGam>UX!k}G|59gIBj%H)Wr)F%}emdqcC_GSmLCqeA`omt-5i2;Z zFrPH4H-AN965An)cU|u?zg?5DyLa$|8h@rNBcBaL3rsfVFED4=KHgb$U3fj=@rE;R zPtNlly}1=Z@hrwQl|1!Kx<<~KW0vRx+C_(#$(R(qR(P6o8d8s0Ur|Y_W}Kg)K=CCH zc=CBq1k2ZZTEJvCjVB4`vum)tJB)W+$N)0gPfAQ?n>1F@;fL}4gTIWkRCTGJL)Skg zu&rdY9AQL`$YY0?4?Frbs^9FbGo)q?GutbWM6F8V2j#tsKB#>iy1GUv^>#v_E~|}u z-Dt73=t`Tpv{=b-EbZai$`@_e_e1mdf)IE{wMVDRyejlDjcjR0_}Bp}2L6%)>C`oRT7k)0tNI!}@6|(0_+T0H0sgI!JjWcQJ(J*| z{kR6AhWX%`=!(4*6$fcy zHaCOxF~-=0t#zpBQ>`)b)`c(%`6|r!`8hK4Ux3|M6So6%Ppx)U;GkX zUK%@YWjn*wru*s_ z=gcdmh=pMr>0Rc1O5~06W&DY)m3wO~86u_}Rf4awmdI>p*#PmUscg~LH0P_T)#zL9 zW~=ZjapdG?bwzwZ6hx4i7}~N8ihV+w@`VwU0eT)K>e^!4{;{D)HDvaX+>Kth?P>{E z-fq7oS$SB5s3hiPQjxYiwGi7LToJd7vf79!M^(pZ9f$O^g!w$*7<}_|Bntso0}UoU z+SqM-MLHdlO?2$f%*lmK#CTFi)IP=8L$l1FUs#mD6dy`W!sQX`vhCSQRHFF;n)f+& zuQajnVdNs5vQ0Y=}4Vx-GlzaxY&e@7Lh;YvIH-yY1x;JB$jQln693Sq+}B! z!g#ht&TD_S2-)2O;!e_9PA5-PjIPE3tgIvn@9YsV;c}j^eY3c4+pq@X&qF8bGHi}T7uSa^RE@ed-Aoe``%+A5Z z<>tL$>HOADtxtn}@mvC}h*7@13(}O9NZRcqC8%X@Bxi=!Z*{V;d-QghNd51+uAG;c zE5BK)MU~GJsj!L>+Fk{7I^Rcd=Utp}2hUKRY%6iUQs!R-rx~zhPJx?{)CE4DG zco5X<2fyq+x!g;Nj18q`l|$7Q<)|>FB}=w;3kB395Szb3oSPp7w64qnSNw4oCMVjV zHFQpogRNRCFSpjz`n(o=eZ4u}B$i9a@X0)y=U(lt_@duU`C%1gJZ!oj5NuYh!bHCCQ=_+cwl{WK zM}7-mh&u)E0lr))A#eNM=)S;ro%H=v{`#4TOAcQzi>Pf1>GG6IoMqhzY*NzYb`j|QA3^y6fm7D{Te^__`uJf{+=RJPK~2J^funuu`W!*CLKtA>2*Rj0tt`0v@(>uRn4YrLJF}58;V#husnFI!+PSxR! zJ)f^iB|3(5Uhe)dlx9JU^t!Ubrq7cglSk;~QiV>$uKU&m!B!l2tT)koI4;L|WMex& zfE>FAuy5sVXf~ClU3!F9=|yXYhV6&MUQuh64?tsJH!5sr(l!j3MI64NlQjJAkOrHm z>c?#7MyEY@UdyG0GR3?FlX8wcn`4jQ){>?Bzy!S zm6YQNP8|qIlx<#bimbU%kOmuD z_)h=o8|DwmX4h`c5Q#hNy9WsDCS|NwM=%XHh)A(>36OETw1S4bsaCR19LDb(KCm6?sp_K*izLI#D4*n6;P zF(UB7=)l`a=wx@jQG^cy%G$g`GaBcR&F#}Jn?JZHhMp5aUgQ}x2G#ZJ2(qy_4vltQ z?+nwsy_F-pUER+91Fa4+Z2wt=^jf63g<`LtH2B^XA<>c9|C|RP#>+gaOzP(Tm_mAM|uT;-J^&|$0!z5&(zOyB{!(YV?2WVWWi ztGZeITXSEu!7%No@zM{c%UA)luP}3pCDhC%n)}$m4b0DzA9a1Q1NB(-y~&_^TixIO zj`}#j2D}ujhp6*i@esyS@gyAV!TYMX_r^Y9lxUm9V~*}`U`zJ*1PUeqh=Gkhc7r}^ zh7Sagu?Ul*BU@(gqqOki_tU-W$NxuQ`A}TPX&`kVzW|=6aO~KB4RgQkD=` zp=X~gC%fKfU7e!HPi+L&+t0e$qXHZUmm&Cn!sUrPf=2)bU|z87#2hG>QLlo9UebnJ(0m+u@Ng9)#l$g6Z zY8w3${`>O7(AQgze**NsBr54G$=fxw>)kX4xqQ?OiUp6c4IS}+{IM*&xbfuK$M4UM zkPhElkx+u6{LB9F6sX|mtB)v*&{Y)2NRi=<`l5l*P}}ymq4i}y<^g7@XS|nRJ!Ib8 zC|%+rb}wlzU)xg$gwjngSbjkf4d3$g#PO%QguUp2o-89n_%B-3nU&?{BR}Af)MH9@pP~)?firO+{R4W;Zu94hA;qIn^v1c|FKPA-` zZB6Yh;^Fpn42k`T~N|v{s{Hi}S$*tihCY+hzX9ZOmL$lsM8}A;?i)~V< zxP0AcYD$=#XFNbG%sO*>bF(mon(jiGY4`h%{?hP;j)Hk{jq(@EB-sZd8NJdpc z@1t?ItS;IddEvzH109Fn1DYqC$vRNZMk?8$r#6FqkHhph$RCn(Ij%&iZ@Vj1(?8c} zIIK&4QDScW2H~3i%qwYbFbl`Cg!wxmcvkdd#!hFXRFi!tqN)QugV*0#geS+Zb`UqV z{ah+@QCR%g!@=~eU$C=8foZ{OIH33`PC>tgn6@eHUNyBaHLf3U3U-l_NK5BOVNFfl z8rE7@uKvqZv3C-BV=4*=y$2kS9to=1P8gGL(M`T+ijbFq=Wg}LP- zUww0-YqI8fg|gGm+f3#yczM+zNZ@V2+fpgV^dh4CosC$SH2+)#QWO$#zJ|~T+1>;a zFq~yJkPa{mwSS}AED3oO7+)lgWGVSDxEJNE>n`%{vPs5)i+@SuOtA!HMiq&ro$aSf zz|YmxNY6}?T$;Bc9&)}NZ|~%oHhK3RJc0RRTv4PD$5V&A6`6VpZ70BAYr1Y@s7YH< zNP}aomDz1Myysl>=h&~j)uL>)J)kDX9e2Tt=bRY6q5z)E!mLmvx2|;0O(3h##MMXN zE2<$HcjmBjeCSDBu%FUS)9bYQClCu2zPwjoj<|n@nKwa@Q5I@E*p9>1O-g-H4%i@| z^N1G_R~u^o887L1A;_gDMGSx&=Li|P>1NK(pd*(nzWssTBldxTE8MHxUrb{EVpm6d zslF2#(u2VrRzg!Ec#6oQQtEMzF;$`dinkoP^d!VxhK7KwibM+0l{Y1h>=$DeW~`|) zW_M<^&2KO#6F0x&v207-PH9THgLwJP0|~la+jS)i!dg8FfL~G;%|bC>A76gJ$zm4? z@=u%~G<(%CeB*n&ooqZp(swe|X;GF9{pF$=F91oe#v)m^PX-MkCS1QT;3ULYd%f8K zVhDF6k!Mt|{=RV5NRdqey?Orv)iM>;cHQKK4?O<0eW|^PUgJzdNg}T++b2g5unUyz ztO^k4VmpZvQ~&2avEJHM!pX3g7uw_SS%PN^4MW0j>cvHw@K(3`#}!YaJ_jMy{iMuu zCVySRxlKgeLwxo7wR-QOnayKucZ<@inxy(|>mZceSoeSjbxaCmMJ{5RY}~Y$!8cuC z@>r9pLH0uf_VVLk6Oj)nZyiBu>Wm*YhK`#(*}wC)nDt(4AF?WQzgTve!OXbqjOIDL zX)Rxq1>Ju5FiLSSxlsh?Yaf)@f|0Y2txs;$aKJn-Wg?Hv9!tuf{g~N#*Q$rIWh(gO zau3LIM%RyK5#YctK2o9j*%r*mF(2GKkQ>Df)E~5quPzljAHflS6?vv?P1A$*6*A!= zukf}rW9Ww=KiIj4q8cT)i(}yju5->5T3@ZHi<;qF; z>JJ`w!-Yv*fKLq;;T*m5LDzmlnFWDOwb)z4`rg>u?F?-bG!d3Eo`P9@*~a}j!o?%54#bHbidv6eA4&bJ+6UuFIJXkl;-85TF%Uo!Y1Dcep=0|pxUh1DLueFAjGsa88^rKc;Lzs>($Pulw3=T63w%>C^18TVTdcrWwp8lPUp3#P$Pged&Gob!5Fw95uc7sS)b>S&c_wzmA0%`GilP$*R z98yDph`a?QG%0eg63-~RD&1^1+ha7~4*G>e`7-eRiVrE)Bw~(L6AC^#^P3fVwE;KiSo9=QQO$$<)XP-)-D_OLL<#+b z+UOE8c8N z3xC&QW3A)a{c?&=MPVq{51r&p)oN@c0xr9&@bSK=Q=2eT+ZQG4gY2Y8)aoOBL`uZY z6!EJg3v$2(s3@<(IEj@r-gSopcW_TM$mrJ~2EIfl0**&R>T!7ZU=t6;Pr0)sLJvM} z)c{G(;IA6kUo|z+Ubm0P@%k{i|7J}a4gJ|_@RS101pVZ}uXomY0F)NtYf_h69gNb3 zQhgJlN(}{@ys9S?tS;nf6wn1_qFzRgYLNXwv^I*UF_Bzt*Qb5oM;IxpcOt+=t}Ye4 zTTV2YKF~>j37-CVWPrv*U=aP3 ziUBvcxTTOH&_67b5JE)+!PgqCLvm2tV^y~ysaO)lo_(Q%VT4uYi+s*XT3oqZ*~?Vn zL5;>siJQg1v$9odAM@zF{cyTv({XMbkUEnVIRO3?!<~h+cj5dfePzCgpt!0ph>B*Y z*DFB8I0^lL?j;Ylq8ISpTm9_t3&&gI9Uxd3?{2EVqgZtF)+B%S1bU8qV0W3%_u4#n zGOxf;grN&kL*U8Db)m$r_-Bw6NXsG=jMUW*CG&{eo3B!P@yfcl6I*X=-M;kN==NXJ>tqi3?1Vyw%btrQqvDC)&_@B~h3*!!Q zu+Yx-P*VDEP*g!Ha?>j+ZFp|i5AisHwj&K@u>u%DXB8JKzRP`0DWZ|GyiR_(&{(!x<@QuCR6TULaD(xY5KOSp0{gs4_;$I&WdUL43?R6~u=l2KPf z3Ny%!MAay^$035@1YE;;v;$c38;AY<%?zDktZ@HSSrw&eZLe;=)(Ckd6a5u;@b5Ea z8NqDNlMl1(bVq$~jdkg`&c;=qJbKI#4uOji^{BLUI^GiFwn||LwZBLenFcI?{KQ#b z6bJ)PkHT7<%YBn=P2S=UGx1DvNh4afMOQv|O87Ms2sGNh5>M6M(GH{hHm5<3r#F;G z0q8~K+w5TK_Msrg2TKKPPvyR2Dfm3r2tH+;C9+JZRM9os(*MQ`W36_5YQP$@`$d2+_Ec-^tCJK>hRqxkHJ8t;NSc1YP& zh{hkz{J~293+-Uqm7cZo^VTGD~plIr?4nP5~$cx&e_bsUB%mKrGg6t}y z1V=6#wa-D}Hx)94D>L^slQC!3n&pL|k_OwJWFzj*R@ZgNvRFS26o8?pBQW74z`WfZr-J%9w|?qHE&c4oD~ z5W7zHl)0H$?IN&8$E%$xuc+QKbzf61=<59kTtFD;u|bXH5hs&$S@tn!iZs~`j1F%p z3qqAHwC~nQMhmQ+XMX+bX}Fz(Oak-ptD<8V$H-5T8U`$z;-)SVp^kRK~>IJL0#sdoqHQ5m$Pu z+Z8VG*M>VR`#;Vug+AC>>DF1&->k{~sHujq-S8SiF4L%(qi@julhMeEK8mxNTq1t^ zc8yuvTv%u*kCEfGbS;rvB+G08^4-7;9=UEQoggT_aqJ7dQp1@ssaRaVRe9sEgJZ%s z=uZ|DyjCri#I1ECq^w0-Lrms{-AQ&JJd&7Ga?wG(Z z>|JqPv&mMF)>y$6Emgb=zA#rJ_jBHXBbzy$S9JiU;7NK<60E&k{K8-D*3iV>Z;Rsk z4g;TR2czbmro3DW4AGx2;0}kjtM;)Cd}RMT?|r_^vqC;1_cM$$ivE^nEBw~fAE&m5 zF_cE*wH1@AaAYrP?=|kH$I=dwO_>>>3roKNS&H{s3Y%wpuTzca#*deYK2OnVR;uj{ z7qCoS4Bwg$ga9%_7sxohPN(9MgENlp++*=o2b=E9JTDFWCI*NnPz{eRWS3tmDW^&i zS#aWFd7l|8ZX0`RgER^50b(P6)*Hn&*0zFJt&5$rYK=?+d}0&vt54dUxNZv(Uy7S0 zUVIufq$RUi?cV5h91>3L#=JA{BbE%+Mb(ys5jzY)Fzx|k$2uGmuzLXHOSCB?NzsK@ zM1Z5^S~!tZ)$8~A-;_gW(b2@y1>=;BllgQqtRVCz>I;$7OlKRu3_G$1iMhQXu#tG@ zC#R!(fX)%aha!%ux~$nBYx!$q(5n_wbP&NZ)v4`xv; z6l^h#Yy9gQni<-}-krSqbEdwTlXETbns1y5OhF#9OsV$??MgpMoCCx5B6P^MY6LAl z^!=jx5o;I(og7#HJd*;Vg0b-C^5A_QKDvXRkBYw+3A5$u;Jf+|R;1Syncj2F1@ggE zh+zo1M9I!Li;ZsItwIm8y*g9;^rP_{twN;m7W=rqEZBn9Ti$R;C0CL0ZRWbno8X43 z4VxOwo@puaJ90ct$55gZgK_#?n309gCyCFrjVPoVIkl3yUEuPp-FRxFPch2k;0``# zxiU5{G<5lVp>V8C<=$ z1OD2LxyC2Psq9S29<;iYO&((lOktkn#XQHxURatJ2{&!WR|1u+o@ZjFLSD9EMbLaa zVnLRp%b=%CLBf~)>t~mpo$o5;3X2v8HRHfuTqAbU&qZI6I~85ng((e6;{`0i^uD<% zjxc4jA(G>azX)Gd@-gAF{jhBY4DA;aftZI@eXvTu`5JyD%^0rYEuJ0!`DBHXwv#Sw zKN!-EudV!i3~;1>NfUWtVo%k7W!2DtfT_oj@Z8Z1SLPIDeir(@L-O!I40b&;_!L_&+mc4$uz z{so-z^&Zf({e_UBp5o5xw?Y&WMf|)3L?)Mc50Et^)zGT^>KA;wfMXl=YX+77aPBe< zA#<9Q>hu&hX7s6=ueq4l;0>NX)l{Ji{t2{(Sv2Z^3`Z#qYCNv@90T2vt7NI}535X0c+ zs@7NO?>ofW2Q+&SHiddC+{TE@GA$x3|$cE7(}V~WO(m2Klr><7S;$ysNV-`DdSg+s^maO-{&~a@8bb6Pqv`rD3!gcJ}PXNZPC?3`o ze&i{!g&Gqlc@N3Dv$&w#l!A0nPrYHp~kZ#_s;J^QD|> z*}{bjHN3#Qn6Yb0=u?8PW%zHf{Gq$o8g#7@-5gdib4W}#8}=Yq=sIdfNUnmxPPZHK=dl| z9$@;l-bijMVFF_l^&2R{o9@l=+qJ?9ZRKe7CL||**lG^tqqKh69>^ign5VKAMQ@;w z{zEqkcgWO@BAqI1)5;e52kGsv*1Hyj;u?IDpc^YuD=w#jG%scq61~2H;g=)PPP>WU zFe0eqb3d!Eyo#n5l7owfqTlkVHZ~$F0jo5Toe@umIgnjzd>wN-@umk&Y)jPrLhn9= zhc@izFTCj=RO%9-2$D+wLAT^Cp2NtMhMzZ=T%Q4&6cSm;V=pyONUt diff --git a/.vib/tensorflow-resnet/cypress/cypress/support/commands.js b/.vib/tensorflow-resnet/cypress/cypress/support/commands.js deleted file mode 100644 index bb098a7c0bf8d5..00000000000000 --- a/.vib/tensorflow-resnet/cypress/cypress/support/commands.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -Cypress.Commands.add('loadB64Image', (base64) => { - const loadImage = () => { - const img = new Image(); - return new Promise((resolve) => { - img.onload = () => { - resolve(img); - }; - img.src = 'data:image/jpeg;base64,' + base64; - }); - }; - return loadImage(); -}); diff --git a/.vib/tensorflow-resnet/cypress/cypress/support/e2e.js b/.vib/tensorflow-resnet/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/tensorflow-resnet/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/tensorflow-resnet/goss/goss.yaml b/.vib/tensorflow-resnet/goss/goss.yaml deleted file mode 100644 index a21b90930f7726..00000000000000 --- a/.vib/tensorflow-resnet/goss/goss.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -addr: - 127.0.0.1:{{ .Vars.containerPorts.server }}: - reachable: true - 127.0.0.1:{{ .Vars.containerPorts.restApi }}: - reachable: true - tensorflow-resnet:{{ .Vars.service.ports.server }}: - reachable: true -file: - /bitnami/model-data: - exists: true - filetype: directory - mode: "2777" - owner: root -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/tensorflow-resnet/runtime-parameters.yaml b/.vib/tensorflow-resnet/runtime-parameters.yaml deleted file mode 100644 index 8be204d7b9ca77..00000000000000 --- a/.vib/tensorflow-resnet/runtime-parameters.yaml +++ /dev/null @@ -1,15 +0,0 @@ -containerPorts: - server: 8500 - restApi: 8501 -service: - type: LoadBalancer - ports: - server: 8501 - restApi: 80 -containerSecurityContext: - enabled: true - runAsUser: 1002 - runAsNonRoot: true -podSecurityContext: - enabled: true - fsGroup: 1002 diff --git a/.vib/tensorflow-resnet/vib-publish.json b/.vib/tensorflow-resnet/vib-publish.json deleted file mode 100644 index fa36fbc40baca7..00000000000000 --- a/.vib/tensorflow-resnet/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/tensorflow-resnet" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/tensorflow-resnet/vib-verify.json b/.vib/tensorflow-resnet/vib-verify.json deleted file mode 100644 index 1d4423a124cd1c..00000000000000 --- a/.vib/tensorflow-resnet/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/tensorflow-resnet" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/tensorflow-resnet" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "tensorflow-resnet/goss/goss.yaml", - "vars_file": "tensorflow-resnet/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-tensorflow-resnet" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/tensorflow-resnet/cypress" - }, - "endpoint": "lb-tensorflow-resnet-tf-serving-api", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/thanos/cypress/cypress.config.js b/.vib/thanos/cypress/cypress.config.js deleted file mode 100644 index 9f31e79fbf6c1f..00000000000000 --- a/.vib/thanos/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - defaultCommandTimeout: 60000, - env: { - storePort: '10903', - receivePort: '10904', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/thanos/cypress/cypress/e2e/thanos.cy.js b/.vib/thanos/cypress/cypress/e2e/thanos.cy.js deleted file mode 100644 index d3d8cc66299eb0..00000000000000 --- a/.vib/thanos/cypress/cypress/e2e/thanos.cy.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('allows the execution of a query', () => { - const QUERY_KEYWORD = 'vector'; - const QUERY_VALUE = '3000'; - - cy.visit('/graph'); - cy.contains('.alert', 'No data queried').should('be.visible'); - cy.get('.cm-line').type(`${QUERY_KEYWORD}(${QUERY_VALUE})`, '{enter}'); - cy.get('.execute-btn').click(); - cy.contains('.tab-content', QUERY_VALUE); -}); - -it('allows listing all installed stores', () => { - cy.visit('/stores'); - cy.contains('tr', Cypress.env('storePort')).within(() => { - cy.get('[data-testid="health"]').contains('UP'); - }); - cy.contains('tr', Cypress.env('receivePort')).within(() => { - cy.get('[data-testid="health"]').contains('UP'); - }); -}); diff --git a/.vib/thanos/cypress/cypress/support/commands.js b/.vib/thanos/cypress/cypress/support/commands.js deleted file mode 100644 index ffec23e71ce501..00000000000000 --- a/.vib/thanos/cypress/cypress/support/commands.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click', 'type']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} diff --git a/.vib/thanos/cypress/cypress/support/e2e.js b/.vib/thanos/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/thanos/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/thanos/runtime-parameters.yaml b/.vib/thanos/runtime-parameters.yaml deleted file mode 100644 index b508822940a1e2..00000000000000 --- a/.vib/thanos/runtime-parameters.yaml +++ /dev/null @@ -1,37 +0,0 @@ -objstoreConfig: |- - type: s3 - config: - bucket: thanos-test - endpoint: {{ include "thanos.minio.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local:9000 - access_key: minio-vib - secret_key: minio123 - insecure: true -minio: - enabled: true - auth: - rootUser: minio-vib - rootPassword: minio123 - defaultBuckets: thanos-test - service: - ports: - api: 9000 -query: - enabled: true -queryFrontend: - enabled: true - service: - type: LoadBalancer - ports: - http: 80 -bucketweb: - enabled: true -storegateway: - enabled: true - service: - ports: - grpc: 10903 -receive: - enabled: true - service: - ports: - grpc: 10904 \ No newline at end of file diff --git a/.vib/thanos/vib-publish.json b/.vib/thanos/vib-publish.json deleted file mode 100644 index a6a4f895e32880..00000000000000 --- a/.vib/thanos/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/thanos" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/thanos/vib-verify.json b/.vib/thanos/vib-verify.json deleted file mode 100644 index ba02384fa7d432..00000000000000 --- a/.vib/thanos/vib-verify.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/thanos" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/thanos" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/thanos/cypress" - }, - "endpoint": "lb-thanos-query-frontend-http", - "app_protocol": "HTTP", - "env": { - "storePort": "10903", - "receivePort": "10904" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/tomcat/cypress/cypress.config.js b/.vib/tomcat/cypress/cypress.config.js deleted file mode 100644 index 52de912835bfd6..00000000000000 --- a/.vib/tomcat/cypress/cypress.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - env: { - username: 'tomcatUser', - password: 'ComplicatedPassword123!4', - }, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/tomcat/cypress/cypress/e2e/tomcat.cy.js b/.vib/tomcat/cypress/cypress/e2e/tomcat.cy.js deleted file mode 100644 index 60c22ab63259fe..00000000000000 --- a/.vib/tomcat/cypress/cypress/e2e/tomcat.cy.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -it('allows to deploy a new WAR app', () => { - cy.visitAuth(`/manager`); - cy.contains('form', 'Select WAR file').within(() => { - cy.get('[type="file"]').selectFile({ - contents: 'cypress/fixtures/sample.war', - fileName: `sample${random}.war`, - }); - cy.contains('Deploy').click(); - }); - cy.contains(`/sample${random}`).click(); - cy.contains('Hello, World'); -}); diff --git a/.vib/tomcat/cypress/cypress/fixtures/sample.war b/.vib/tomcat/cypress/cypress/fixtures/sample.war deleted file mode 100644 index 0a127e6bd1f6991c32f591e577b42a50210c60f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4606 zcmaKv2{@Ep8^@nnjKR!Awi4pCGj_>ZgOFupmy9ftrIBSOCQFRTPO_vdq3lVrB(i7A zzEqTK*(+X@-lXIky{~wEeczeud7g94b^q`CKj+MI&iNVYL7?=&R?~|7A^)@U&y5a% z0$5E`HE|sSEy*7p0ATn}C>+qFhEA@7>&{X`U8xrf_4*ZxRWs1h(ljxZz-oQMc6I9O ziA(e&^~6Pcx_ZlurC!KR%y@Na?Ds^U)bBZI21J4cx>xltSEWT6GwT_f5O0gBy~ln= zOd`982?%{wxnR9dEdH_yQ6HnkqV$XjQLHMT;y=q>t|C?a@&f<{lz&@?Q~g+Is{eGp z?HT}1?TKRC6?G18M<6&7B>#6b$8VzDE_>LWyI|+!xJ$R!3u2cJ?_&RdB5A3SE^gFp zJ2v1yO%LCT6XAsbz%v>E5ZIM&+w_i&la6@2yTs4$V@%%|GpjMGLdXc-NZ1PM0SUxX zI%!=R@rO@DxVp{_vt#&pY0FWE!O;lyul#}2QEbQ7KvxnSdly6#+2w91-Bx_AI!bsV zYf~Ta18lp$@E~U!RJ)E{{(B^MGBe=QBM$d#Pwl=qG%A6*gG^ntwXGW8iou0Ah zQl^fzA=>a91eY#ZqVm~J6M@j4{*pXI!9h!AM1W(lfcbEDBz$Nz@|6Aqbm4=|7f97w zgJ+4ZB&MdfUIa0Z!s3x957|SOI>8ziSP6K`vP1dzfqdb@!PDcTcQF-z81qyG-2ljZmQSQ^@>w**Ekh%-L9eeReHIFMsbcj z0*gwn>b?h0)c)au&MrCmA_X62CcWemA)|G@2GuhOHIP{qE-4_$Z^$K;l7eQ?9i)7# zJMG3CVwNgTOL?zaWsOa9&4}0}4vw6kV7Q5^pWnQviE`(SkZgGZ*#%3 z;Uu#HiyXk%-wS-XN(taDOad{?8lup+7PP`0aaXcXO$Kj&0zN=-`^&tXd zew-3N#!aO;qpzmKi3^-@4G`n8=Se^L#>eWCAGSZ}Wp~<_7n(9Ih&HXZA2PukftfmF zO!0R%)kAIbFZ(i3QmVmM^PC+M938490>IyFD^4+cANu$QjIOK%66z6(ri7GDYc}G; z@sX8_E4Vh4lCo4Cg{7(E#DfofPlUW&C?mG9jnR!~DV7vk1h?F)$6<;N%MTkz(nqgQ zv=OKSD!P?cUu8K3YG`~x{b3@AOw1!CQvws8upRizd`?;`*GQXnmo2L7w4i_VWxOq@ zw=hDb_5jHD|3gf@6J1s^?%xg(o+Ae&n$e*&}czY1hPsh69?? zIQb*j0%^Bjb@!Ge$I)JbxCLQfCeby0vGuAXmQd z+IzjCti5Q-Vl8mXyeDdYTk6A{|Er~aYn@FSrfjDpO%KvPedd<E`FP6H z!^hm6NL+R4rK~etIqW}w>0xr#pVG+9#S;r zhV#c^frsvoMjC@J;OjK#y?O> zSP^Z(ySns&R^V}PoSJM(zjG<)cNb29rp5alD$RmtbkayTuktJB zc+8CV>At5mFN@1l884cmw~)p~b?92YQ;9m-kMJs_?^9-;!)gx}%>MZ@n@@iO*x zp=U$b`br69;h;m*Py+Y)@O2b}6MJ`=v*@Ww8WdO3XY~z-jj{TF4@3Sp*v(w(UT}wc zF;R!%pG|}4?sm?ODBj*};bm^wc*;E)8UJQuA$YZt{MGQab>E-nwn&0HB-8?K*|E3N~fe zeoPS1TF&YD1i||X7C<8+DRcmgj*f;Q zB{h|Xh7RVc3XXSAU8NSM3|g9I}(L^ znfT!wkR%mr86LiU5sa~>C1Q-3li&+rFb_{9Jz0%MW|P!NKMR8d@qWl$q{m<5$f$e%h8X<{R0b>xmZX z@!3+nc6N_3lU2NWSWZ{YS;kmUFdv=j2cSq-cnP6={lbNlM?hApm+uKzd*^bL=Gg1_ z65&pw0BSDy65PAyznD+1!Y#5IWup9exA5$>^{WPD=5Qg84Nk8uODsm zDW8jDmPLrmL4N;7!dKW@7@Xm@Cy(4;PNQtrn~1|)yf`+{NZ5EVL|8V?_l-XD^@H`v zrnacF{Ur^-oRiv=z&9n$?e<32NgVdV>*76aWXBs6 zrY_uwi^u@CR(_oYh~|pOBOuFWV@xR*A%a0f-wAAtK45|gGvj_@d;Q@e*}+F=)P&{a z5}60e0O``9q`8}46^KG1Fs7Q&#QrotUA!VRg_raN#0{#1=iLqW%E#QkRC+zgh1;4P z87-++(3NphN@OsIIXW{W%3bCIdNWLe_zveFsUy}7{`9$mA9hpg>%!ySr|*DpP7#;; z#134LcCMKh{h!syTWzC;WJF^MQ=L(tVLroCMS&XNXkTVAr<$E9vma~x9mwYJuzLaM zxU!V*tpAN7CY#7*v!)((_L63F`Qz>e_Cuax}PK&YObfpwF+(dGtTX~b~{G;uoUMokBxNaUQdTEX9_o@FQ zX2uY7bq+0g&93<|2{Ki})3GU*X=`lB4bo>;tbsUjww`tVvaDfJoXCO`_6a$*K6r%a z=FaN3QJuPvRi*VZtXQZ|cmBnR`#>9V%&!Tg@m)-!!n^kFQP|Ufbe3sFi*`}}NXe5; zf3=UbK)RLSZzzKkv(P#^m?Y^NEd!qyLx+yYJUWemf4TFUR834qqmVNWV9X=4ihsDm z=*NtFmPeVba<>w)wKisa8heO86h6;9oNU}zS7r1kw2Kn*>Z0ATq!T?Vwh=rG>zZ%| z`HOTN8syS=bp@96PV!o^sf9dyv|z)Z2fR8DO-8O390-1>kGmI)U?j@(f+y??CT^un zs2yG}xoU~eLZ)P9mg*W9^@p8@V>)3IbXfiwTAgsSu$r|N!LH@V9#IW0?qyb7e?*KM zln)s*TWxV)GIkn1_1ch>pw9785CP@i|KvK4@<0SEGMazmEK?AbP?Z0@sEc?JNNBS~eeQ5dW%aPau`~mCQvu12q_DyndldpU0YhIS#c~19<+bx%9RJzKt2BDJ$ zqOyhuXKoC8_=KK!eqFL)kfiQ^Ek4(%C^SdoHS1%|(m0|ZcMOE&;zJX29%BRJe(9iW zn33tIHS>IILn!qwi}H|rlFB?gI(UZ3&Kxpt*$~t#Gn+~q)rJB?6d$kg2--S4ut;Zj zVN%+Uhjbo14U_E`D66!1#4KN*16F*}C&#~J>Flbr_}#Zf&qJ<&3HxqQ+k@21r<87V zQAI`k#oNF9e#lsu=gJdGlz0l|51%t&zB_Wz03C)*yG$O`56XBYp+p;hOt*_e)o<{< zf%I)H#WlZ|X9n05BI9AA5c7xQtnx`U8_NWv`UM-4Kr@&3iy5!({w1s(_Lg2O!KK)kJooBE2 zE$ZFLqrEH7-weFtf3I?jf_IdjROK%w-WL6yinnFi { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'visitAuth', - ( - url, - username = Cypress.env('username'), - password = Cypress.env('password') - ) => { - const [protocol, host] = Cypress.config().baseUrl.split('://'); - const path = url.startsWith('/') ? url : `/${url}`; - const basicAuthURL = `${protocol}://${username}:${password}@${host}${path}`; - cy.visit(basicAuthURL); - } -); diff --git a/.vib/tomcat/cypress/cypress/support/e2e.js b/.vib/tomcat/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/tomcat/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/tomcat/cypress/cypress/support/utils.js b/.vib/tomcat/cypress/cypress/support/utils.js deleted file mode 100644 index 06a6ff1ac5b313..00000000000000 --- a/.vib/tomcat/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); \ No newline at end of file diff --git a/.vib/tomcat/goss/goss.yaml b/.vib/tomcat/goss/goss.yaml deleted file mode 100644 index b285583bf6b29f..00000000000000 --- a/.vib/tomcat/goss/goss.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 -file: - /bitnami/tomcat: - exists: true - filetype: directory - mode: "2775" - owner: root diff --git a/.vib/tomcat/runtime-parameters.yaml b/.vib/tomcat/runtime-parameters.yaml deleted file mode 100644 index de67d1f6554bb4..00000000000000 --- a/.vib/tomcat/runtime-parameters.yaml +++ /dev/null @@ -1,17 +0,0 @@ -tomcatUsername: tomcatUser -tomcatPassword: ComplicatedPassword123!4 -tomcatAllowRemoteManagement: 1 -deployment: - type: deployment -service: - type: LoadBalancer - ports: - http: 80 -containerPorts: - http: 8080 -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 diff --git a/.vib/tomcat/vib-publish.json b/.vib/tomcat/vib-publish.json deleted file mode 100644 index 6524297fa2d39c..00000000000000 --- a/.vib/tomcat/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/tomcat" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/tomcat/vib-verify.json b/.vib/tomcat/vib-verify.json deleted file mode 100644 index 31e21eb048c762..00000000000000 --- a/.vib/tomcat/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/tomcat" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/tomcat" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "tomcat/goss/goss.yaml", - "vars_file": "tomcat/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-tomcat" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/tomcat/cypress" - }, - "endpoint": "lb-tomcat-http", - "app_protocol": "HTTP", - "env": { - "username": "tomcatUser", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/valkey-cluster/ginkgo/go.mod b/.vib/valkey-cluster/ginkgo/go.mod deleted file mode 100644 index 0bad04e8d190ee..00000000000000 --- a/.vib/valkey-cluster/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-valkey-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/valkey-cluster/ginkgo/go.sum b/.vib/valkey-cluster/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/valkey-cluster/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/valkey-cluster/ginkgo/valkey_suite_test.go b/.vib/valkey-cluster/ginkgo/valkey_suite_test.go deleted file mode 100644 index c1b15a40dde79f..00000000000000 --- a/.vib/valkey-cluster/ginkgo/valkey_suite_test.go +++ /dev/null @@ -1,85 +0,0 @@ -package valkey_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestValkey(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Valkey Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "valkey", - Image: image, - Command: []string{"valkey-cli", "-h", stsName, "-p", port, stmt}, - Env: []v1.EnvVar{ - { - Name: "REDISCLI_AUTH", - Value: password, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/valkey-cluster/ginkgo/valkey_test.go b/.vib/valkey-cluster/ginkgo/valkey_test.go deleted file mode 100644 index ff8f19c363f006..00000000000000 --- a/.vib/valkey-cluster/ginkgo/valkey_test.go +++ /dev/null @@ -1,106 +0,0 @@ -package valkey_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Valkey Cluster", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a key-value is created and Valkey is scaled down to 0 replicas and back up", func() { - It("should have access to the created key-value", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-redis") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "valkey-cluster") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test key-value") - createKEYJobName := fmt.Sprintf("%s-createkey-%s", - stsName, jobSuffix) - keyName := fmt.Sprintf("test%s", jobSuffix) - keyValue := fmt.Sprintf("v%s", jobSuffix) - - err = createJob(ctx, c, createKEYJobName, port, image, fmt.Sprintf("SET %s %s", keyName, keyValue)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createKEYJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - By(fmt.Sprintf("Restart statefulset %s-%d", stsName, i)) - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test key-value") - deleteKeyJobName := fmt.Sprintf("%s-deletekey-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteKeyJobName, port, image, fmt.Sprintf("DEL %s", keyName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/valkey-cluster/goss/goss.yaml b/.vib/valkey-cluster/goss/goss.yaml deleted file mode 100644 index 5007636a306cff..00000000000000 --- a/.vib/valkey-cluster/goss/goss.yaml +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -{{- $auth := printf "REDISCLI_AUTH=%s" .Vars.password }} -{{- $valkey_port := .Vars.valkey.containerPorts.valkey }} -{{- $lb_endpoint := printf "-h valkey-cluster -p %d" .Vars.service.ports.valkey }} -{{- $nodes := .Vars.cluster.nodes }} -command: - {{- $key := printf "key_%s" (randAlpha 5) }} - {{- $value := printf "value_%s" (randAlpha 5) }} - valkey-set-key-value-pairs: - exec: | - export {{ $auth }} && \ - valkey-cli {{ $lb_endpoint }} CLUSTER NODES | grep master -m 1 | cut -d' ' -f 2 | cut -d':' -f 1 | \ - xargs -I '{}' valkey-cli -c -h '{}' -p {{ $valkey_port }} SET {{ $key }} {{ $value }} && sleep 1 \ - {{ range $e, $i := until $nodes }} && valkey-cli -c -h valkey-cluster-{{ $i }}.valkey-cluster-headless -p {{ $valkey_port }} GET {{ $key }} | grep -q {{ $value }}{{ end }} - exit-status: 0 - valkey-cluster-info: - exec: {{ $auth }} valkey-cli {{ $lb_endpoint }} CLUSTER INFO - exit-status: 0 - stdout: - - "cluster_state:ok" - - "cluster_known_nodes:{{ $nodes }}" - valkey-node-info: - exec: | - export {{ $auth }} && \ - valkey-cli {{ $lb_endpoint }} CLUSTER SLOTS | sed -n '3p' | \ - xargs -I '{}' valkey-cli -h '{}' -p {{ $valkey_port }} INFO - exit-status: 0 - stdout: - - "role:master" - - "connected_slaves:{{ .Vars.cluster.replicas }}" - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 -file: - {{ .Vars.persistence.path }}: - filetype: directory - exists: true - mode: "2775" - owner: root - /opt/bitnami/valkey/etc/valkey.conf: - filetype: file - exists: true - mode: "0644" diff --git a/.vib/valkey-cluster/runtime-parameters.yaml b/.vib/valkey-cluster/runtime-parameters.yaml deleted file mode 100644 index 695102aad4a2d4..00000000000000 --- a/.vib/valkey-cluster/runtime-parameters.yaml +++ /dev/null @@ -1,22 +0,0 @@ -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -usePassword: true -password: ComplicatedPassword123!4 -service: - ports: - valkey: 80 - type: LoadBalancer -persistence: - path: /bitnami/valkey/data -valkey: - containerPorts: - valkey: 6380 - bus: 16380 -cluster: - init: true - nodes: 9 - replicas: 2 diff --git a/.vib/valkey-cluster/vib-publish.json b/.vib/valkey-cluster/vib-publish.json deleted file mode 100644 index a73e407110a802..00000000000000 --- a/.vib/valkey-cluster/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/valkey-cluster" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/valkey-cluster/vib-verify.json b/.vib/valkey-cluster/vib-verify.json deleted file mode 100644 index 97e5ddc9e6a935..00000000000000 --- a/.vib/valkey-cluster/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/valkey-cluster" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/valkey-cluster" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "valkey-cluster/goss/goss.yaml", - "vars_file": "valkey-cluster/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-valkey-cluster" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/valkey-cluster/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "valkey-cluster", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/valkey/ginkgo/go.mod b/.vib/valkey/ginkgo/go.mod deleted file mode 100644 index 0bad04e8d190ee..00000000000000 --- a/.vib/valkey/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-valkey-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/valkey/ginkgo/go.sum b/.vib/valkey/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/valkey/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/valkey/ginkgo/valkey_suite_test.go b/.vib/valkey/ginkgo/valkey_suite_test.go deleted file mode 100644 index c1b15a40dde79f..00000000000000 --- a/.vib/valkey/ginkgo/valkey_suite_test.go +++ /dev/null @@ -1,85 +0,0 @@ -package valkey_test - -import ( - "context" - "flag" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - password string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.StringVar(&password, "password", "", "database password for username") - flag.IntVar(&timeoutSeconds, "timeout", 120, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestValkey(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Valkey Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name, port, image, stmt string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "valkey", - Image: image, - Command: []string{"valkey-cli", "-h", stsName, "-p", port, stmt}, - Env: []v1.EnvVar{ - { - Name: "REDISCLI_AUTH", - Value: password, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/valkey/ginkgo/valkey_test.go b/.vib/valkey/ginkgo/valkey_test.go deleted file mode 100644 index 3bca615b4e08ba..00000000000000 --- a/.vib/valkey/ginkgo/valkey_test.go +++ /dev/null @@ -1,105 +0,0 @@ -package valkey_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Valkey", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a key-value is created and Valkey is scaled down to 0 replicas and back up", func() { - It("should have access to the created key-value", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-redis") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "valkey") - Expect(err).NotTo(HaveOccurred()) - - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test key-value") - createKEYJobName := fmt.Sprintf("%s-createkey-%s", - stsName, jobSuffix) - keyName := fmt.Sprintf("test%s", jobSuffix) - keyValue := fmt.Sprintf("v%s", jobSuffix) - - err = createJob(ctx, c, createKEYJobName, port, image, fmt.Sprintf("SET %s %s", keyName, keyValue)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createKEYJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test key-value") - deleteKeyJobName := fmt.Sprintf("%s-deletekey-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteKeyJobName, port, image, fmt.Sprintf("DEL %s", keyName)) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/valkey/goss/goss.yaml b/.vib/valkey/goss/goss.yaml deleted file mode 100644 index 55c2846f0452ec..00000000000000 --- a/.vib/valkey/goss/goss.yaml +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -{{- $auth := printf "REDISCLI_AUTH='%s'" .Vars.auth.password }} -{{- $primary_endpoint := printf "-h valkey-primary -p %d" .Vars.primary.service.ports.valkey }} -{{- $replicas_endpoint := printf "-h valkey-replicas -p %d" .Vars.replica.service.ports.valkey }} -{{- $replicas := .Vars.replica.replicaCount }} -command: - {{- $key := printf "key_%s" (randAlpha 5) }} - {{- $value := printf "value_%s" (randAlpha 5) }} - valkey-set-key-value-pairs: - exec: export {{ $auth }} && valkey-cli {{ $primary_endpoint }} SET {{ $key }} {{ $value }} {{ range $e, $i := until $replicas }} && valkey-cli -h valkey-replicas-{{ $i }}.valkey-headless -p {{ $.Vars.replica.containerPorts.valkey }} GET {{ $key }} | grep -q {{ $value }}{{ end }} - exit-status: 0 - {{ range $command := .Vars.primary.disableCommands }} - valkey-disabled-{{ $command }}: - exec: {{ $auth }} valkey-cli {{ $primary_endpoint }} {{ $command }} - exit-status: 0 - stdout: - - "ERR unknown command" - {{ end }} - valkey-primary-role: - exec: {{ $auth }} valkey-cli {{ $primary_endpoint }} ROLE - exit-status: 0 - stdout: - - "master" - {{ range $e, $i := until $replicas }} - - "valkey-replicas-{{ $i }}" - {{ end }} - valkey-replicas-role: - exec: {{ $auth }} valkey-cli {{ $replicas_endpoint }} ROLE - exit-status: 0 - stdout: - - "slave" - {{- $uid := .Vars.primary.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.primary.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.primary.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -file: - {{ .Vars.primary.persistence.path }}: - filetype: directory - exists: true - mode: "2775" - owner: root - /opt/bitnami/valkey/mounted-etc: - exists: true - mode: "2777" - filetype: directory - owner: root - /opt/bitnami/valkey/etc: - filetype: directory - exists: true - mode: "2777" - owner: root diff --git a/.vib/valkey/runtime-parameters.yaml b/.vib/valkey/runtime-parameters.yaml deleted file mode 100644 index 53fd40198f628b..00000000000000 --- a/.vib/valkey/runtime-parameters.yaml +++ /dev/null @@ -1,47 +0,0 @@ -architecture: replication -auth: - enabled: true - password: ComplicatedPassword123!4 -primary: - replicaCount: 1 - disableCommands: - - FLUSHALL - - FLUSHDB - containerPorts: - valkey: 6380 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - kind: StatefulSet - persistence: - enabled: true - path: /data - service: - ports: - valkey: 80 - type: LoadBalancer - serviceAccount: - create: true - automountServiceAccountToken: true -replica: - replicaCount: 3 - containerPorts: - valkey: 6380 - podSecurityContext: - enabled: true - fsGroup: 1002 - containerSecurityContext: - enabled: true - runAsUser: 1002 - persistence: - enabled: true - path: /data - service: - ports: - valkey: 6378 - type: ClusterIP -sentinel: - enabled: false diff --git a/.vib/valkey/vib-publish.json b/.vib/valkey/vib-publish.json deleted file mode 100644 index afa4bdd72f5ef9..00000000000000 --- a/.vib/valkey/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/valkey" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/valkey/vib-verify.json b/.vib/valkey/vib-verify.json deleted file mode 100644 index d05c20fda69cb1..00000000000000 --- a/.vib/valkey/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/valkey" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/valkey" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "valkey/goss/goss.yaml", - "vars_file": "valkey/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-valkey-primary" - } - } - } - }, - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/valkey/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "name": "valkey-primary", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/vault/cypress/cypress.config.js b/.vib/vault/cypress/cypress.config.js deleted file mode 100644 index 384435caa1350b..00000000000000 --- a/.vib/vault/cypress/cypress.config.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - viewportWidth: 1920, - viewportHeight: 1080, - env: { - username: 'vib-user', - password: 'ComplicatedPassword123!4', - }, - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/vault/cypress/cypress/e2e/vault.cy.js b/.vib/vault/cypress/cypress/e2e/vault.cy.js deleted file mode 100644 index d72af00d3ae151..00000000000000 --- a/.vib/vault/cypress/cypress/e2e/vault.cy.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { - random, -} from '../support/utils'; - -it('allows to use the API Explorer', () => { - cy.login(); - // Go to the secrets page - cy.get('button[aria-label*="Console"]').click(); - // Create a secret - cy.fixture('operation').then((op) => { - cy.get('input').type(`${op.operation.command}{enter}`); - cy.get('pre').contains(`${op.operation.expectedOutput}`).should('be.visible'); - }); -}); diff --git a/.vib/vault/cypress/cypress/fixtures/operation.json b/.vib/vault/cypress/cypress/fixtures/operation.json deleted file mode 100644 index 63ad8ae7598055..00000000000000 --- a/.vib/vault/cypress/cypress/fixtures/operation.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "operation": { - "command": "read /sys/mounts", - "expectedOutput": "cubbyhole/" - } -} diff --git a/.vib/vault/cypress/cypress/support/commands.js b/.vib/vault/cypress/cypress/support/commands.js deleted file mode 100644 index 619ba31c3025a7..00000000000000 --- a/.vib/vault/cypress/cypress/support/commands.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -const COMMAND_DELAY = 2000; - -for (const command of ['click']) { - Cypress.Commands.overwrite(command, (originalFn, ...args) => { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/'); - cy.get('select').select('userpass'); - cy.get('input[name="username"]').should('be.enabled').type(username); - cy.get('input[name="password"]').should('be.enabled').type(password); - cy.contains('button', 'Sign in').click(); - cy.contains('Secrets engines').should('be.visible'); - } -); - -Cypress.on('uncaught:exception', (err) => { - // We expect an error "Failed to execute 'observe' on 'IntersectionObserver'" - // during the installation of a template so we add an exception - if (err.message.includes("Failed to execute 'observe' on 'IntersectionObserver'")) { - return false; - } - // we still want to ensure there are no other unexpected - // errors, so we let them fail the test -}) diff --git a/.vib/vault/cypress/cypress/support/e2e.js b/.vib/vault/cypress/cypress/support/e2e.js deleted file mode 100644 index 56c00209c02b5c..00000000000000 --- a/.vib/vault/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/vault/cypress/cypress/support/utils.js b/.vib/vault/cypress/cypress/support/utils.js deleted file mode 100644 index 8745899b97c4df..00000000000000 --- a/.vib/vault/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/vault/goss/goss.yaml b/.vib/vault/goss/goss.yaml deleted file mode 100644 index 3e387a2631ab5f..00000000000000 --- a/.vib/vault/goss/goss.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - {{ .Vars.server.persistence.mountPath }}: - exists: true - filetype: directory - mode: '2775' - owner: root -addr: - tcp://vault-server-active:{{ .Vars.server.service.active.ports.internal }}: - reachable: true - timeout: 500 - tcp://vault-server:{{ .Vars.server.service.general.ports.internal }}: - reachable: true - timeout: 500 - tcp://127.0.0.1:{{ .Vars.server.containerPorts.internal }}: - reachable: true - timeout: 500 -http: - http://vault-server-active:{{ .Vars.server.service.active.ports.http }}: - status: 200 - http://vault-server:{{ .Vars.server.service.general.ports.http }}: - status: 200 - http://127.0.0.1:{{ .Vars.server.containerPorts.http }}: - status: 200 -command: - {{- $uid := .Vars.server.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.server.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the def /vib-vault/test/vault-token - # Creating a user/password in order to launch Cypress tests - # https://developer.hashicorp.com/vault/docs/auth/userpass#configuration - vault auth enable userpass - vault policy write rootpolicy - << EOF - # Read the configuration secret example - path "secret/config" { - capabilities = ["read"] - } - - # Read the host information example - path "sys/host-info" { - capabilities = ["read"] - } - - # List secrets engines - path "sys/mounts" { - capabilities = ["read"] - } - - # Enable cubbyhole secrets engine - path "sys/mounts/cubbyhole" { - capabilities = ["create", "update"] - } - - # Manage Cubbyhole secrets engine keys - path "cubbyhole/keys" { - capabilities = ["list"] - } - path "cubbyhole/keys/*" { - capabilities = ["create", "list", "read", "update"] - } - path "cubbyhole/keys/+/config" { - capabilities = ["create", "update"] - } - - # Encrypt with any Cubbyhole secrets engine key - path "cubbyhole/encrypt/*" { - capabilities = ["create", "update"] - } - - # Decrypt with any Cubbyhole secrets engine key - path "cubbyhole/decrypt/*" { - capabilities = ["create", "update"] - } - EOF - - vault write auth/userpass/users/vib-user password='ComplicatedPassword123!4' policies=admins,rootpolicy - sleep infinity - containerPorts: - http: 8100 - internal: 8300 - service: - active: - type: LoadBalancer - ports: - http: 80 - internal: 8600 - general: - type: ClusterIP - ports: - http: 8081 - internal: 8700 - serviceAccount: - create: true - automountServiceAccountToken: true - containerSecurityContext: - enabled: true - runAsUser: 1002 - runAsNonRoot: true - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - podSecurityContext: - enabled: true - fsGroup: 1002 - seccompProfile: - type: RuntimeDefault - persistence: - enabled: true - mountPath: /vib-vault/test - # We need to add /tmp for GOSS tests - extraVolumes: - - name: tmp - emptyDir: {} - extraVolumeMounts: - - name: tmp - mountPath: /tmp -injector: - service: - ports: - https: 8443 diff --git a/.vib/vault/vib-publish.json b/.vib/vault/vib-publish.json deleted file mode 100644 index 94f024ae690add..00000000000000 --- a/.vib/vault/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/vault" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/vault/vib-verify.json b/.vib/vault/vib-verify.json deleted file mode 100644 index 981093c09d6b55..00000000000000 --- a/.vib/vault/vib-verify.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/vault" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/vault" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "vault/goss/goss.yaml", - "vars_file": "vault/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-vault-server" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/vault/cypress" - }, - "endpoint": "lb-vault-server-active-http", - "app_protocol": "HTTP", - "env": { - "username": "vib-user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/victoriametrics/cypress/cypress.config.js b/.vib/victoriametrics/cypress/cypress.config.js deleted file mode 100644 index e5ddd4ce7e3e3d..00000000000000 --- a/.vib/victoriametrics/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - responseTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/victoriametrics/cypress/cypress/e2e/victoriametrics.cy.js b/.vib/victoriametrics/cypress/cypress/e2e/victoriametrics.cy.js deleted file mode 100644 index 3b967caa3b35cb..00000000000000 --- a/.vib/victoriametrics/cypress/cypress/e2e/victoriametrics.cy.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// -import { random } from '../support/utils'; - -// All tests use vmauth as the access - -// This verifies that vmui and vmagent work -// vmagent pushes metrics, and we use vmui to query them -it('Access VMUI and check metric ingested by vmagent (access via vmauth)', () => { - cy.visit('/select/0/vmui'); - cy.fixture('vmagent_metric').then((metric) => { - cy.get('[inputmode="search"]').type(metric.name); - cy.contains('Execute Query').click(); - cy.contains('JSON').click(); - cy.contains(metric.expectedResult); - }); -}); - -// This verifies that vminsert, vmselect and vmstorage work -// With vminsert we push a metric, which gets stored in vmstorage. Then it is -// queried using vmselect -it('Push metric using the vminsert API and then query using vmselect (all via vmauth)', () => { - cy.fixture('ingest_metric').then((metric) => { - // Metrics need to start with a letter - const ingestPromQL = `a${random}${metric.ingestPromQL}`; - const queryPromQL = `a${random}${metric.queryPromQL}`; - cy.request({ - url: '/insert/0/prometheus/api/v1/import/prometheus', - method: 'POST', - body: ingestPromQL, - }) - .its('status') - .should('be.equal', 204) - .then(() => { - // It is not instantly available for querying, so we need to wait - cy.wait(45000); - cy.request({ - url: '/select/0/prometheus/api/v1/query', - qs: { - query: queryPromQL, - }, - method: 'GET', - }).then((response) => { - const bodyString = JSON.stringify(response.body); - expect(response.status).to.eq(200); - expect(bodyString).to.contain(metric.expectedResult); - }); - }) - } - ) -}); diff --git a/.vib/victoriametrics/cypress/cypress/fixtures/ingest_metric.json b/.vib/victoriametrics/cypress/cypress/fixtures/ingest_metric.json deleted file mode 100644 index 3fb8deae189504..00000000000000 --- a/.vib/victoriametrics/cypress/cypress/fixtures/ingest_metric.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "ingestPromQL": "metric_name{foo=\"bar\"} 123", - "queryPromQL": "metric_name", - "expectedResult": "123" -} \ No newline at end of file diff --git a/.vib/victoriametrics/cypress/cypress/fixtures/vmagent_metric.json b/.vib/victoriametrics/cypress/cypress/fixtures/vmagent_metric.json deleted file mode 100644 index c7a1fe9c3fb877..00000000000000 --- a/.vib/victoriametrics/cypress/cypress/fixtures/vmagent_metric.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "vmagent_rows_inserted_total", - "expectedResult": "datadogsketches" -} \ No newline at end of file diff --git a/.vib/victoriametrics/cypress/cypress/support/e2e.js b/.vib/victoriametrics/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/victoriametrics/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/victoriametrics/cypress/cypress/support/utils.js b/.vib/victoriametrics/cypress/cypress/support/utils.js deleted file mode 100644 index 20b189d976b81b..00000000000000 --- a/.vib/victoriametrics/cypress/cypress/support/utils.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = Math.floor(Math.random() * 1000).toString(); // String with random integer between 0 and 999 \ No newline at end of file diff --git a/.vib/victoriametrics/runtime-parameters.yaml b/.vib/victoriametrics/runtime-parameters.yaml deleted file mode 100644 index 9743e828a7f59e..00000000000000 --- a/.vib/victoriametrics/runtime-parameters.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# Use vmauth for accessing vminsert and vmselect -vmauth: - enabled: true - service: - type: LoadBalancer - ports: - http: 80 -# Necessary for scraping metrics -vmagent: - enabled: true \ No newline at end of file diff --git a/.vib/victoriametrics/vib-publish.json b/.vib/victoriametrics/vib-publish.json deleted file mode 100644 index 512fdd357c271a..00000000000000 --- a/.vib/victoriametrics/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/victoriametrics" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/victoriametrics/vib-verify.json b/.vib/victoriametrics/vib-verify.json deleted file mode 100644 index 3e3cda79eb7f3f..00000000000000 --- a/.vib/victoriametrics/vib-verify.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/victoriametrics" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/victoriametrics" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/victoriametrics/cypress" - }, - "endpoint": "lb-victoriametrics-vmauth-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/whereabouts/goss/goss.yaml b/.vib/whereabouts/goss/goss.yaml deleted file mode 100644 index 3515fb5031d6f1..00000000000000 --- a/.vib/whereabouts/goss/goss.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -# This application performs modifications at host-level, injecting new configuration files. Therefore the -# container has root user and is privileged. In order to properly test wherebauts, we would need to access the host and -# change the default host networking configuration, which is something we cannot do. Therefore the test suite is simpler -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - check-user-info: - # The UID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ]; then exit 1; fi - exit-status: 0 - {{ if .Vars.automountServiceAccountToken }} - check-sa: - exec: cat /var/run/secrets/kubernetes.io/serviceaccount/token | cut -d '.' -f 2 | xargs -I '{}' echo '{}====' | fold -w 4 | sed '$ d' | tr -d '\n' | base64 -d - exit-status: 0 - stdout: - - /serviceaccount.*name.*{{.Env.BITNAMI_APP_NAME }}/ - {{ end }} -# The whereabouts install-cni.sh script creates the CNI configuration -# in the host folder. This test ensures that the configuration is created -file: - {{ .Vars.CNIMountPath }}/etc/cni/net.d/whereabouts.d/whereabouts.conf: - exists: true - filetype: file - mode: '0600' - contents: - - /whereabouts.kubeconfig/ diff --git a/.vib/whereabouts/runtime-parameters.yaml b/.vib/whereabouts/runtime-parameters.yaml deleted file mode 100644 index 0f0dc9f122c832..00000000000000 --- a/.vib/whereabouts/runtime-parameters.yaml +++ /dev/null @@ -1,10 +0,0 @@ -hostCNIBinDir: /home/kubernetes/bin -CNIMountPath: /bitnami/whereabouts/host -serviceAccount: - create: true -automountServiceAccountToken: true -containerSecurityContext: - enabled: true - runAsUser: 0 -rbac: - create: true diff --git a/.vib/whereabouts/vib-publish.json b/.vib/whereabouts/vib-publish.json deleted file mode 100644 index 8e0c597f81a394..00000000000000 --- a/.vib/whereabouts/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/whereabouts" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/whereabouts/vib-verify.json b/.vib/whereabouts/vib-verify.json deleted file mode 100644 index b99776e0c993fa..00000000000000 --- a/.vib/whereabouts/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/whereabouts" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/whereabouts" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "whereabouts/goss/goss.yaml", - "vars_file": "whereabouts/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "ds-whereabouts" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/wildfly/cypress/cypress.config.js b/.vib/wildfly/cypress/cypress.config.js deleted file mode 100644 index 9535289193c52f..00000000000000 --- a/.vib/wildfly/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 30000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/wildfly/cypress/cypress/e2e/wildfly.cy.js b/.vib/wildfly/cypress/cypress/e2e/wildfly.cy.js deleted file mode 100644 index 31f8ad7c11f3a7..00000000000000 --- a/.vib/wildfly/cypress/cypress/e2e/wildfly.cy.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -it('renders landing page correctly', () => { - cy.visit('/'); - cy.contains('instance is running'); -}); diff --git a/.vib/wildfly/cypress/cypress/support/e2e.js b/.vib/wildfly/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/wildfly/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/wildfly/goss/goss.yaml b/.vib/wildfly/goss/goss.yaml deleted file mode 100644 index 69e9a21a6b4918..00000000000000 --- a/.vib/wildfly/goss/goss.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/wildfly: - exists: true - filetype: directory - mode: "2775" - owner: root -command: - jboss-deploy: - # Failing test for using MD5 in FIPS compliants OS - exec: if [ "$OS_FLAVOUR" != "photon-5" ]; then jboss-cli.sh --controller=wildfly:{{ .Vars.service.ports.mgmt }} --connect --user={{ .Vars.wildflyUsername }} --password='{{ .Vars.wildflyPassword }}' 'deploy ./wildfly/goss/testfiles/helloworld.war --force'; fi - exit-status: 0 - timeout: 20000 diff --git a/.vib/wildfly/goss/testfiles/README.md b/.vib/wildfly/goss/testfiles/README.md deleted file mode 100644 index 1967f9d2d4fff5..00000000000000 --- a/.vib/wildfly/goss/testfiles/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# How to update this folder - -* Build the helloworld.war file by executing these commands - -```bash -cd .vib/wildfly/goss/testfiles -docker run --rm --entrypoint=/bin/bash -v .:/app bitnami/java:11 /app/helloworld.sh WILDFLY_VERSION -``` diff --git a/.vib/wildfly/goss/testfiles/helloworld.sh b/.vib/wildfly/goss/testfiles/helloworld.sh deleted file mode 100755 index b5b0e2a4cf5d2d..00000000000000 --- a/.vib/wildfly/goss/testfiles/helloworld.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Script to help you generate the helloworld.war file using the bitnami/java:11 docker image -# -MAVEN_VERSION=3.8.6 -APP_VERSION=${1:-} -if [ -z "${APP_VERSION}" ]; then - echo "Usage: $(basename "$0") APP_VERSION" - exit 1 -fi - -cd /opt/bitnami -install_packages curl ca-certificates -curl -L "https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz" -o /opt/bitnami/maven.tar.gz -tar -xzf /opt/bitnami/maven.tar.gz -export PATH="/opt/bitnami/apache-maven-${MAVEN_VERSION}/bin:$PATH" -curl -L "https://github.com/wildfly/quickstart/archive/refs/tags/${APP_VERSION}.Final.tar.gz" -o /opt/bitnami/wildfly-quickstart.tar.gz -tar -xzf /opt/bitnami/wildfly-quickstart.tar.gz -cd /opt/bitnami/quickstart-${APP_VERSION}.Final/helloworld -mvn clean package -cp "/opt/bitnami/quickstart-${APP_VERSION}.Final/helloworld/target/helloworld.war" "/app/helloworld.war" diff --git a/.vib/wildfly/goss/testfiles/helloworld.war b/.vib/wildfly/goss/testfiles/helloworld.war deleted file mode 100644 index 3b9d42d11eee77d18226d092548537ef6d260d09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7525 zcmbtZ1yqz<*B-i&ZjcUz8IYC|DTfjm7`lW(28IslkS+lwM?gR%1!?K-P&yP4B?J+q zLqz`Jx)lEVU;Wno{&%f+O|0`g`@CoGea_y`tD%B{NdW-h;sOXPFm+Gmmg{xU0Dwhw z008wbKutkgmJh712vU<(2P-N-w1H}hF`BdLZTu8Xrselm2r9`j$-SPj2}JUNh1NmaZTPZRCxV6F-3KT0tT6LlXo+UR;8`sbP;di*}VYc8!#qoHF!p4;yg9s=Ep+ z3G7#opMKr9*UanE5{ig%v96LMh|k7ZZl4zbCG>>sQ){{paiwj}s0@zLj)g4tcT%i0 zfEZ%3FRe~4MLIrGGQ_vbBup}_}n?yPS)sq%A;gyk<2 zPgZ1w3+UNn4}#mAd(5x69nF4wX(u;A|F9LesID@ex%K87$!?3MRr5_~;u#Qrjpmol ziYp)S$-Hw!rY{geo5?fFRpFGEbO;Ru9n*Z(nZk3|_qx7zO8GBEJWMz{D z2>k#WC^z7v+yMB?4XBm>b>X4D{c^+ahoO)FU4@%}IqUbMNG^=BK$yF@z+6DTAAJ@9 zKRJJnc5uG?2L#=35H@!lT>fN<@sBw3KS6o^6V%BKZei=#Pz9&!!4ZGTbX!JDven##%VK44m14cqd-{PwM;dM=Ou zCExwx`POOtM%@Wqq9S4098Z9(U32?Gky11&L&q(8o@Pt9HIJqg+D57w4b9oxGV>#19`Ng9dP?7);=?PU z)^wRa%_YO^d=r{~d_9%0Juc#wNJUA;id_5?-tEWrFeg!~wz6--))^dP-)66NYfak> z3()ga4`@cA-FK>zlV+ozB38#b*4nJjmaXw0@Vh%1L2v74*b<6|(fd50;nuttbWwp$ zGh=(uXRjtOZ`w=B(0;of9co*n&*!kC)@0zk%V^bq_b?UY0J$L&MgP9UMOIGlxfy#B z&ZIhlGb<^SxuZ$0;0lL+dV#kl+t@y3I-bOEmaWc=-R0_QAFRi(kWsjtg8LO0w#Kdd zn(-x9_|uM-{m_hWJX0iT;67@bl$7Y+4~as6f+e29<%*jk`ErROw>N3qslXlJ2kk~C zphv>c=Vjmz$n32C#n0$WlTrQRHg->*kHVaTkqo7WjPFnX+8BPs*V+E8;s2b>0Toxr zsGA&h|JoS9>hcPDKvghAdqk2LYF~Ru{eYXaCdqJ;3ec<7% zw|PHoyAe5!?d`fO;NNq*nY;JMg)Axx5;c7E^+;iLs$;j};dWG6VQ9|^*N5aW5bvPs zD78Av@yfuPEN;-kMr{w^R2Jfg0pN{DJj2!zm&cE z!qUb@3Tg5f@fP%5J$V+E&?VWW>bRZLt?=dJru8P*Yl)kiJD&B4p|pARiMXPJvBq%3JEeED z_f4e7kH0%WyA&kSD{ z?Ya?L{JQHqK1bV|5nz@2?I5!%gQF?BHG*2)6gI8awc!eC>POT}G>G1Jj@Y&G4}JRb zF?CtS#IS5xB{Aq}O<2flLfHB9Ldx7Z3h>?uXx%B%)!V?Vrz&X^*{oFtptUpXg^~*) zcZWvbTMCI+Yt6;v-dzxd?Am*{2{)uXFi{;k#FwHsmAtH`v_Np^6%k6^oaz4nm~oj6 zy%k--GF^Egh=-T_7Fm5hC6*SAxpIq7QG&dyI@{(0(6t6;YZfynM+iAjJYH2*v8s-N zcr>TBg!Q_>V z5a=i~serj>Oc=C-IX_0coT4ybt+dj%n8$qBdogc7!uX6M6Qy25tIQbmV})tZFW zwaTDGhwVb_(EnbXC@Ax06^!p|!jX6w)*b2y))otlAS?M7xMeYDl;|Wec5ekNJnsta zHL~+6XsDAA8~3S(8>L9Me=G%Nx>0VM&2r`@DyVR?L!=a^WI}6=&^UA-d#)vusSPG9 zfBe*b8N1a@__@0l8MeC7BbDdLvP>J9bYE=dTf8`-H_JU_w4Na!H6tazf_N&wFvi67 ztgwk-hn1GbWPBJ^b4iQaG=)LcHFdJmU0nq<<8un|{5+s61rO?}B)I7yol8E}66NE* za>vDV8rO7Q253Cg4j>xOy6(oQKh@~_RVDoffM|4LKhw(Rr~v<7*6kZn!V%QBhU#?8}|TCb>7vdD&>`gG>p)ST*ClLdx}O6cb~9hzeUx>YJ@ zbNXEx9aW@pt!K2Os3@~k`Z4WrQUIS3sdR;9`5-K;>clUG>(v8d`ggDJ-@;6KxfXxL z(F#imKL*fQrbAFE1(sKl|L2C@Rf=8_>G>i#n5x-OfmIw zt(6yW<)~L^?SML0nn&WVXg<>(-Gjx8jJL&Lq4!uvRK09TFJkL%w34WCv#Y_<5 z3p?S|n-5d2X;;pVPFS~?HyGD(F`Z8JSpg<$q<+KHo(m#jJzrKAW>>p9Fya77U`=G zJJE^VXenBb9U^@e+T*$y1`=H&^2Mw37}iDaTOj2^3_do}LYKXi_t9HUk0yQN4h-8P zvMt9RCj=Li4Suh>oyi&i&58o%yzyIKZ04a#9JV7MLP8oIeYXQA^fK!2iB!DKh#lH= zc8!L1m^=gQ*5?W=_9LyxtR1X@O3QVD+u<;)5o25y>V)eE`+m#R&P#`E9Zbh&SK|wE zA}iU;ksZFAGLZ#gkT)5BR}!u_eS=ouSh<=aYIoP^SE37S^+7QR6V{7cwAOs>}b%ZZ4LvSx^1 zQ`uAF3aHaaxknyKGs(Ik4mjel>I!WCZ_MQ(D@KCYx7_<8k?oN`vJ!Y z|1uwEvHfR8)14ekA!(j51?ej@L*E5jt2KjiZ+)({f9EKf63C_|HkkDeJI6THE(1a2 z2HeJW^n?t|YIgV5&{`yE?Uz}Nrq8M6S5Uz0M^{;0M0eL+libxyU$JiuxVfqT3|B8b zGNek9$<|)*HjuXoq-6uhMK_EZrxDF14TPx?)V+n~NzK2k{RF7Eu4h*5u7r3(ahGa! z>SZH0#DINQCI|nnSp)C!>{E?;maN8HKI#a1iFrHfOV9U8qf@8Ec&mL`uf;}c;Sx>R zSzUJNHTc3fx4+mMZHtT}@Xoy)o7d!fkpG}M*>R{W6vtAH^?1&)r~YB7TpBfc1@RFO zE_aY(q0YZtBv;@*#E*MD#fZhm*1uKl5T;X&X137S#Ezv_9;*B&%aifB7pK^rArt97tN-h6B*W+;Udv@!YtXyp#tyU$1nGd=ng z_na{Y4S&%F{P8Q=V=1$W`Zg=m5z2!cwF6&_^m_#OYHagvn7YI#<_0H? z!4CIE-j{t_1V6-8Yf_6kZI(-U688GDj9;VR>0zR2acr(BNrC?L@(qNZdL0Hs)NoMI zBAVFp%t38&!jt9w*M2E-w>@?x&RVGRCLq!t^S}|+1i&!?08&&D^s|M!12eaGIV)~r zP`$wD4H8r@KqwtZ@fJ>+JOa&uYZAfle@GaC2R8&CE&-*ta9gigjvZ7aP$ z=b9!8OEG@ZkTPq{%y9hrmW)9Nkpho4eIX~bB)2Q9oD-gQMXHrp9q9}N zqt2m1&t$U|B`zWrSWy{F1YLKatc$6^DUqc_e0_Rf(d#(W%x%?6$Uo)eu`!PQ^CK7r zeJFmm6R|#1Yp2-jZSxzo{YjHMZ#iaSsH3(Jsm4qErY)Az^#e)MK3&5~G_N<_yNJ{? zpqJ@OhKm$$(S0-bWGk4ebr*}n!1G6!uI9tjS8n~JJ#Ma`vC4I=@149#Zv6Y|;^w{p zNWbEBSC)h1N=uUNk3o>{MJ+_gFGhs@dtn^>Y150>FzP3a2bZ@e5=E;6Hf9FS4bt~k~9DVe&@>fsB zH?k7BL>BW5Fvah(ocai!(ww}Dfe-CE?m8wQ5Tt>ZEanv*sa>hejg@%)C%vT) z@y^3@{tl*YP)^*G4@%?7MTMy1h48%C;s5B@QGNGss`OiD4KM`e><+hp0sjIfY8rzu zWGSRZp@vlnS9Cr}#3z-q&V}QUZD~kqBR$e))opC*`#)EIrvfF$9isUq)Ck&j2 z)VnOtxV%pH_4W2bD~%c_4As14&KX3552tX;P_t0~sD;17!^_Wp@C@`6Bh;f->+UTE zETY!9VrA1bw>J+osAsltdv!39z1>Q3q%XC|yK=~drrTs9-TU#{hL*E@-^Opa(Ku0t z>?dwE%mXz{+NFn|2xrxeP!-xM z{NJY+X5e_DtWJI|Y~Qfkm!Bvyreqh4Xby$ZY%iJ41*_(+hOJRzj0$R1u2@2>62c}f zw=xavad+mRMbSL9-oxv;GlQ$jEXpm-;jX%qL0a!4FPXezZXM(f1ZRbfortzRBu(3( z_Qjgc^=M+M&L~+W? zK0{h!78L$w;*A5HmSeol$wNVrJLr|T6xR7V-L*#U4?7otGjH|8J2dZp#o3K@ z_NkBPp-9VB<2;^gI{EDVzd+3L$>!<^o40U3d6y$EHa%96$ zxlCQvP;lF?RI_iMYT0gPqN`j4D&*7Jl^w%DAY*VCVQyJmso__n2b=}I5VTBw*(eo@ zV=^^Qe(h%{C%o9FQOMeE zW?$GBhm8FsZ-&qhz4NRQLcW!&^vabi{tK24D9P)cV6Hag;lb6D(bYEDdSkG z;5+%t`*@tQa&y{+oz(EvtjSJ$L-xWU9DcawNOtB9ZFDEFUHjb}PhQG~;No$toPrO7 z3dfz$2>T*f$7KF%oBkBMI3AfTg?^#-w(<}O!s<1g#*w=s+3ugCBFBWKobuJFD{qJH zgwc2&^DP@@yJr@9n+$R4vf2QB+kjcsE|A$u&ZLN= z?Rxuwra5t{mlS7r#p&K&*2mV^ki1}lIa2Tk;U15Y7c~?^P)*&tVi^)-@%usCq=)yJ zX7IckaLm^tI0h%=uurm_Fx$Cuh~mGEWu|0!8OY=@a`oQI-2t_HXNCdpdYhRcjWE=y z13+7py%bGdqQN7{{&~icmayv*n`A*4DSi7|jlfeWxTN=g*eu&qS{)5New+=Ju6J<9^gNdm8AG{UX!V;`DaU z_R9MVxjmyao;?eO${uelg#u`en4kE_908f+d5;-ZKOedgxe8xW8cR>MsR|XBnL=6&}&caf5@lKwSK2=}1AG#|T!S(3yJVS*@7l zg?(csDK$Bz9Sfxlp`lY?oNHHqf46{|>t9z+;MvEoXxe(CmC#RCz}b^-{2ST} zBH|AV=N0+iW%-{*Dg$qz4$5D`# q{J%BJMZ^EJU!EJTp#E=Na=v?Ns9>QS3qVCL31AP^{~6Gn{rVq;${Mx+ diff --git a/.vib/wildfly/runtime-parameters.yaml b/.vib/wildfly/runtime-parameters.yaml deleted file mode 100644 index 6284056af2fffd..00000000000000 --- a/.vib/wildfly/runtime-parameters.yaml +++ /dev/null @@ -1,8 +0,0 @@ -wildflyUsername: user -wildflyPassword: ComplicatedPassword123!4 -exposeManagementConsole: true -service: - type: LoadBalancer - ports: - http: 80 - mgmt: 9990 diff --git a/.vib/wildfly/vib-publish.json b/.vib/wildfly/vib-publish.json deleted file mode 100644 index 2ff96d4c95268d..00000000000000 --- a/.vib/wildfly/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/wildfly" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/wildfly/vib-verify.json b/.vib/wildfly/vib-verify.json deleted file mode 100644 index b7adb53c00a63a..00000000000000 --- a/.vib/wildfly/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/wildfly" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/wildfly" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "M4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "wildfly/goss/goss.yaml", - "vars_file": "wildfly/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-wildfly" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/wildfly/cypress" - }, - "endpoint": "lb-wildfly-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/wordpress/cypress/cypress.config.js b/.vib/wordpress/cypress/cypress.config.js deleted file mode 100644 index 8c1920975b12a9..00000000000000 --- a/.vib/wordpress/cypress/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - username: 'test_user', - password: 'ComplicatedPassword123!4', - }, - defaultCommandTimeout: 30000, - chromeWebSecurity: false, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost/', - }, -} diff --git a/.vib/wordpress/cypress/cypress/e2e/wordpress.cy.js b/.vib/wordpress/cypress/cypress/e2e/wordpress.cy.js deleted file mode 100644 index 17baa0e9984501..00000000000000 --- a/.vib/wordpress/cypress/cypress/e2e/wordpress.cy.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -import { random, getIframeBody } from '../support/utils'; - -it('allows creating a post with image', () => { - cy.login(); - cy.visit('/wp-admin/post-new.php'); - cy.get('[aria-label="Close"]').click(); - // Wait for DOM content to load - cy.wait(5000); - cy.fixture('posts').then((post) => { - console.log(getIframeBody()); - getIframeBody() - .find('[aria-label="Add title"]') - .should('be.visible') - .type(`${post.newPost.title} ${random}`); - }); - cy.get('button[aria-label="Block Inserter"]').click(); - cy.get('[class*="item-image"]').click(); - getIframeBody() - .find('input[type="file"]') - .selectFile('cypress/fixtures/images/test_image.jpeg', { - force: true, - }); - cy.contains('Save draft').click(); - cy.contains('Publish').click(); - cy.get( - '.editor-post-publish-panel__header-publish-button > .components-button' - ) - .should('not.be.disabled') - .click(); - cy.contains('View Post').click(); - cy.get('[src*="test_image"]'); -}); diff --git a/.vib/wordpress/cypress/cypress/fixtures/images/test_image.jpeg b/.vib/wordpress/cypress/cypress/fixtures/images/test_image.jpeg deleted file mode 100644 index 1d2a61929011dc51dc0717f675ba868a02bcfd85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12265 zcmb_?1yEdDv+l+v*aY{%-Q5Z94#72OfFOZDa0vttZh_$L!QCOa3_3vrA&}r2^i6X9 zlXLE^SM}=Ey*;pZPp|d0tXjKQSMPaPd{_r?l;jlU05~`RfP;O2hfVk#MQLd>4J~y! zMHSiK1Mu%0t(@EuIRU`Q`K6ndycAg9zz_`li!7|%U7l!YsQgRx-`I=!U)lj+mhG3W z|2Fvl`ugaZwYwF}K~&g8K`R%xmoQ!u#;d)0>GF$z2jlUq>@1$a_yQQu>IQQV#!vl{ zTmHpw{o-x^;;(-3ZaP}h0055xR?C=9{*lpU0RVOg05o>~BeN_7fF{@)6Ro;f zxLN$Rg8;k2+t>iWNihIm8UO$;Y^~9a{-@)Atv5{fFa1FN0s!dv0D#Ik0HkLC06oke zw($cLkOq(t5D^g(kYE=iBqU@M3{(^tVLy6=h5^EU{1}7{0^t&n5#r*J;DbO!R751? z2ynlisJ{sr1rZ4q0shx0F-#5{{Cnir9S#8z3I1Ujz(9ZjaS(7|k`~E- zPx#;Av7?!pmz`wkzL#?-U2EuNJ8|c#uKyR+a6y>on>`eM-@FfVg$_L_&D1$e3_ARL zJ2Y88+Eqkfz9ea^;d1^&@#``9L#I`_)2eB81t0^xNRHakJv$h9UHC-GulfO)%@T7Y zBB-b~<1q8Mwq1Xn@~kx?>C1v0hEL!hJlw`%Y^;U9@a^Q1j@DDNwj+08Ffg}|&4*!@ zo1bw4p$q`srCkUghAe2j{<7sJoCDj4{~@BEMBlz*_mxj5ZMt<)9Bz!S4t3{N)_Q05d@K3@>{En~*eSG!iOp??SBr_n$Hfot1xx;cTW$H1l|i3h zdx`r;F~vjMAAlRxEQP{KMFxEka=WLAnvLrF|!{CWH} zInn;sK|{7X{j!&qvnsFTQw+#vUUpX1xS_>zo}6$Z{J^B4nGxy`v>P0^czCSzb*5;) zw=C<j8xg6Y#q2z~?%D!eQU-ht2`Vkh<=zU7zIURd=709b07OAX zTjVt;Lhy9n`YVaCUsLYS{pvBA8Aq}_fqmLznl{zqh>Fh}*BLQ!T^ol437ZrWnd*H% z{*DeAI}>BYf2adhzUNFiYjY)HE{93JRp1m zDjIIiKx#TJSRO-#r8hWOMg#0We{CrEp*z*?6xsQ-cHGCWu{$mqeFV~mLQk)^nDnTe z{S6P)6Du+eM(GAG6`J9`kWAWe*7m<8Jr~{y>zUTZ{Y5nHX?xI}CU6GRmkWlL3hTyk zGA~WsWcK2PD@SsCPAXJ(Z3J4O-&2vOEk2mNB5RI}%_e|79kj>2Khluhwcl3pSyh3Ifk^p-`b`yTGcPrRoe{P#M)i$`vtuHGsO1E z#iMW$$M-$F;JasKbOQ@V%hwM8sKx&(+blMJ4~tY@a!@()fMh{>qv8CX#_jG{w2NFG zLdKsR6!8GG^HqiSJ^y|yw|%qe?JpcxA}ChrTsoO!V|;_;H~@)=M%K+C?;K+V{MkzDi6Dk|}e*|3Q6sFJ=*a$sxzjZ^eGH zkG%ADb#m*Dtqg?PM74-$HP%sylYYRGOCnZOI2mkL9OKdvS@KH09@5gAAf&mN&FA~% z^8&$=XJm?a>oCns?=TpYsjB>*_b8EIumN@4$$m~Grg--F=iJdAvM>wIa21E1&=3TA zZW1zm4z%{KI7cewd9G>9&ZIl0EH4FO7cYt$iA8g(R+i6WvK2WX%Hwm*%rCyUV}yIl z8E(IQOW&OFrTjT|8}+C@=aX|EG`Nq)*gw2p-Tkt1U187OlT9_4zVW3iY_04EMchp5 zy;EoIJV{KhP|12(Yc5Z(D6P{*!&*gtZ-HXO%4_WKarNx+l@jPaQ%Mr~+tNG5e`|}t zzxR5>?AhTi!`DyE#+x9*Yf>D^WqbZ$oO1?)g>_MhnPhz<{oW?ikc~s3%t@13 zF|oL>?b0_CPeWVSFjeYmO9n{|(IS!b!J@5(y~PwnLqYrU{KDvITRO5*9@pug@#)OtQi6*N zQ~+skbp;}dMFale1kqFkvVV5*DWxgZeswhl);+g*g39|e@UTs!P4m(8D63N}k8J#5 ze6**p!aY50d_^3s*SwHbGHrt3jDb}IXk71hz4OI@1aeE&ftpV~7Ppmx==cer=BJ$( zS=z_yKNpt7ZFs%X`QpbEwY1Bu@yt=umRO~|v=Zt-Dy*fPr=v761|;vM<&SHV!Ez~5 zjV+$?-rYn4K2EroHPp6; z#LaQM)~lXylJHF7O-YkVa;WWn018|q>*YG;8W148R|k@TnjFH)Ad z?%SBQ+;s11$)ZfcU=-WeD_Y`&km15Tj8C;ju*=6MiN!eO_&mW4=RGX=nG~pmM=_o zvYu*;esn~uT(SrbZSji2C z2rIY$BG`cj;DD&OxFr!`v2lX6{u3GeugLB@8KaYr6AFS-%W&c|z1mC_@EeO`68)1* z1y{;cah6eZOrCE)Z=j95(T|373X)Vy8mciIp^)nMtM5yG9XcdPjHtKYrNxjp zeMBJP_3>E1z=){0-WMrumGxG&X8<=-zF+?g&!$#OvRWON{z4)BqGVmCR*;~p@@+mIg0)*rSZH!Mu+ZS)5z$eQ z5Ydo+1@|j75G*Pxt|vHPYE3N*SGU?88g5Aq_ux7_si632Bx&tjd|FN(ORK<;4PL&4 z#H0V5;K&lN6I^FIEf9I;IrYcU`4C-e%VUq4xhL@<2<<+t#&X6>1Q*px7plW;f_{%q zUga*@(U4 zCdb@ofrm@PgOvs~*mU_mcfdW-qvJ#$tq)h=oW5jeuw_sBexCB{wK^8Z#*y98F`+nq zA_!z^)qMQ1cUu*)|5{*YQ*^b}=jw))qhl z>LJOC>5X<9tSWZRr$?&3H}ck0#L36ZIZni6Iicl8NV^G|yi&)-KJ{a`d8AJMGt(>Y z=-TeOF_tvZp*|qXwq*?SQ0epL{Tjo|W6obD0_xbD$g=2)`}opl{rB1^h;H(sTL;7{foRsM62cS8>Un7CxsdhUBJ;V03{A2NN7e7UcBf@`nCid~u z;c>+{!&RJ)7^T0$B0Exg`rerji>e!Aa|?@1ee^7r)^B?Me_fiAfhJYI3BYV5daR|{f|T96W?(VucA zQ%=42^?@}F3ul8qDzkD%7pdeft~{Lmrh@q*N==R10@J`o-**b<0;yF{$v ztkK&#kNIpA3EHd{^?d-m^b#?_&aUk)JN+YsX)k!KdRI|f?vKl}S@k_ol9sQ-o4t)A zp3b@IWsA%0kYW=lV#JWftWQN<1Ve8JPVubnvbzpyj_{sk$h{Kz^yM|tPtuh}^sSTa z7Y38fk*#6c^(5TuYB8-S)^}48;sI4X}QV*LLU$J(#7X2zIX4nTsWU|1wd(9D_$rSj!=ob~W3%OUIvL8^~%C`yx)y zVkmOsxLdEaof{YA)kXM0gwsix97;Lg8CH`uAJu7 zuJJe!tQi#a%aWdXP6xZ%lJt;X?@~y6YiwCf>Q_gv@;(6Q68MF^1wm+tpCJkD-|1hD zmguoG_{Yo1n#Xf6i2T&-M={7ZGh&}sgtN+hzfDu^S`_|>UmoiGLDx3zF8PHstTZp_ zq{RCOx>VZkpdC>#T9)0xM;ScfLFZAag;A(nf;m>_Ft124IOR88d9hRc@@l*9R@&mB+0N}Icx`n&V zf32YO^UvsSJf{4B5Puo3Sn~E}tpDD_s;)vn%=~72TYnXDdhy=u)kIB&rwz-`C>IN= zRRpek-6(%g%`g9~Qpru_Mo;9vS%Dt*2Bf2JL*FdAlMk8THn3%Qhwq|YCoU29}UI9T|L+EY=U@U``7q=J*jx%;Qf1dJ$=h>z3s5_go5#z z#bwNQRjx@I2LOAEi6-%8L1?Y4){MCQ`H#Nm-E7d-&@ygS&^(b&tty@Zh{x@Pe%0Ky ztoc2;@@H}UH&>%yG_CTrdXNo-Tfa+E8(4O9)6W-$5v5|0YJxw{y{*L$Ijo-5uMQLS z!tOH+Y3R)F_BjtZ6iBx6(Vkp3L|fo>s@KTGeuD;HOUsy8)F{41j2sW|WAu-o5BPwf zNRLBc<>ub>{RyE4eD6m~mrpeAhj~}}ypFv?Nvgc38`8s2HFsqUmK0tBOr=mFhIQwglhJCxqB4)(OY@MF$uo_F@<{j%A-i|qCv(2%2RYPWHF ziuyOs5)2o{WKlVH6S!*3LIf5EF0S{lXQGXTC9|vQnC?Ge#Yt3Fe0ae%#QYJnFJxw< z6l#zcZ|p%b;tE=8tPhh#o9QeYP77toI4hedGqRpo#U${U@ZUc_BI+x3tv9VW9W1Ua zJ07lHbT|<%S*nwe2M$D+9rl@&)w+87nfNUafsou8oV zq`KjYL5pb~W^d}nGZcA5=~RbLxwkK>3hpv#R-C*d@~f9^4@javkqnRJB=nxY?ZI?` z3dcS_D6LToXcaIzQ&o+TXm>1KAw!Ea{jRkk5Vo*V)X%vsJ~5&mv!m@#L0xd*4IvMU zwzaasj|iG9h~73E?3{Ggu6i+;Lb*yXtz%D7eE#B#GCf^EiX5S6*(9!Dn-RN{?weat zM#e=XOPbks43FTp@Aunc>~zQ6N~3l6bFB8?x!*Ba;;^n`%8ONMsS6?7dqU00=5TxG z6Vzp1_Y_8WGBzRfLx~LQ9UGOeFAHTC^Lj&`omr|ZRks#Kh*|RKz?wqrtVl9PRgSH1 z3u4uc>~ooeaxEWyU!T>tNX`qAs@}b>Wr8rHS^;&2*VoMi zc4qRzj-uy@Kc=~M&F<}s2UN4==8_yKpoML12kZ+?*B@aO8w(DsR|1cK`nzHLyB>uD z0kC3C69;VJ8Wf*H%`MS|)9fNaGS;vfl1SzV~{l30gB@%YeX;%_~z z&#yA})#Yy%?5R?t&&saktWycU_|6|O^b$7;@?r2lYc&g(u@0>swl$6_;@=Hhw&hTu1%T|fN-DSJbE7LY@5i_kcoF`drXKYL85WupP z!{!l=MNXwWiC`>`xFWbHfy(o@`I^+`lHrwWi$(H%UeYtvdya#Pk!(%RY*v1wk6+sR z0{+WKo|sUVTX?BDDyVzU0}vJ?OTac_?@cD)b+1{AA+49?ELfsYPh8Zjd3#wj>)!VO zqztYl$MFc)xGF%YYQ`l?U?7;VPw=;U{o@X$TEzcaa;RPXq zmqf+9_%(CQzJ=l~2OQYjE&;tc{eabIc%y%&EnOIk6!wR2U6t+P8h?>-lJy;*tc1PP`#R*Lizxm`Lh zarGvfWveAR^|qEvHpI?kPfC(Ce(KRpoeuHQ05G}$LygLI;bc)lo9nfeAL2d4mA28LJ-Jsj<2Yy}p$)Bs# zZ`sA(pXb}*pknuyS@sfcxs@yk_~Mh2N>Y(uuuq}seGIZq%ay_;^lrJQLl}*}KQGau zSHr?+(oC##7UapxGLhI(9~9IPB~_hZILWs5fHob(+FD1f-j&oLrML851fX*wNg4;x z&=_cb;-+j3_6)7e;S^vGEE~gkuBgo<6Qo*@Nf({gh4ce7*-hp(wWxMjG8z8qNWu_j z7~fGR6_FI{N{kT>7mbkV9_zEc>t1mttJs~7~`qGLPMf7Yin|B24Avi zk}Y2dMV<-!=D_@rWxb&G=2zzanUPA_D$n#eZnLARa&gT?-2Bl$1|6S6c5^cXub4JPA*^~O`U9pOedpU+R|Y&( z4L+Dgk{8CF?@!D;zP8n0p01#Te*(szXdmDUgQKVpCOM(Q_2!w1;MP9U)A_`7Q zia*g7!Of%AQIUMX8sz9qc&^C3+uH#COzNHY zNdA!ea6~J6Jk98x`ha05{GkM zsu3OH=of~`G0VwlgW=XK+*3T3RX!ieDAYjj39o~5s)pd4JHKhh<0BdPJWCj|-G2+@ zkqr^?TQ$x3bnQzm6^PiAp1tiE$hqrg^X$3Wvc>-Oy}gxu%_XQjhA;{3>p?S zYK&b}FbaHD2wiRxL`bTQSN>eTWlZ)(jL9P=fp*h8)C^>;4P)%BPch9uFy2wUjwjpO zR1PjMAOC=Lmi3J7NhbTt`Y5)%DEujfPUNTykOKv;Nq%#~sZ*5Vvc#P&?6Cd)Hum>> zXq?kY(f{o~w2s67s}8LBd{+oSk~wtRic4_mJC=;`d^aMQCcvL z;J;A6eXeKtx8yjM$u^jiM~ZV}?N3CkZX>Fo7}06jKN8W86IAfAcsi7Lf3PQ`h}6SG zxvH%HSRBJ!K5Qg@9{u)@4}E0reHgW)WVJ*8sQRPff5iONc(9^ERWu0+` z_Sz)T`mTh9_1;DuNl9sbIwEDjPgfj{#MiHgEyH8AW|zi0jYdWEdd!IT2j20g7H0mKyj!k@SL-^v7E@GOKUnJr32NRO z3cc```?^Y^l{fmL&YllLyVV0&fbt4xpQb}NMo&U^s)M%D*7w<_Wg0j$XZvg(Sinag04shBjY%`N_r zx9#dvk>9yIwt>&FMW6k0HaT#m>Kn6Y?otn9lhskJR|T!X-p zuwq-Iwg*;ePjCFGwQ(MR`XL9;XaHH)5pUiZUAiXdv*Ng*Soc%6idRnKGG8XKHVy7Y zMCrFxa4~$fmIl&&tm&U}ZwiOtRg63UTw7tef=^KPIBY1+0zifGX5(KVXfcv^J0BSw zfbP^!B(aLZ61}N99&ouPE_fn1<6Qeu!~|`Qy9=jY=TUTuReN)pUe)PnM6>sDyPzjU2-)59WK{M+q#5ktaCni4D7DShu!M-_s066^A z6^p;WIW*KV%!4N4d>B}<&3Hn_atbd9B{lX5Vq7K{nN`g*f@;GqX`BOsScly6kTMHxbkjYWCPu74+l;Jy);EDrIO zjf|Sv&fSg``XumihrkG%AG0OS?-3IVNWj<0;y z=a}6|WxR>nOvYJ}la$&z(>!tn4g7+2*Z?ply5AkFR+WD7N+sht>tl_~#`R;Ax%7%u z%Oyc44ZLIb7K~R{ct2As5RxWNrS+k+uD)ciV@npZI=41e>1zAoGksdE=V~dt@hRrW zd}wTnC-ElNJnK9wPr!#^6ITV?p;QIq`$3F;S}joa+bW!;s*j1tG+d=>U> zN`Ak>hTF(tugaN>*v5Zr^Jy?`1WOnt(d2cQq{vM5pn5`avdM4Rk| z#tX$l;-44-UK4S}yKNdTGRDzfa3?_g6h;vm)QfAcG23UPu_3;!cNkdSsQ1fUju1|k+BS~9WQ%B;~)sULKUkh zl=sf7|23F%n*l}1o- zP!nomVEUWlSC_m=@&+yGa<+87N%A_Xjn?X=Ne4xL!}8Q1HMZ73gD}xB(J4k5W+K>F z;bQSETGoH1Du`L9<5$8PM(ov)in2g6=|*bnsG2!qQcShveMcO+G8G%KC9jzSa`R@x zQ6V8f9Vp#-yL5mqNobKaQ~2()$}wFlV@a$!T{4QC|1e;Lymx6-OB0I)|ecBEjedzm9)#J}ZB)e^4l+C3Sc% zpPS;T^C7N~K8*XI_P)cw{Lbm@OR)rWrFw8>DnHJS6t(I|b4A_O*24mB>@5x1!aYee zmwY@(t?|*B{8d|rrR3A!%2YVJ^{a_mo=wE_dP+a%0Uj+gby1&gPDzU9TSL*>{!q% zkm1OcoE#6t+oLTpaU8pZ$+-O6sx4$k_HAe`JCVcq_O*tx7L!}H$mnqa1^R$GVm7fq zRz&=mcCsYA?ttm4S`C=46a8Z}T6`J<)z|#40I%pLQDIDsB;GCrI5n*HGJ?S}^-0w! zRm$%aW$2nqYd)m+=7yl!ylKf%Ad4tfPT1z!^kX_s)1)WXbVJZE=W+k7n55Cr5n0i( za2b~ZkLg__N0S`(xPcCiO;wU%0$H8$a}VP)o0&|v^pnzaDtI^>72;Ay+EK3rUV+O~ z>+gGVK11YGh&&#o>9Xc1h(Ddaz8mKZ?b$Lqh>i$+OeT|?H(Y|K*S|CHB>M9r!ut&F7^{CPGtZ}jQrqZ`4*rVM<9)6*L1?`5%( zZk_$@TMA-(+V>?fG*QU!#v4}c5Tp6+8r@lg^c#wvuZwPG){;Tk!RyZS&o^kl#teTA z>cxl;J11^EGkXB4R|NWKMS?}3U-KmRy4Oev5E@i$852>xvUc-dG8e$JKMqST4qnD7 zVc#s8!yo*}Xn`y904TX7r!wRGOdN5*M}wUV-}mL_-j?86YLD%Rf3XNMf&lKxp74d2@9 zGVoNCali0x*`#dFtq1HY!?#*eo~(Nn#O?_Vgl|p-Cy0HaTFDfdN>%Jv3}){iSZ0i( zeOH7_`xJVAEzrG`gQE>QSwr1ulV%?P+5CY;0-{GOghnfbaLq_KW=d>^q@+ZF70l}z zO^Qi~3ea2r47QYmOmUS-IP{vlNeYS6=l$(KBH@#p};VmG5AG6RO3knkIlwU<4FB3&(U3n2CDP10YYkVP|lX xg4CSZHINm!9{2g?cL&mkFG^pF=-AhpO!ez$_Y;oY%(#w_u`6x{?0 { - const origVal = originalFn(...args); - - return new Promise((resolve) => { - setTimeout(() => { - resolve(origVal); - }, COMMAND_DELAY); - }); - }); -} - -Cypress.Commands.add( - 'login', - (username = Cypress.env('username'), password = Cypress.env('password')) => { - cy.visit('/wp-login.php'); - cy.get('#user_login').type(username); - cy.get('#user_pass').type(password); - cy.get('#wp-submit').click(); - } -); - diff --git a/.vib/wordpress/cypress/cypress/support/e2e.js b/.vib/wordpress/cypress/cypress/support/e2e.js deleted file mode 100644 index 97400eb4f8c1a0..00000000000000 --- a/.vib/wordpress/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/wordpress/cypress/cypress/support/utils.js b/.vib/wordpress/cypress/cypress/support/utils.js deleted file mode 100644 index 176460cc9a8e8c..00000000000000 --- a/.vib/wordpress/cypress/cypress/support/utils.js +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -export let random = (Math.random() + 1).toString(36).substring(7); - -const getIframeDocument = () => { - return ( - cy - .get('iframe[name="editor-canvas"]') - // Cypress yields jQuery element, which has the real - // DOM element under property "0". - // From the real DOM iframe element we can get - // the "document" element, it is stored in "contentDocument" property - // Cypress "its" command can access deep properties using dot notation - // https://on.cypress.io/its - .its('0.contentDocument') - .should('exist') - ); -}; - -export const getIframeBody = () => { - // get the document - return ( - getIframeDocument() - // automatically retries until body is loaded - .its('body') - .should('not.be.undefined') - // wraps "body" DOM element to allow - // chaining more Cypress commands, like ".find(...)" - .then(cy.wrap) - ); -}; diff --git a/.vib/wordpress/goss/goss-wait.yaml b/.vib/wordpress/goss/goss-wait.yaml deleted file mode 100644 index 21585f7f931838..00000000000000 --- a/.vib/wordpress/goss/goss-wait.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -addr: - tcp://wordpress-mariadb:3306: - reachable: true - timeout: 2000 diff --git a/.vib/wordpress/goss/goss.yaml b/.vib/wordpress/goss/goss.yaml deleted file mode 100644 index 2427e14aeae170..00000000000000 --- a/.vib/wordpress/goss/goss.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/wordpress: - exists: true - filetype: directory - mode: '2775' - owner: root - /etc/hosts: - exists: true - filetype: file - contents: - {{ range .Vars.hostAliases }} - {{ $ip := .ip }} - {{ range $host := .hostnames }} - - /{{ $ip }}.*{{$host}}/ - {{ end }} - {{ end }} -command: - wp-option-list: - exec: wp option list --search="admin_email" - exit-status: 0 - stdout: - - "{{ .Vars.wordpressEmail }}" - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 diff --git a/.vib/wordpress/jmeter/wordpress.jmx b/.vib/wordpress/jmeter/wordpress.jmx deleted file mode 100644 index 1fa48c54c9b451..00000000000000 --- a/.vib/wordpress/jmeter/wordpress.jmx +++ /dev/null @@ -1,520 +0,0 @@ - - - - - - false - false - - - - url.host - ${__P(url.host,localhost)} - = - - - url.port - ${__P(url.port,8888)} - = - - - url.schema - ${__P(url.schema,http)} - = - - - wordpress.username - ${__P(wordpress.username,test_user)} - = - - - wordpress.password - ${__P(wordpress.password,ComplicatedPassword123!4)} - = - - - - - - - - Virtual users getting pages - continue - - false - 1 - - 15 - 20 - true - 60 - - false - true - - - - - - - ${url.host} - ${url.port} - ${url.schema} - - - Notice Timeouts: Read to 30s, Connect to 5s - 4 - 5000 - 30000 - - - - - - User-Agent - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:48.0) Gecko/20100101 Firefox/48.0 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 - - - Accept-Language - fr,en-US;q=0.7,en;q=0.3 - - - Accept-Encoding - gzip, deflate - - - - - - - - - ${url.host} - ${url.port} - - - /wp-json/wp/v2/pages - GET - true - false - true - false - - - - - - - 1 - 0 - 100 - - - - 10000 - 100.0 - - - - - 500 - - - - - continue - - false - 1 - - 5 - 10 - 1373789594000 - 1373789594000 - true - 60 - 5 - Virtual Users creating posts - false - true - - - - - - - ${url.host} - ${url.port} - ${url.schema} - - - Notice Timeouts: Read to 30s, Connect to 5s - 4 - 5000 - 30000 - - - - - - User-Agent - Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:48.0) Gecko/20100101 Firefox/48.0 - - - Accept - text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 - - - Accept-Language - fr,en-US;q=0.7,en;q=0.3 - - - Accept-Encoding - gzip, deflate - - - X-WP-Nonce - ${wordpress.rest.nonce} - - - - - - false - false - - - - - - - false - ${wordpress.username} - = - true - log - - - false - ${wordpress.password} - = - true - pwd - - - false - 1 - = - true - testcookie - - - false - forever - = - true - rememberme - - - false - Log In - = - true - wp-submit - - - false - login - = - true - submit - - - - ${url.host} - - - - /wp-login.php - POST - true - false - true - false - - - - Perform login action - - - - 1 - 0 - 100 - - - - 1000 - 100.0 - - - - - - - - ${url.host} - - - - /wp-admin/admin-ajax.php?action=rest-nonce - GET - true - false - true - false - - - - Request a nonce for autheticating rest api actions - - - - false - wordpress.rest.nonce - (.*) - $1$ - - - true - - - - - 1 - 0 - 100 - - - - 10000 - 200.0 - - - - - true - - - - false - {"title":"Post ${__Random(0000,9999)}","content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed quis nulla quis metus facilisis tempor. Etiam sed eleifend ligula, quis dapibus neque. Ut finibus dui vel egestas euismod. Aenean ex lectus, suscipit sed sem non, dignissim varius risus. Sed felis quam, sagittis in lorem sed, ornare mattis nibh. Duis hendrerit diam ut ultrices gravida. Nunc a euismod erat, ac dignissim eros. Aenean ut condimentum tellus, in congue lectus. Nam commodo nulla nec justo tempus rutrum. Suspendisse potenti. Suspendisse sollicitudin, nulla eu elementum luctus, libero elit tincidunt sapien, sit amet varius odio massa ut turpis. Praesent quis faucibus nisl. Donec pellentesque massa malesuada rhoncus egestas. Proin sit amet suscipit lorem.","status":"publish"} - = - - - - ${url.host} - - - - /wp-json/wp/v2/posts?_locale=user - POST - true - false - true - false - - - - - - - - - Content-Type - application/json;charset=UTF-8 - - - - - - - 1 - 0 - 100 - - - - 10000 - 100.0 - - - - - - 500 - - - - - continue - - false - 1 - - 15 - 5 - 1373789594000 - 1373789594000 - true - 60 - - Virtual Users requesting the posts. - false - true - - - - - - - ${url.host} - ${url.port} - ${url.schema} - - - Notice Timeouts: Read to 30s, Connect to 5s - 4 - 5000 - 30000 - - - - - - - ${url.host} - ${url.port} - - - / - GET - true - false - true - false - - - - - - - 1 - 0 - 0 - - - - 1000 - 100.0 - - - - - 500 - - - - - false - - saveConfig - - - true - true - true - - true - true - true - true - false - true - true - false - false - false - true - false - false - false - true - 0 - true - true - true - true - true - true - - - - - - - - true - false - - - - - true - true - - - - true - - saveConfig - - - true - true - true - - true - true - true - true - false - true - true - false - false - false - true - false - false - false - true - 0 - true - true - true - true - true - true - - - - - - - - diff --git a/.vib/wordpress/runtime-parameters.yaml b/.vib/wordpress/runtime-parameters.yaml deleted file mode 100644 index 7f8ffe34c5773b..00000000000000 --- a/.vib/wordpress/runtime-parameters.yaml +++ /dev/null @@ -1,27 +0,0 @@ -wordpressUsername: test_user -wordpressPassword: ComplicatedPassword123!4 -wordpressEmail: test_user_email@email.com -mariadb: - auth: - database: test_wordpress_database - username: test_wordpress_username - password: test_wordpress_password -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -wordpressTablePrefix: wordpress_ -service: - type: LoadBalancer - ports: - http: 80 - https: 443 -containerPorts: - http: 8081 - https: 8444 -hostAliases: - - ip: 127.0.0.1 - hostnames: - - status.localhost \ No newline at end of file diff --git a/.vib/wordpress/vib-publish.json b/.vib/wordpress/vib-publish.json deleted file mode 100644 index 5a137268e23728..00000000000000 --- a/.vib/wordpress/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/wordpress" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/wordpress/vib-verify.json b/.vib/wordpress/vib-verify.json deleted file mode 100644 index 2c5024c2911d41..00000000000000 --- a/.vib/wordpress/vib-verify.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/wordpress" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/wordpress" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "wordpress/goss/goss.yaml", - "vars_file": "wordpress/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-wordpress" - } - }, - "wait": { - "file": "wordpress/goss/goss-wait.yaml" - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/wordpress/cypress" - }, - "endpoint": "lb-wordpress-https", - "app_protocol": "HTTPS", - "env": { - "username": "test_user", - "password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "jmeter", - "params": { - "resources": { - "path": "/.vib/wordpress/jmeter" - }, - "test_plan_file": "wordpress.jmx", - "endpoint": "lb-wordpress-https", - "app_protocol": "HTTPS", - "env": { - "wordpress.username": "test_user", - "wordpress.password": "ComplicatedPassword123!4" - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/zipkin/cypress/cypress.config.js b/.vib/zipkin/cypress/cypress.config.js deleted file mode 100644 index 2d02e4533ed32e..00000000000000 --- a/.vib/zipkin/cypress/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - defaultCommandTimeout: 90000, - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, -} diff --git a/.vib/zipkin/cypress/cypress/e2e/zipkin.cy.js b/.vib/zipkin/cypress/cypress/e2e/zipkin.cy.js deleted file mode 100644 index 445e3bc5e82027..00000000000000 --- a/.vib/zipkin/cypress/cypress/e2e/zipkin.cy.js +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -/// - -// We check the pushed trace in the Job -it('should find pushed trace', () => { - cy.visit('/') - cy.get('[data-testid="add-button"]').click(); - cy.contains('li', 'serviceName').click(); - cy.fixture('services').then((service) => { - cy.contains(service.name); - }); -}) diff --git a/.vib/zipkin/cypress/cypress/fixtures/services.json b/.vib/zipkin/cypress/cypress/fixtures/services.json deleted file mode 100644 index 1acca78e4dea74..00000000000000 --- a/.vib/zipkin/cypress/cypress/fixtures/services.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "yelp-main" -} diff --git a/.vib/zipkin/cypress/cypress/support/e2e.js b/.vib/zipkin/cypress/cypress/support/e2e.js deleted file mode 100644 index ff9907666e61ae..00000000000000 --- a/.vib/zipkin/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Broadcom, Inc. All Rights Reserved. - * SPDX-License-Identifier: APACHE-2.0 - */ - -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -// import './commands'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/.vib/zipkin/goss/goss.yaml b/.vib/zipkin/goss/goss.yaml deleted file mode 100644 index 3b105f45ff9664..00000000000000 --- a/.vib/zipkin/goss/goss.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -http: - http://127.0.0.1:{{ .Vars.containerPorts.http }}/api/v2/services: - status: 200 - body: - - /yelp-main/ - http://zipkin:{{ .Vars.service.ports.http }}/api/v2/services: - status: 200 - body: - - /yelp-main/ - http://127.0.0.1:{{ .Vars.containerPorts.http }}/prometheus: - status: 200 - body: - - /armeria_server/ - http://zipkin:{{ .Vars.service.ports.http }}/prometheus: - status: 200 - body: - - /armeria_server/ - -command: - {{- $uid := .Vars.containerSecurityContext.runAsUser }} - {{- $gid := .Vars.podSecurityContext.fsGroup }} - check-user-info: - # The UID and GID should always be either the one specified as vars (always a bigger number that the default) - # or the one randomly defined by openshift (larger values). Otherwise, the chart is still using the default value. - exec: if [ $(id -u) -lt {{ $uid }} ] || [ $(id -G | awk '{print $2}') -lt {{ $gid }} ]; then exit 1; fi - exit-status: 0 - check-configured-env-vars: - exec: env - exit-status: 0 - stdout: - - /AUTOCOMPLETE_TTL.*{{ .Vars.configOverrides.AUTOCOMPLETE_TTL }}/ - -# The secret configuration should be mounted as a file -file: - /bitnami/zipkin/secrets/configuration/QUERY_NAMES_MAX_AGE: - exists: true - filetype: symlink - contents: - - /{{ .Vars.secretConfigOverrides.QUERY_NAMES_MAX_AGE }}/ diff --git a/.vib/zipkin/runtime-parameters.yaml b/.vib/zipkin/runtime-parameters.yaml deleted file mode 100644 index 896bf28968850d..00000000000000 --- a/.vib/zipkin/runtime-parameters.yaml +++ /dev/null @@ -1,474 +0,0 @@ -podSecurityContext: - fsGroup: 1002 -containerSecurityContext: - runAsUser: 1002 -containerPorts: - http: 6555 -configOverrides: - AUTOCOMPLETE_TTL: "1000000" -secretConfigOverrides: - QUERY_NAMES_MAX_AGE: "600" -replicaCount: 1 -service: - type: LoadBalancer - ports: - http: 80 -metrics: - enabled: true -extraDeploy: - # Job to push some data to the Zipkin instance - - | - apiVersion: batch/v1 - kind: Job - metadata: - name: zipkin-add-data - spec: - template: - spec: - restartPolicy: OnFailure - containers: - - name: zipkin-job - image: docker.io/bitnami/os-shell:latest - command: - - /bin/bash - args: - - -ec - - | - set -o errexit - set -o nounset - set -o pipefail - - # Set the endpoint URL - host=zipkin - port={{ .Values.service.ports.http }} - - retry_while() { - local -r cmd="${1:?cmd is missing}" - local -r retries="${2:-12}" - local -r sleep_time="${3:-5}" - local return_value=1 - - read -r -a command <<< "$cmd" - for ((i = 1 ; i <= retries ; i+=1 )); do - "${command[@]}" && return_value=0 && break - sleep "$sleep_time" - done - return $return_value - } - - zipkin_ready() { - # Test the TCP connection with a timeout - if timeout 5 bash -c " /tmp/ready - curl -k -X POST {{ ternary "https" "http" .Values.tls.enabled }}://zipkin:$port/api/v2/spans -H'Content-Type: application/json' -d @/sampledata/yelp.json - fi - startupProbe: - exec: - command: - - sh - - -c - - | - if [ $(cat /tmp/ready) = "1" ]; then - exit 0 - else - exit 1 - fi - initialDelaySeconds: 40 - periodSeconds: 20 - timeoutSeconds: 1 - failureThreshold: 15 - successThreshold: 1 - securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.containerSecurityContext "context" $) | nindent 12 }} - volumeMounts: - - name: tmp - mountPath: /tmp - subPath: tmp-dir - - name: sample-data - mountPath: /sampledata - volumes: - - name: tmp - emptyDir: {} - - name: sample-data - configMap: - name: zipkin-test-data - # ConfigMap with the sample data - - | - apiVersion: v1 - kind: ConfigMap - metadata: - name: zipkin-test-data - data: - # Taken from https://github.com/openzipkin/zipkin/blob/master/zipkin-lens/testdata/yelp.json - yelp.json: | - [ - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "f5f268651b2a2b34", - "id": "15fc03927f0f68df", - "kind": "CLIENT", - "name": "post", - "timestamp": 1571896375322000, - "duration": 14000, - "localEndpoint": { - "serviceName": "mobile_api" - }, - "remoteEndpoint": { - "serviceName": "blt", - "port": 31882 - }, - "tags": { - "client_status_code": "200", - "http.uri.client": "/visits", - "request_budget": "9980", - "tracer": "syslog2scribe.haproxy-synapse" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "f5f268651b2a2b34", - "id": "7a778764a0d0b594", - "kind": "CLIENT", - "name": "get", - "timestamp": 1571896375310000, - "duration": 3000, - "localEndpoint": { - "serviceName": "mobile_api" - }, - "remoteEndpoint": { - "serviceName": "spectre", - "port": 31286 - }, - "tags": { - "client_status_code": "200", - "http.uri.client": "/visits", - "request_budget": "9989", - "tracer": "syslog2scribe.haproxy-synapse" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "f5f268651b2a2b34", - "id": "7a778764a0d0b594", - "kind": "SERVER", - "name": "get", - "timestamp": 1571896375310740, - "duration": 1490, - "localEndpoint": { - "serviceName": "spectre" - }, - "tags": { - "ecosystem": "prod", - "habitat": "uswest1aprod", - "http.uri.client": "/token/abcdefgh123456", - "region": "uswest1-prod" - }, - "shared": true - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "f5f268651b2a2b34", - "id": "6a65182ea4f684c3", - "kind": "CLIENT", - "name": "set mobile_api_nonce", - "timestamp": 1571896375302030, - "duration": 1026, - "localEndpoint": { - "serviceName": "mobile_api", - "port": 31049 - }, - "remoteEndpoint": { - "serviceName": "memcache" - }, - "tags": { - "driver": "yelp_memcache", - "method": "set", - "requests": "1", - "system": "mobile_api_nonce", - "ttl": "" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "f5f268651b2a2b34", - "id": "cb4d73f31cd90cae", - "kind": "CLIENT", - "name": "get_multi mobile_api_nonce", - "timestamp": 1571896375300642, - "duration": 1066, - "localEndpoint": { - "serviceName": "mobile_api", - "port": 31049 - }, - "remoteEndpoint": { - "serviceName": "memcache" - }, - "tags": { - "driver": "yelp_memcache", - "hits": "0", - "method": "get_multi", - "requests": "1", - "system": "mobile_api_nonce" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "2e8cfb154b59a41f", - "id": "f5f268651b2a2b34", - "kind": "SERVER", - "name": "post /location/update/v4", - "timestamp": 1571896375297103, - "duration": 41740, - "localEndpoint": { - "serviceName": "mobile_api", - "port": 31049 - }, - "tags": { - "ecosystem": "prod", - "habitat": "uswest1bprod", - "http.route": "/location/update/v4", - "http.uri": "/location/update/v4", - "http.uri.qs": "/location/update/v4", - "region": "uswest1-prod", - "response_status_code": "200", - "version_SHA": "6535284b1699df0a766384a648dc95c462a7313d" - }, - "shared": true - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "2e8cfb154b59a41f", - "id": "f5f268651b2a2b34", - "kind": "CLIENT", - "name": "post", - "timestamp": 1571896375287000, - "duration": 56000, - "localEndpoint": { - "serviceName": "yelp-main" - }, - "remoteEndpoint": { - "serviceName": "mobile_api", - "port": 31049 - }, - "tags": { - "client_status_code": "200", - "http.uri.client": "/location/update/v4", - "request_budget": "10003", - "tracer": "syslog2scribe.haproxy-synapse" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "241cea1aa4cb2884", - "id": "0facde7c9130fd93", - "kind": "CLIENT", - "name": "get_multi my_cache_name_v1", - "timestamp": 1571896375272125, - "duration": 233, - "localEndpoint": { - "serviceName": "yelp-main", - "port": 31523 - }, - "remoteEndpoint": { - "serviceName": "memcache" - }, - "tags": { - "driver": "core_memcache", - "hits": "1", - "method": "get_multi", - "requests": "1" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "241cea1aa4cb2884", - "id": "50b57281525a99d8", - "kind": "CLIENT", - "name": "commit", - "timestamp": 1571896375272604, - "duration": 374, - "localEndpoint": { - "serviceName": "yelp-main", - "port": 31523 - }, - "remoteEndpoint": { - "serviceName": "mysql" - }, - "tags": { - "query": "COMMIT" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "241cea1aa4cb2884", - "id": "2b68987704862c4f", - "kind": "CLIENT", - "name": "get user_details_cache-20150901", - "timestamp": 1571896375270438, - "duration": 1068, - "localEndpoint": { - "serviceName": "yelp-main", - "port": 31523 - }, - "remoteEndpoint": { - "serviceName": "memcache" - }, - "tags": { - "driver": "core_memcache", - "hits": "1", - "method": "get", - "requests": "1" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "668ed78ad94b35a1", - "id": "241cea1aa4cb2884", - "name": "txn: user_get_basic_and_scout_info", - "timestamp": 1571896375269210, - "duration": 3884, - "localEndpoint": { - "serviceName": "yelp-main", - "port": 31523 - }, - "tags": { - "calling_method": "src/logic/db/user.py:1234:get_user" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "241cea1aa4cb2884", - "id": "b593cd7513dc736e", - "kind": "CLIENT", - "name": "begin", - "timestamp": 1571896375269732, - "duration": 445, - "localEndpoint": { - "serviceName": "yelp-main", - "port": 31523 - }, - "remoteEndpoint": { - "serviceName": "mysql" - }, - "tags": { - "query": "************" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "668ed78ad94b35a1", - "id": "e7d1a2d5a788ac81", - "kind": "CLIENT", - "name": "get my_cache_name_v2", - "timestamp": 1571896375268015, - "duration": 993, - "localEndpoint": { - "serviceName": "yelp-main", - "port": 31523 - }, - "remoteEndpoint": { - "serviceName": "memcache" - }, - "tags": { - "driver": "core_memcache", - "hits": "1", - "method": "get", - "requests": "1" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "2e8cfb154b59a41f", - "id": "668ed78ad94b35a1", - "kind": "SERVER", - "name": "post api proxy proxy", - "timestamp": 1571896375264995, - "duration": 88935, - "localEndpoint": { - "serviceName": "yelp_main/api_proxy", - "port": 31523 - }, - "annotations": [ - { - "timestamp": 1571896375355436, - "value": "py_zipkin.logging_end" - } - ], - "tags": { - "cprofile_enabled": "False", - "datacenter": "us-west-1", - "ecosystem": "prod", - "habitat": "uswest1aprod", - "host": "", - "http.route": "/*path", - "http.uri": "/location/update/v4", - "http.uri.qs": "/location/update/v4", - "locale": "en_US", - "logged_in": "False", - "natural": "False", - "owner_email": "", - "paasta": "True", - "region": "uswest1-prod", - "request_budget": "10003", - "request_budget_soft": "5003", - "response_status_code": "200", - "servlet": "proxy", - "servlet_action": "proxy", - "site": "api", - "version_SHA": "5e83958d2c" - }, - "shared": true - }, - { - "traceId": "a03ee8fff1dcd9b9", - "parentId": "2e8cfb154b59a41f", - "id": "668ed78ad94b35a1", - "kind": "CLIENT", - "name": "post", - "timestamp": 1571896375239000, - "duration": 125000, - "localEndpoint": { - "serviceName": "unknown" - }, - "remoteEndpoint": { - "serviceName": "yelp-main.mobile_api", - "port": 31523 - }, - "tags": { - "client_status_code": "200", - "http.uri.client": "/location/update/v4", - "request_budget": "10003", - "tracer": "syslog2scribe.envoy" - } - }, - { - "traceId": "a03ee8fff1dcd9b9", - "id": "2e8cfb154b59a41f", - "kind": "SERVER", - "name": "post /location/update/v4", - "timestamp": 1571896375237354, - "duration": 131848, - "localEndpoint": { - "serviceName": "routing" - }, - "tags": { - "ecosystem": "prod", - "habitat": "uswest1aprod", - "http.uri.client": "/location/update/v4", - "region": "uswest1-prod", - "response_status_code": "200" - }, - "shared": true - } - ] diff --git a/.vib/zipkin/vib-action.config b/.vib/zipkin/vib-action.config deleted file mode 100644 index 98dc98a97ebe2a..00000000000000 --- a/.vib/zipkin/vib-action.config +++ /dev/null @@ -1 +0,0 @@ -verification-mode=SERIAL \ No newline at end of file diff --git a/.vib/zipkin/vib-publish.json b/.vib/zipkin/vib-publish.json deleted file mode 100644 index 3c84c7ccb959f3..00000000000000 --- a/.vib/zipkin/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/zipkin" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/zipkin/vib-verify.json b/.vib/zipkin/vib-verify.json deleted file mode 100644 index b605a91739da41..00000000000000 --- a/.vib/zipkin/vib-verify.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/zipkin" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/zipkin" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "L4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "zipkin/goss/goss.yaml", - "vars_file": "zipkin/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-zipkin" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/zipkin/cypress" - }, - "endpoint": "lb-zipkin-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/.vib/zookeeper/ginkgo/go.mod b/.vib/zookeeper/ginkgo/go.mod deleted file mode 100644 index e4f5b2ddcf7736..00000000000000 --- a/.vib/zookeeper/ginkgo/go.mod +++ /dev/null @@ -1,58 +0,0 @@ -module test-zookeeper-chart - -go 1.23.0 - -toolchain go1.24.1 - -replace github.com/bitnami/charts/.vib/common-tests/ginkgo-utils => ../../common-tests/ginkgo-utils - -require ( - github.com/bitnami/charts/.vib/common-tests/ginkgo-utils v0.0.0-00010101000000-000000000000 - github.com/onsi/ginkgo/v2 v2.23.3 - github.com/onsi/gomega v1.36.2 - k8s.io/api v0.28.0 - k8s.io/apimachinery v0.28.0 - k8s.io/client-go v0.28.0 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.6.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/imdario/mergo v0.3.6 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.30.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/klog/v2 v2.100.1 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) diff --git a/.vib/zookeeper/ginkgo/go.sum b/.vib/zookeeper/ginkgo/go.sum deleted file mode 100644 index da97a6834494f1..00000000000000 --- a/.vib/zookeeper/ginkgo/go.sum +++ /dev/null @@ -1,151 +0,0 @@ -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= -github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= -github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= -golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -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= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.28.0 h1:3j3VPWmN9tTDI68NETBWlDiA9qOiGJ7sdKeufehBYsM= -k8s.io/api v0.28.0/go.mod h1:0l8NZJzB0i/etuWnIXcwfIv+xnDOhL3lLW919AWYDuY= -k8s.io/apimachinery v0.28.0 h1:ScHS2AG16UlYWk63r46oU3D5y54T53cVI5mMJwwqFNA= -k8s.io/apimachinery v0.28.0/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= -k8s.io/client-go v0.28.0 h1:ebcPRDZsCjpj62+cMk1eGNX1QkMdRmQ6lmz5BLoFWeM= -k8s.io/client-go v0.28.0/go.mod h1:0Asy9Xt3U98RypWJmU1ZrRAGKhP6NqDPmptlAzK2kMc= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= -k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/.vib/zookeeper/ginkgo/zookeeper_suite_test.go b/.vib/zookeeper/ginkgo/zookeeper_suite_test.go deleted file mode 100644 index 03a0c42d99c980..00000000000000 --- a/.vib/zookeeper/ginkgo/zookeeper_suite_test.go +++ /dev/null @@ -1,80 +0,0 @@ -package zookeeper_test - -import ( - "context" - "flag" - "fmt" - "testing" - "time" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -var ( - kubeconfig string - stsName string - namespace string - timeoutSeconds int - timeout time.Duration -) - -func init() { - flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") - flag.StringVar(&stsName, "name", "", "name of the primary statefulset") - flag.StringVar(&namespace, "namespace", "", "namespace where the application is running") - flag.IntVar(&timeoutSeconds, "timeout", 240, "timeout in seconds") - timeout = time.Duration(timeoutSeconds) * time.Second -} - -func TestZookeeper(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Zookeeper Persistence Test Suite") -} - -func createJob(ctx context.Context, c kubernetes.Interface, name string, port string, image string, args ...string) error { - securityContext := &v1.SecurityContext{ - Privileged: &[]bool{false}[0], - AllowPrivilegeEscalation: &[]bool{false}[0], - RunAsNonRoot: &[]bool{true}[0], - Capabilities: &v1.Capabilities{ - Drop: []v1.Capability{"ALL"}, - }, - SeccompProfile: &v1.SeccompProfile{ - Type: "RuntimeDefault", - }, - } - command := []string{"zkCli.sh", "-server", fmt.Sprintf("%s:%s", stsName, port)} - command = append(command, args[:]...) - job := &batchv1.Job{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - TypeMeta: metav1.TypeMeta{ - Kind: "Job", - }, - Spec: batchv1.JobSpec{ - Template: v1.PodTemplateSpec{ - Spec: v1.PodSpec{ - RestartPolicy: "Never", - Containers: []v1.Container{ - { - Name: "zookeeper", - Image: image, - Command: command, - }, - }, - SecurityContext: securityContext, - }, - }, - }, - } - - _, err := c.BatchV1().Jobs(namespace).Create(ctx, job, metav1.CreateOptions{}) - - return err -} diff --git a/.vib/zookeeper/ginkgo/zookeeper_test.go b/.vib/zookeeper/ginkgo/zookeeper_test.go deleted file mode 100644 index 3e0369868f7137..00000000000000 --- a/.vib/zookeeper/ginkgo/zookeeper_test.go +++ /dev/null @@ -1,106 +0,0 @@ -package zookeeper_test - -import ( - "context" - "fmt" - "time" - - utils "github.com/bitnami/charts/.vib/common-tests/ginkgo-utils" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - appsv1 "k8s.io/api/apps/v1" - batchv1 "k8s.io/api/batch/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" -) - -const ( - PollingInterval = 1 * time.Second -) - -var _ = Describe("Zookeeper", Ordered, func() { - var c *kubernetes.Clientset - var ctx context.Context - var cancel context.CancelFunc - - BeforeEach(func() { - ctx, cancel = context.WithCancel(context.Background()) - - conf := utils.MustBuildClusterConfig(kubeconfig) - c = kubernetes.NewForConfigOrDie(conf) - }) - - When("a key is created and Zookeeper is scaled down to 0 replicas and back up", func() { - It("should have access to the created key", func() { - - getAvailableReplicas := func(ss *appsv1.StatefulSet) int32 { return ss.Status.AvailableReplicas } - getRestartedAtAnnotation := func(pod *v1.Pod) string { return pod.Annotations["kubectl.kubernetes.io/restartedAt"] } - getSucceededJobs := func(j *batchv1.Job) int32 { return j.Status.Succeeded } - getOpts := metav1.GetOptions{} - - By("checking all the replicas are available") - ss, err := c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - Expect(ss.Status.Replicas).NotTo(BeZero()) - origReplicas := *ss.Spec.Replicas - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - svc, err := c.CoreV1().Services(namespace).Get(ctx, stsName, getOpts) - Expect(err).NotTo(HaveOccurred()) - - port, err := utils.SvcGetPortByName(svc, "tcp-client") - Expect(err).NotTo(HaveOccurred()) - - image, err := utils.StsGetContainerImageByName(ss, "zookeeper") - Expect(err).NotTo(HaveOccurred()) - - // Use current time for allowing the test suite to repeat - jobSuffix := time.Now().Format("20060102150405") - - By("creating a job to create a new test key") - createKeyJobName := fmt.Sprintf("%s-createkey-%s", - stsName, jobSuffix) - keyName := fmt.Sprintf("/test%s", jobSuffix) - keyValue := fmt.Sprintf("v%s", jobSuffix) - - err = createJob(ctx, c, createKeyJobName, port, image, "create", keyName, keyValue) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, createKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - - By("rollout restart the statefulset") - _, err = utils.StsRolloutRestart(ctx, c, ss) - Expect(err).NotTo(HaveOccurred()) - - for i := int(origReplicas) - 1; i >= 0; i-- { - Eventually(func() (*v1.Pod, error) { - return c.CoreV1().Pods(namespace).Get(ctx, fmt.Sprintf("%s-%d", stsName, i), getOpts) - }, timeout, PollingInterval).Should(WithTransform(getRestartedAtAnnotation, Not(BeEmpty()))) - } - - Eventually(func() (*appsv1.StatefulSet, error) { - return c.AppsV1().StatefulSets(namespace).Get(ctx, stsName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getAvailableReplicas, Equal(origReplicas))) - - By("creating a job to drop the test key") - deleteKeyJobName := fmt.Sprintf("%s-deletekey-%s", - stsName, jobSuffix) - err = createJob(ctx, c, deleteKeyJobName, port, image, "delete", keyName) - Expect(err).NotTo(HaveOccurred()) - - Eventually(func() (*batchv1.Job, error) { - return c.BatchV1().Jobs(namespace).Get(ctx, deleteKeyJobName, getOpts) - }, timeout, PollingInterval).Should(WithTransform(getSucceededJobs, Equal(int32(1)))) - }) - }) - - AfterEach(func() { - cancel() - }) -}) diff --git a/.vib/zookeeper/goss/goss.yaml b/.vib/zookeeper/goss/goss.yaml deleted file mode 100644 index eead6d88575810..00000000000000 --- a/.vib/zookeeper/goss/goss.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -file: - /bitnami/zookeeper/data: - exists: true - filetype: directory - /opt/bitnami/zookeeper/conf/zoo.cfg: - exists: true - filetype: file - mode: "0644" - contents: - - "{{ .Vars.containerPorts.client }}" - - "preAllocSize={{ .Vars.preAllocSize }}" -command: - zookeeper-create-znode: - exec: zkCli.sh -server zookeeper-0:{{ .Vars.containerPorts.client }} create /my_key_{{randAlpha 5}} my_data - exit-status: 0 diff --git a/.vib/zookeeper/runtime-parameters.yaml b/.vib/zookeeper/runtime-parameters.yaml deleted file mode 100644 index 19ff999cf2fa87..00000000000000 --- a/.vib/zookeeper/runtime-parameters.yaml +++ /dev/null @@ -1,12 +0,0 @@ -service: - ports: - client: 80 - type: LoadBalancer -preAllocSize: 65536 -containerPorts: - client: 2181 -resources: - requests: - memory: 512Mi - limits: - memory: 1024Mi diff --git a/.vib/zookeeper/vib-publish.json b/.vib/zookeeper/vib-publish.json deleted file mode 100644 index c642ccaee8d4cc..00000000000000 --- a/.vib/zookeeper/vib-publish.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/zookeeper" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "publish": { - "actions": [ - { - "action_id": "helm-publish", - "params": { - "repository": { - "kind": "S3", - "url": "{VIB_ENV_S3_URL}", - "authn": { - "access_key_id": "{VIB_ENV_S3_ACCESS_KEY_ID}", - "secret_access_key": "{VIB_ENV_S3_SECRET_ACCESS_KEY}", - "role": "{VIB_ENV_S3_ROLE_ARN}" - } - } - } - } - ] - } - } -} diff --git a/.vib/zookeeper/vib-verify.json b/.vib/zookeeper/vib-verify.json deleted file mode 100644 index 674c400d619345..00000000000000 --- a/.vib/zookeeper/vib-verify.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "phases": { - "package": { - "context": { - "credentials": [ - { - "url": "{VIB_ENV_CHARTS_REGISTRY}", - "authn": { - "username": "{VIB_ENV_CHARTS_REGISTRY_USERNAME}", - "password": "{VIB_ENV_CHARTS_REGISTRY_PASSWORD}" - } - } - ], - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/zookeeper" - } - }, - "actions": [ - { - "action_id": "helm-package" - }, - { - "action_id": "helm-lint" - } - ] - }, - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/zookeeper" - }, - "target_platform": { - "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", - "size": { - "name": "S4" - } - } - }, - "actions": [ - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "zookeeper/goss/goss.yaml", - "vars_file": "zookeeper/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "sts-zookeeper" - } - } - } - }, - { - "action_id": "kubescape", - "params": { - "threshold": {VIB_ENV_KUBESCAPE_SCORE_THRESHOLD} - } - } - ] - } - } -} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index edd5abca7cc78f..71f19a58afac05 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,15 +10,14 @@ Any type of contribution is welcome; from new features, bug fixes, [tests](#test 2. Submit a pull request. >[!NOTE] -> To make the Pull Requests' (PRs) testing and merging process easier, please submit changes to multiple charts in separate PRs. +> To make the Pull Requests' (PRs) merging process easier, please submit changes to multiple charts in separate PRs. ### Technical Requirements When submitting a PR make sure that it: -- Must pass CI jobs for linting and test the changes on top of different k8s platforms. (Automatically done by the Bitnami CI/CD pipeline). - Must follow [Helm best practices](https://helm.sh/docs/chart_best_practices/). -- Any change to a chart requires a version bump following [semver](https://semver.org/) principles. This is the version that is going to be merged in the GitHub repository, then our CI/CD system is going to publish in the Helm registry a new patch version including your changes and the latest images and dependencies. +- Any change to a chart requires a version bump following [semver](https://semver.org/) principles. - Any change to a Helm template (especially new templates) must include a license header like the following: ```yaml @@ -61,44 +60,3 @@ Notice the `Author` and `Signed-off-by` lines match. If they don't your PR will - A chart's `NOTES.txt` must include relevant post-installation information. - The title of the PR starts with chart name (e.g. `[bitnami/chart]`) -### PR Approval and Release Process - -1. Changes are manually reviewed by Bitnami team members. -2. Once the changes are accepted, the PR is verified with a [Static analysis](https://github.com/bitnami/charts/blob/main/TESTING.md#Static-analysis) that includes the lint and the vulnerability checks. If that passes, the Bitnami team will review the changes and trigger the verification and functional tests. -3. When the PR passes all tests, the PR is merged by the reviewer(s) in the GitHub `main` branch. -4. Then our CI/CD system is going to push the chart to the Helm registry including the recently merged changes and also the latest images and dependencies used by the chart. The changes in the images will be also committed by the CI/CD to the GitHub repository, bumping the chart version again. - -> [!NOTE] -> Please note that, in terms of time, there may be a slight difference between the appearance of the code in GitHub and the chart in the registry. - -### Testing - -1. Read the [Test Strategy](https://github.com/bitnami/charts/blob/main/TESTING.md) guide. -2. Determine the types of tests you will need based on the chart you are testing and the information in the test strategy. -3. Before you create a pull request, make sure you achieved the [Test Acceptance Criteria](https://github.com/bitnami/charts/blob/main/TESTING.md#Test-acceptance-criteria). -4. If you were able to achieve them, congrats! Create a PR and wait for the approval. You should then be able to see the result of the test execution for multiple cloud platforms (AKS, TKG, GKE) after the approval. - -### Adding a new chart to the repository - -There are five major technical requirements to add a new Helm chart to our catalog: - -- The chart should use Bitnami-based container images. If they don't exist, you can [open a GitHub issue](https://github.com/bitnami/charts/issues/new/choose) and we will work together to create them. -- Follow the same structure/patterns that the rest of the Bitnami charts (you can find a basic scaffolding in the [`template` directory](https://github.com/bitnami/charts/tree/main/template)) and the [Best Practices for Creating Production-Ready Helm charts](https://docs.vmware.com/en/VMware-Tanzu-Application-Catalog/services/tutorials/GUID-production-ready-charts-index.html) guide. -- Use an [OSI approved license](https://opensource.org/licenses) for all the software. -- Every new Helm template must include a license header like the following: - -```yaml -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} -``` - -- The exception to the license header rule above is `Chart.yaml` and `values.yaml` files, which use the following format instead: - -```yaml -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 -``` - -Please, note we will need to check internally and evaluate the feasibility of adding the new solution to the catalog. Due to limited resources, this step could take some time. diff --git a/README.md b/README.md index 9d7b48c9cce654..3aa837c5d23234 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ -

# The Bitnami Library for Kubernetes diff --git a/TESTING.md b/TESTING.md deleted file mode 100644 index 100d6a5fd88058..00000000000000 --- a/TESTING.md +++ /dev/null @@ -1,527 +0,0 @@ -# Testing information - -At Bitnami, we are committed to ensure the quality of the assets we deliver, and as such, tests play a fundamental role in the `bitnami/charts` repository. Bear in mind that every contribution to our charts is ultimately published to our Helm index, where it is made available for the rest of the community to benefit from. Before this happens, different checks are required to succeed. More precisely, tests are run when a new contribution (regardless of its author) is made through a GitHub Pull Request. - -This strategy ensures that a set of changes must have succeeded before a new version is sent out to the public. - -In this section, we will discuss: - -* [Where to find the tests](#where-to-find-the-tests) -* [VMware Image Builder (VIB)](#vmware-image-builder-vib) -* [VIB pipeline files](#vib-pipeline-files) - * [vib-verify.json vs vib-publish.json](#vib-verifyjson-vs-vib-publishjson) -* [Testing strategy](#testing-strategy) - * [Defining the scope](#defining-the-scope) - * [The strategy](#the-strategy) - * [Runtime parameters](#runtime-parameters) -* [Test types and tools](#test-types-and-tools) -* [Generic acceptance criteria](#generic-acceptance-criteria) -* [Cypress](#cypress) - * [Run Cypress locally](#run-cypress-locally) - * [Useful Cypress information](#useful-cypress-information) - * [Specific Cypress acceptance criteria](#specific-cypress-acceptance-criteria) -* [Ginkgo](#ginkgo) - * [Run Ginkgo locally](#run-ginkgo-locally) - * [Useful Ginkgo information](#useful-ginkgo-information) - * [Specific Ginkgo acceptance criteria](#specific-ginkgo-acceptance-criteria) -* [GOSS](#goss) - * [Run GOSS locally](#run-goss-locally) - * [Useful GOSS information](#useful-goss-information) - * [Specific GOSS acceptance criteria](#specific-goss-acceptance-criteria) - -## Where to find the tests - -All the assets have an associated folder inside [/.vib](https://github.com/bitnami/charts/tree/main/.vib) with their tests implementations (the subfolders `cypress`, `goss` and/or `ginkgo`) and files containing their test plans (`vib-verify.json` and `vib-publish.json`). More on the latter in [VIB pipeline files](#vib-pipeline-files). - -## VMware Image Builder (VIB) - -The service that powers the verification of the thousands of monthly tests performed in the repository is VMware Image Builder. VMware Image Builder (VIB) is a platform-agnostic, API-first modular service that allows large enterprises and independent software vendors to automate the packaging, **verification**, and publishing processes of software artifacts on any platform and cloud. - -For more information about VIB, you can refer to [its official page](https://tanzu.vmware.com/image-builder). - -## VIB pipeline files - -The CI/CD pipelines in the repository are configured to trigger VIB when an asset needs to be verified. But as every application is different, VIB needs to be supplied with a definition of the set of actions and configurations that precisely describe the verification process to perform in each case. This is the role of the aforementioned `vib-verify.json` and `vib-publish.json` files, which every asset defines and can be found alongside its tests inside the `/.vib` folder. - -Let's take a look at an example and try to understand it! - -```json -{ - "phases": { - ... - "verify": { - "context": { - "resources": { - "url": "{SHA_ARCHIVE}", - "path": "/bitnami/jenkins" - }, - ... - }, - "actions": [ - { - "action_id": "health-check", - "params": { - "endpoint": "lb-jenkins-http", - "app_protocol": "HTTP" - } - }, - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "jenkins/goss/goss.yaml", - "vars_file": "jenkins/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-jenkins" - } - } - } - }, - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/jenkins/cypress" - }, - "endpoint": "lb-jenkins-http", - "app_protocol": "HTTP", - "env": { - "username": "user", - "password": "ComplicatedPassword123!4" - } - } - } - ] - } - } -} -``` - -This guide will focus in the `verify` phase section, in which there are some things to remark: - -* There is a list of the actions to execute as part of the testing plan. Namely, this example includes a `health-check`, an instance of `goss` tests and another instance of `cypress` tests. - -* For each of the `actions`, VIB will deploy **a brand new release** of the chart provided by `verify.context.resources.path`. Consequently, the state between actions is not shared. - -* The installation of the chart can be customized via runtime parameters, which are provided using the `runtimes-parameters.yaml` file. See the [Runtime parameters](#runtime-parameters) section for further information. - -* The runtime parameters are shared across all `actions`, which guarantees that each release of the chart is based on the exact same configuration. - -### vib-verify.json vs vib-publish.json - -There are different events that will trigger the execution of the workflows and automation in this repository. These two files are associated with two events respectively (`vib-verify.json` to the creation of a PR, meanwhile `vib-publish.json` to the merging of changes to `main`), and define what VIB should do when they are triggered. - -Hence, tweaking the files allows to define of different action policies depending on the event that was fired. It was decided that the verification process (i.e. the tests) should only take place when a new PR is created, and hence that is the reason for the `verify` section to appear in `vib-verify.json`. - -## Testing strategy - -### Defining the scope - -The general aim of the tests should be to verify the Chart package works as expected. As such, the focus IS NOT on the application OR the container images, which should be regarded as trustful components (i.e. they should have been respectively tested at a previous stage), but in the Chart itself and the different features it provides. It is expected though to assert the CORE functionality (or functionalities) of the application works, but checks defined in this repository should never aim to replace the official test suite. - -Some examples of the suitability of tests for the `bitnami/wordpress` chart: - -* ✅ Creating a blog post (represents the CORE functionality of the asset) -* ❌ Creating a comment in a post (far too specific, not useful) -* ❌ Installing a plugin through the admin panel (far too specific, not useful) -* ✅ Specifying a different UID using the `containerSecurityContext.runAsUser` in `values.yaml` and checking it (checks a feature intrinsic to the Chart) - -The tests may be regarded as _deployment_ tests since their goal is to verify that the software is correctly deployed with all the inherent features. Both functional and non-functional characteristics are evaluated in these tests, focusing on the installation aspect. - -### The strategy - -Before writing any test scenario, understand the primary purpose of the chart and its components. Take a look at [the documentation about the chart under test](https://github.com/bitnami/charts/tree/main/bitnami), explore the different templates and configurations in `values.yaml` and glance over the [docker image documentation](https://github.com/bitnami/containers). This will give you a solid base for creating valuable test scenarios. - -As Charts are usually composed of several different components, it is also essential to test their integrations and the Chart as a whole. As a general guideline, testing a `bitnami/chart` can be reduced to: - -1. Identifying the components of the Chart and verifying their integration. _e.g. WordPress + MariaDB + PHP + Data Volume_ -2. Summarizing the main area features the asset offers and asserting the Chart delivers them. _e.g. Creating a post in a blog_ -3. Focusing on the unique features the Chart offers. _e.g. ConfigMaps, PVCs, Services, secrets, etc._ - -It is easily noticeable though that Charts are usually highly configurable artifacts. Through parameters exposed in `values.yaml`, it is fairly common to perform customizations that range from enabling simple features (e.g. exporting metrics to Prometheus) to complete changes in the architecture of the application that will be deployed (e.g. standalone vs. main-secondary replication in DBs). To cope with this high variability, we should: - -* Stick to the KISS (Keep It Short and Simple) principle: only test/consider the features that are enabled by default. -* When params allow to customize the deployment architecture, give preference to: (1) the more representative blueprint and (2) the one that provides more code-covering. -* Change the values for parameters of features enabled by default. This allows to ensure they are correctly picked up by the Chart. - -#### Runtime parameters - -Helm allows to customize how a Chart is deployed [during its installation](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). The subset of parameters from `values.yaml` (and their values) that are passed in during a Helm Chart installation are referred to as runtime/installation/deployment parameters in this guide. They are of **uttermost** importance as they have a great impact on the instance under test. - -When designing a new test suite for an asset, the runtime parameters used for its installation should be inferred. This is not a straightforward task, as only the relevant parameters should be included. In order to determine which parameters from `values.yaml` should form part of the runtime parameters, use the following idea: - -> Does the parameter have a direct influence over any of the tests? - -This guarantees that the information in `runtime-parameters.yaml` is kept to the essential and prevents lengthy, unrelated params. Let's use a real example for a better understanding: - -```console -$ cat .vib/moodle/runtime-parameters.yaml -moodleUsername: test_user -moodlePassword: ComplicatedPassword123!4 -service: - type: LoadBalancer - ports: - http: 80 - https: 444 -mariadb: - auth: - database: test_moodle_database - username: test_moodle_user -podSecurityContext: - enabled: true - fsGroup: 1002 -containerSecurityContext: - enabled: true - runAsUser: 1002 -containerPorts: - http: 8081 - https: 8444 -``` - -> [!NOTE] -> We used to inject the parameters directly into the VIB pipelines under `phases.verify.context.runtime_parameters` and encoded them as a base64 string. This approach was deprecated in favor of using a separate `.yaml` file under `.vib/ASSET/runtime-parameters.yaml`. - -1. Why was `moodleUsername` included? - - The default value for `moodleUsername` is `user` (you can check in [values.yaml](https://github.com/bitnami/charts/blob/main/bitnami/moodle/values.yaml)). Following the strategy, the default value was changed to see if the Chart can correctly pick it up. This is later checked [in one of the tests](https://github.com/bitnami/charts/blob/30f2069e0b8ce5331987d06dc744b6d1bc1f04ec/.vib/moodle/cypress/cypress/support/commands.js#L19). - -2. Why were other properties, like `moodleEmail`, NOT included? - - Although the same reasoning would apply, there are no implicit checks in any of the tests that actively assert the email was changed. - -3. Does that mean that every property in `runtime-parameters.yaml` should have an associated test? - - No, there is no need to have a specific test for each property, but the property **should influence the tests** to include it in the installation parameters. For instance, the property `service.type=LoadBalancer` does not have an associated test, but it is crucial for [Cypress](#cypress) to succeed. - - Put it this way: if the property had another value, the verification process would fail. - -## Test types and tools - -Although VIB pipeline files include static testing for the generated code, it does not need specific test implementations per se. Thus, this guide focuses on dynamic testing, which happens during the verification phase and represents the bulk of test implementation files in this repository. - -Below is a list of the different test types and the associated tools that may be used: - -* Functional tests: [Cypress](#cypress) -* Integration tests: [Goss](#goss) & [Ginkgo](#ginkgo) - -## Generic acceptance criteria - -For your test code PR to be accepted the following criteria must be fulfilled: - -* [ ] Key features of the asset need to be covered -* [ ] Tests need to contain assertions -* [ ] Tests need to be stateless -* [ ] Tests need to be independent -* [ ] Tests need to be retry-able -* [ ] Tests need to be executable in any order -* [ ] Test scope needs to be focused on **installation** of the asset and not testing the asset -* [ ] Test code needs to be peer-reviewed -* [ ] Tests need to be as minimalistic as possible -* [ ] Tests should run properly for future versions without major changes -* [ ] Avoid hardcoded values -* [ ] Include only necessary files -* [ ] Test code needs to be [maintainable](https://testautomationpatterns.org/wiki/index.php/MAINTAINABLE_TESTWARE) -* [ ] Test names should be descriptive -* [ ] Test data should be generated dynamically - -Depending on the tool used, additional acceptance criteria may apply. Please, refer to the corresponding section for further info. - -## Cypress - -[Cypress](https://docs.cypress.io/guides/overview/why-cypress) is the framework used to implement functional tests. Related files should be located under `/.vib/ASSET/cypress`. - -For VIB to execute Cypress tests, the following block of code needs to be defined in the corresponding [VIB pipeline files](#vib-pipeline-files) (`/.vib/ASSET/vib-{verify,publish}.json`). - -> [!TIP] -> Values denoted withing dollar signs (`$$VALUE$$`) should be treated as placeholders - -```json - { - "action_id": "cypress", - "params": { - "resources": { - "path": "/.vib/$$ASSET$$/cypress" - }, - "endpoint": "lb-$$LB_SERVICE_NAME$$-$$LB_SERVICE_PORT_NAME$$", // ex: lb-jenkins-http - "app_protocol": "HTTP", // or HTTPS - "env": { - "$$ENV_1$$": "$$VALUE_1$$", - ... - } - } - } -``` - -> [!NOTE] -> Cypress tests need the UI to be accessible from outside the K8s testing cluster. This means (in most cases) that the service of the chart that exposes such UI should be set to use a `LoadBalancer` type and port `80` or `443`. - -### Run Cypress locally - -Sometimes it is of interest to run the tests locally, for example during development. Though there may be different approaches, you may follow the steps below to execute the tests locally: - -1. Deploy the target Chart in your cluster, using the same installation parameters specified in the `vib-verify.json` pipeline file - - ```bash - helm install nginx bitnami/nginx -f .vib/nginx/runtime-parameters.yaml - ``` - -2. Download and install [Cypress](https://www.cypress.io/). The version currently used is `13.6.3` -3. Obtain the IP and port of the Service exposing the UI of the application and adapt `cypress.config.js` to these values - - ```bash - $ kubectl get svc - NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE - kubernetes ClusterIP 10.99.32.1 443/TCP 3m32s - nginx LoadBalancer 10.99.41.53 1.1.1.1 80:31102/TCP,444:30230/TCP 65s - - $ cd .vib/nginx/cypress - $ cat cypress.config.js - module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://localhost', - }, - } - # Edit the file to point to 1.1.1.1:80 - $ nano cypress.config.js - $ cat cypress.config.js - module.exports = { - e2e: { - setupNodeEvents(on, config) {}, - baseUrl: 'http://1.1.1.1:80', - }, - } - ``` - -> [!NOTE] -> Some assets require a host configured instead of a plain IP address to properly work. In this case, you may find a `hosts` entry in the `cypress.config.js` file instead of the `baseUrl`. Proceed as follows: - - ```console - $ cd .vib/prestashop/cypress - $ cat cypress.config.js - { - ... - hosts: { - 'vmware-prestashop.my': '{{ TARGET_IP }}', - }, - ... - } - # Replace the {{ TARGET_IP }} placeholder by the IP and port of the Service - $ nano cypress.config.js - $ cat cypress.config.js - { - ... - "hosts": { - 'vmware-prestashop.my': '1.1.1.1:80', - }, - ... - } - ``` - -4. Launch Cypress indicating the folder where tests are located - - ```console - $ cypress run . - - ===================================================================================== - - (Run Starting) - - ┌─────────────────────────────────────────────────────────────────────────────────┐ - │ Cypress: 13.6.3 │ - │ Browser: Electron 114 (headless) │ - │ Node Version: v16.20.2 (/usr/local/bin/node) │ - │ Specs: 1 found (nginx_spec.js) │ - │ Searched: cypress/e2e/**/*.cy.{js,jsx,ts,tsx} │ - └─────────────────────────────────────────────────────────────────────────────────┘ - ... - ✔ All specs passed! 371ms 1 1 - ``` - -### Useful Cypress - -* In most cases, a single test which covers the following topics is enough: - * Login/Logout: Checks the UI, app, and DB are working together - * Basic functionality test - -* Avoid multiple tests for the same block of functionality. - -* If the asset exposes an API, Cypress is an excellent option to test this feature! - -### Specific Cypress acceptance criteria - -* [ ] Test file name has the following format: Helm chart name + spec (ex: `wordpress_spec.js`) -* [ ] No `describe()` blocks should be present -* [ ] Aim to have an assertion after every command to avoid flakiness, taking advantage of Cypress retry-ability -* [ ] Test description is a sentence with the following format: Expected result summary, starting with a verb, in third person, no dots at the end of the sentence (ex: `it('checks if admin can edit a site', ()`) -* [ ] Respect the [folder structure recommended by Cypress](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Folder-structure): - * [fixtures](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Fixture-Files) - for test data - * [e2e](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Spec-files) - test scenario - * [plugins](https://docs.cypress.io/guides/tooling/plugins-guide) - plugin configuration, if applicable - * [support](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Spec-files) - reusable behaviours and overrides to include before test files - * [cypress.config.js](https://docs.cypress.io/guides/references/configuration#Configuration-File) - configuration values you wish to store -* [ ] DOM selectors should be resilient. See best practices [here](https://docs.cypress.io/guides/references/best-practices#Selecting-Elements) -* [ ] Unnecessary waiting should be avoided -* [ ] Apply the following code style: - * Use 2 spaces for indentation - * Semicolons should be used - * Lines over 80 columns long should preferably be devided into sensible chunks - * Prefer single-quotes over double ones for strings - * Use template literals (\`The value is: ${var}\`) for string interpolation - -## Ginkgo - -[Ginkgo](https://onsi.github.io/ginkgo/#top) is one of the frameworks used to implement integration tests. Related files should be located under `/.vib/ASSET/ginkgo`. It is the reference tool to use when tests require interaction with the K8s cluster. - -For VIB to execute Ginkgo tests, the following block of code needs to be defined in the corresponding [VIB pipeline files](#vib-pipeline-files) (`/.vib/ASSET/vib-{verify,publish}.json`). - -> [!TIP] -> Values denoted withing dollar signs (`$$VALUE$$`) should be treated as placeholders - -```json - { - "action_id": "ginkgo", - "params": { - "resources": { - "path": "/.vib/$$ASSET$$/ginkgo" - }, - "params": { - "kubeconfig": "{{kubeconfig}}", - "namespace": "{{namespace}}", - "$$PARAM_3$$": "$$VALUE_3$$", - ... - } - } - } -``` - -### Run Ginkgo locally - -Sometimes it is of interest to run the tests locally, for example during development. Though there may be different approaches, you may follow the steps below to execute the tests locally: - -1. Deploy the target Chart in your cluster, using the same installation parameters specified in the `vib-verify.json` pipeline file - - ```console - helm install metallb bitnami/metallb -f .vib/metallb/runtime-parameters.yaml - ``` - -2. Download and [install Ginkgo](https://onsi.github.io/ginkgo/#installing-ginkgo) in your system -3. Execute the tests. Provide the necessary parameters (usually, the path to the kubeconfig file and namespace name, but check `vib-verify.json`). - - ```console - $ cd .vib/metallb/ginkgo - $ ginkgo -- --kubeconfig=./kube.config --namespace=default - Running Suite: MetalLB Integration Tests - /.vib/metallb/ginkgo - =============================================================== - Random Seed: 1674578785 - Will run 1 of 1 specs - - Ran 1 of 1 Specs in 1.341 seconds - SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped - PASS - - Ginkgo ran 1 suite in 6.895174927s - Test Suite Passed - ``` - -### Useful Ginkgo information - -Ginkgo provides extreme flexibility when it comes to tests. Nonetheless, here are the most frequent use cases we have used it for so far: - -* Checking logs produced by a scratch or a k8s-native pod -* Deploying, managing, and interacting with K8s resources: CRDs, Ingresses, Secrets... Really useful for **K8s operators** -* Directly interacting (instead of managing) resources deployed at installation time using the `extraDeploy` param, available in bitnami charts - -### Specific Ginkgo acceptance criteria - -* [ ] Test file name has the following format: Helm chart name + `test` (ex: `metallb_test.go`) -* [ ] Helper functions should be placed in an additional file named `integration_suite_test.go` -* [ ] Created cluster resources must be cleaned up after execution - -## GOSS - -[GOSS](https://github.com/aelsabbahy/goss/blob/master/docs/manual.md) is one of the frameworks used to implement integration tests. Related files should be located under `/.vib/ASSET/goss`. It is the reference tool to use when tests require interaction with a specific pod. Unlike Cypress or Ginkgo, GOSS tests are executed from within the pod. - -For VIB to execute GOSS tests, the following block of code needs to be defined in the corresponding [VIB pipeline files](#vib-pipeline-files) (`/.vib/ASSET/vib-{verify,publish}.json`). - -> [!TIP] -> Values denoted withing dollar signs (`$$VALUE$$`) should be treated as placeholders - -```json - { - "action_id": "goss", - "params": { - "resources": { - "path": "/.vib" - }, - "tests_file": "$$ASSET$$/goss/goss.yaml", - "vars_file": "$$ASSET$$/runtime-parameters.yaml", - "remote": { - "pod": { - "workload": "deploy-$$DEPLOYMENT_NAME$$" // Use "ds-" or "sts-" for DaemonSet and StatefulSet controllers. - } - } - } - } -``` - -> [!NOTE] -> Goss will use the `runtime-parameters.yaml` file containing the chart's deployment parameters as its vars file. - -### Run GOSS locally - -Sometimes it is of interest to run the tests locally, for example during development. Though there may be different approaches, you may follow the steps below to execute the tests locally: - -1. Deploy the target Chart in your cluster, using the same installation parameters specified in the `vib-verify.json` pipeline file - - ```bash - helm install nginx bitnami/nginx -f .vib/nginx/runtime-parameters.yaml - ``` - -2. Download the [GOSS binary for Linux AMD64](https://github.com/goss-org/goss/releases/) -3. Copy the binary and test files to the target pod where it should be executed - - ```console - $ kubectl get pods - NAME READY STATUS RESTARTS AGE - nginx-5fbc8786f-95rpl 1/1 Running 0 17m - - $ kubectl cp ./goss-linux-amd64 nginx-5fbc8786f-95rpl:/tmp/ - $ kubectl cp .vib/nginx/goss/goss.yaml nginx-5fbc8786f-95rpl:/tmp/ - $ kubectl cp .vib/nginx/runtime-parameters.yaml nginx-5fbc8786f-95rpl:/tmp/ - ``` - -4. Grant execution permissions to the binary and launch the tests - - ```console - $ kubectl exec -it nginx-5fbc8786f-95rpl -- chmod +x /tmp/goss-linux-amd64 - $ kubectl exec -it nginx-5fbc8786f-95rpl -- /tmp/goss-linux-amd64 --gossfile /tmp/goss.yaml --vars /tmp/runtime-parameters.yaml validate - ......... - - Total Duration: 0.011s - Count: 8, Failed: 0, Skipped: 0 - ``` - -### Useful GOSS information - -As our Charts implement some standardized properties, there are some test cases that have been found recurrently throughout the catalog: - -* Correct user ID and Group of the running container -* Reachability of the different ports exposed through services -* Existence of mounted volumes -* Correct configuration was applied to a config file or environment variable -* Existence of a created Service Account -* Restricted capabilities are applied to a running container -* Valuable CLI checks (when available) - -[Kong](https://github.com/bitnami/charts/blob/main/.vib/kong/goss/goss.yaml) or [MetalLB](https://github.com/bitnami/charts/blob/main/.vib/metallb/goss/goss.yaml) are two good examples of tests implementing some of the above. - -### Specific GOSS acceptance criteria - -* [ ] Main test file name should be `goss.yaml` -* [ ] Tests should not rely on system packages (e.g. `curl`). Favor built-in GOSS primitives instead -* [ ] Prefer checking the exit status of a command rather than looking for a specific output. This will avoid most of the potential flakiness -* [ ] Use templating to parametrize tests with the help of the `runtime-parameters.yaml` file. This `.yaml` can only contain the chart's defined parameters and Goss tests should conform to its structure, not the other way around.