From 5b6317852991697a23a33fa6828cd86a0b597cad Mon Sep 17 00:00:00 2001 From: RENOVATE_BOT <group_3988_bot_6690300925770a391b8033731fdaab32@noreply.repo1.dso.mil> Date: Fri, 6 Dec 2024 21:49:48 +0000 Subject: [PATCH] Update Ironbank --- CHANGELOG.md | 20 ++ README.md | 39 +-- chart/.gitlab-ci.yml | 308 ++---------------- .../.gitlab/ci/environments/eks.gitlab-ci.yml | 85 +++++ .../ci/environments/eks130.gitlab-ci.yml | 84 +++++ .../ci/environments/gke129.gitlab-ci.yml | 87 +++++ .../ci/environments/gke130-arm.gitlab-ci.yml | 98 ++++++ .../ci/environments/gke130.gitlab-ci.yml | 85 +++++ chart/.gitlab/ci/review-apps.gitlab-ci.yml | 14 +- chart/.helmignore | 4 - chart/CHANGELOG.md | 41 +++ chart/CONTRIBUTING.md | 8 +- chart/Chart.yaml | 32 +- chart/Kptfile | 4 +- chart/LICENSE.md | 2 +- chart/charts/cert-manager-v1.12.13.tgz | Bin 69365 -> 0 bytes chart/charts/cert-manager-v1.12.14.tgz | Bin 0 -> 69366 bytes chart/charts/gitlab-runner-0.70.0.tgz | Bin 28446 -> 0 bytes chart/charts/gitlab-runner-0.71.0.tgz | Bin 0 -> 28734 bytes chart/charts/gitlab-zoekt-1.4.1.tgz | Bin 8393 -> 0 bytes chart/charts/gitlab-zoekt-1.4.2.tgz | Bin 0 -> 8394 bytes .../gitlab/charts/geo-logcursor/Chart.yaml | 4 +- chart/charts/gitlab/charts/gitaly/Chart.yaml | 4 +- .../gitlab/charts/gitlab-exporter/Chart.yaml | 2 +- .../gitlab/charts/gitlab-pages/Chart.yaml | 4 +- .../gitlab/charts/gitlab-shell/Chart.yaml | 2 +- .../gitlab-shell/templates/configmap.yml | 3 + .../charts/gitlab-shell/values.schema.json | 14 + .../gitlab/charts/gitlab-shell/values.yaml | 3 + chart/charts/gitlab/charts/kas/Chart.yaml | 4 +- .../charts/gitlab/charts/mailroom/Chart.yaml | 4 +- .../charts/mailroom/templates/deployment.yaml | 3 + .../charts/gitlab/charts/mailroom/values.yaml | 2 + .../gitlab/charts/migrations/Chart.yaml | 4 +- .../charts/gitlab/charts/praefect/Chart.yaml | 4 +- chart/charts/gitlab/charts/sidekiq/Chart.yaml | 4 +- .../charts/gitlab/charts/spamcheck/Chart.yaml | 2 +- chart/charts/gitlab/charts/toolbox/Chart.yaml | 4 +- .../gitlab/charts/webservice/Chart.yaml | 4 +- chart/charts/registry/Chart.yaml | 2 +- chart/charts/registry/templates/_database.tpl | 16 + chart/charts/registry/templates/_helpers.tpl | 11 + .../registry/templates/migrations-job.yaml | 4 +- chart/charts/registry/values.yaml | 7 +- chart/doc/charts/gitlab/gitlab-shell/index.md | 30 +- chart/doc/charts/gitlab/mailroom/index.md | 3 + chart/doc/charts/globals.md | 32 +- chart/doc/charts/registry/index.md | 20 +- chart/doc/development/environment_setup.md | 2 +- chart/doc/development/gitlab-qa/index.md | 5 +- chart/doc/development/troubleshooting.md | 31 +- chart/doc/installation/cloud/index.md | 23 +- .../doc/installation/command-line-options.md | 7 +- chart/doc/installation/database_upgrade.md | 2 +- chart/doc/installation/tools.md | 2 +- chart/doc/installation/upgrade.md | 2 +- chart/doc/installation/version_mappings.md | 276 ++++++++++++++++ chart/doc/releases/8_0.md | 16 +- chart/doc/troubleshooting/index.md | 2 +- chart/requirements.lock | 10 +- chart/requirements.yaml | 6 +- chart/scripts/ci/arm_nodeselectors.yaml | 39 +++ chart/scripts/ci/autodevops.sh | 22 +- chart/spec/configuration/gitlab_shell_spec.rb | 65 ++++ chart/spec/configuration/mailroom_spec.rb | 16 + chart/spec/configuration/registry_spec.rb | 134 ++++++++ chart/spec/features/backups_spec.rb | 2 +- chart/spec/gitlab_test_helper.rb | 36 +- .../integration/check_config/registry_spec.rb | 131 ++++++++ chart/templates/NOTES.txt | 8 +- chart/templates/_checkConfig.tpl | 1 + chart/templates/_checkConfig_registry.tpl | 25 ++ chart/templates/_runcheck.tpl | 4 +- chart/values.yaml | 34 +- docs/DEVELOPMENT_MAINTENANCE.md | 2 +- tests/images.txt | 4 +- 76 files changed, 1543 insertions(+), 471 deletions(-) create mode 100644 chart/.gitlab/ci/environments/eks.gitlab-ci.yml create mode 100644 chart/.gitlab/ci/environments/eks130.gitlab-ci.yml create mode 100644 chart/.gitlab/ci/environments/gke129.gitlab-ci.yml create mode 100644 chart/.gitlab/ci/environments/gke130-arm.gitlab-ci.yml create mode 100644 chart/.gitlab/ci/environments/gke130.gitlab-ci.yml delete mode 100644 chart/charts/cert-manager-v1.12.13.tgz create mode 100644 chart/charts/cert-manager-v1.12.14.tgz delete mode 100644 chart/charts/gitlab-runner-0.70.0.tgz create mode 100644 chart/charts/gitlab-runner-0.71.0.tgz delete mode 100644 chart/charts/gitlab-zoekt-1.4.1.tgz create mode 100644 chart/charts/gitlab-zoekt-1.4.2.tgz create mode 100644 chart/scripts/ci/arm_nodeselectors.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 469484bac..ed19c0c9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [8.6.1-bb.0] (2024-12-06) + +### Changed + +- ironbank/gitlab/gitlab/gitlab-webservice (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/certificates (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitaly (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-base (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-container-registry (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-exporter (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-mailroom (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-pages (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-shell (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-sidekiq (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-toolbox (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-webservice (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-workhorse (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/gitlab/gitlab/kubectl (source) 17.5.2 -> 17.6.1 +- registry1.dso.mil/ironbank/opensource/postgres/postgresql (source) 14.14 -> 14.15 + ## [8.5.2-bb.0] (2024-11-19) ### Changed diff --git a/README.md b/README.md index 55003243f..5d8caca81 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ <!-- Warning: Do not manually edit this file. See notes on gluon + helm-docs at the end of this file for more information. --> # gitlab -   +   GitLab is the most comprehensive AI-powered DevSecOps Platform. ## Upstream References - <https://about.gitlab.com/> -* <https://gitlab.com/gitlab-org/charts/gitlab> +- <https://gitlab.com/gitlab-org/charts/gitlab> ## Upstream Release Notes @@ -48,7 +48,7 @@ helm install gitlab chart/ | global.image | object | `{}` | | | global.pod.labels | object | `{}` | | | global.edition | string | `"ee"` | | -| global.gitlabVersion | string | `"17.5.2"` | | +| global.gitlabVersion | string | `"17.6.1"` | | | global.application.create | bool | `false` | | | global.application.links | list | `[]` | | | global.application.allowClusterRoles | bool | `true` | | @@ -362,7 +362,7 @@ helm install gitlab chart/ | global.workhorse.tls.enabled | bool | `false` | | | global.webservice.workerTimeout | int | `60` | | | global.certificates.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/certificates"` | | -| global.certificates.image.tag | string | `"17.5.2"` | | +| global.certificates.image.tag | string | `"17.6.1"` | | | global.certificates.image.pullSecrets[0].name | string | `"private-registry"` | | | global.certificates.init.securityContext.capabilities.drop[0] | string | `"ALL"` | | | global.certificates.init.securityContext.runAsUser | int | `65534` | | @@ -399,13 +399,13 @@ helm install gitlab chart/ | global.certificates.customCAs[29].secret | string | `"ca-certs-dod-trust-anchors-self-signed"` | | | global.certificates.customCAs[30].secret | string | `"ca-certs-eca"` | | | global.kubectl.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/kubectl"` | | -| global.kubectl.image.tag | string | `"17.5.2"` | | +| global.kubectl.image.tag | string | `"17.6.1"` | | | global.kubectl.image.pullSecrets[0].name | string | `"private-registry"` | | | global.kubectl.securityContext.runAsUser | int | `65534` | | | global.kubectl.securityContext.fsGroup | int | `65534` | | | global.kubectl.securityContext.seccompProfile.type | string | `"RuntimeDefault"` | | | global.gitlabBase.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-base"` | | -| global.gitlabBase.image.tag | string | `"17.5.2"` | | +| global.gitlabBase.image.tag | string | `"17.6.1"` | | | global.gitlabBase.image.pullSecrets[0].name | string | `"private-registry"` | | | global.serviceAccount.enabled | bool | `true` | | | global.serviceAccount.create | bool | `true` | | @@ -682,6 +682,7 @@ helm install gitlab chart/ | prometheus.serverFiles."prometheus.yml".scrape_configs[4].relabel_configs[6].target_label | string | `"kubernetes_name"` | | | redis.global.imagePullSecrets[0] | string | `"private-registry"` | | | redis.install | bool | `true` | | +| redis.image.tag | string | `"6.2.16-debian-12-r1"` | | | redis.auth.existingSecret | string | `"gitlab-redis-secret"` | | | redis.auth.existingSecretKey | string | `"secret"` | | | redis.auth.usePasswordFiles | bool | `true` | | @@ -747,7 +748,7 @@ helm install gitlab chart/ | postgresql.resources.requests.memory | string | `"500Mi"` | | | postgresql.image.registry | string | `"registry1.dso.mil"` | | | postgresql.image.repository | string | `"ironbank/opensource/postgres/postgresql"` | | -| postgresql.image.tag | string | `"14.14"` | | +| postgresql.image.tag | string | `"14.15"` | | | postgresql.image.pullSecrets[0] | string | `"private-registry"` | | | postgresql.auth.username | string | `"gitlab"` | | | postgresql.auth.password | string | `"bogus-satisfy-upgrade"` | | @@ -790,7 +791,7 @@ helm install gitlab chart/ | registry.resources.requests.cpu | string | `"200m"` | | | registry.resources.requests.memory | string | `"1024Mi"` | | | registry.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-container-registry"` | | -| registry.image.tag | string | `"17.5.2"` | | +| registry.image.tag | string | `"17.6.1"` | | | registry.image.pullSecrets[0].name | string | `"private-registry"` | | | registry.ingress.enabled | bool | `false` | | | registry.metrics.enabled | bool | `true` | | @@ -850,7 +851,7 @@ helm install gitlab chart/ | gitlab.toolbox.replicas | int | `1` | | | gitlab.toolbox.antiAffinityLabels.matchLabels.app | string | `"gitaly"` | | | gitlab.toolbox.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-toolbox"` | | -| gitlab.toolbox.image.tag | string | `"17.5.2"` | | +| gitlab.toolbox.image.tag | string | `"17.6.1"` | | | gitlab.toolbox.image.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.toolbox.init.resources.requests.cpu | string | `"200m"` | | | gitlab.toolbox.init.resources.requests.memory | string | `"200Mi"` | | @@ -887,7 +888,7 @@ helm install gitlab chart/ | gitlab.gitlab-exporter.resources.requests.memory | string | `"200Mi"` | | | gitlab.gitlab-exporter.capabilities.drop[0] | string | `"ALL"` | | | gitlab.gitlab-exporter.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-exporter"` | | -| gitlab.gitlab-exporter.image.tag | string | `"17.5.2"` | | +| gitlab.gitlab-exporter.image.tag | string | `"17.6.1"` | | | gitlab.gitlab-exporter.image.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.gitlab-exporter.metrics.enabled | bool | `true` | | | gitlab.gitlab-exporter.metrics.port | int | `9168` | | @@ -909,7 +910,7 @@ helm install gitlab chart/ | gitlab.migrations.resources.requests.cpu | string | `"500m"` | | | gitlab.migrations.resources.requests.memory | string | `"1.5G"` | | | gitlab.migrations.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-toolbox"` | | -| gitlab.migrations.image.tag | string | `"17.5.2"` | | +| gitlab.migrations.image.tag | string | `"17.6.1"` | | | gitlab.migrations.image.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.migrations.securityContext.runAsUser | int | `1000` | | | gitlab.migrations.securityContext.runAsGroup | int | `1000` | | @@ -933,14 +934,14 @@ helm install gitlab chart/ | gitlab.webservice.resources.requests.cpu | string | `"300m"` | | | gitlab.webservice.resources.requests.memory | string | `"2.5G"` | | | gitlab.webservice.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-webservice"` | | -| gitlab.webservice.image.tag | string | `"17.5.2"` | | +| gitlab.webservice.image.tag | string | `"17.6.1"` | | | gitlab.webservice.image.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.webservice.workhorse.resources.limits.cpu | string | `"600m"` | | | gitlab.webservice.workhorse.resources.limits.memory | string | `"2.5G"` | | | gitlab.webservice.workhorse.resources.requests.cpu | string | `"600m"` | | | gitlab.webservice.workhorse.resources.requests.memory | string | `"2.5G"` | | | gitlab.webservice.workhorse.image | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-workhorse"` | | -| gitlab.webservice.workhorse.tag | string | `"17.5.2"` | | +| gitlab.webservice.workhorse.tag | string | `"17.6.1"` | | | gitlab.webservice.workhorse.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.webservice.workhorse.metrics.enabled | bool | `true` | | | gitlab.webservice.workhorse.metrics.serviceMonitor.enabled | bool | `true` | | @@ -951,7 +952,7 @@ helm install gitlab chart/ | gitlab.webservice.metrics.serviceMonitor.enabled | bool | `true` | | | gitlab.webservice.helmTests.enabled | bool | `false` | | | gitlab.sidekiq.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-sidekiq"` | | -| gitlab.sidekiq.image.tag | string | `"17.5.2"` | | +| gitlab.sidekiq.image.tag | string | `"17.6.1"` | | | gitlab.sidekiq.image.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.sidekiq.init.resources.limits.cpu | string | `"200m"` | | | gitlab.sidekiq.init.resources.limits.memory | string | `"200Mi"` | | @@ -969,7 +970,7 @@ helm install gitlab chart/ | gitlab.sidekiq.containerSecurityContext.runAsGroup | int | `1000` | | | gitlab.sidekiq.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | | gitlab.gitaly.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitaly"` | | -| gitlab.gitaly.image.tag | string | `"17.5.2"` | | +| gitlab.gitaly.image.tag | string | `"17.6.1"` | | | gitlab.gitaly.image.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.gitaly.init.resources.limits.cpu | string | `"200m"` | | | gitlab.gitaly.init.resources.limits.memory | string | `"200Mi"` | | @@ -989,7 +990,7 @@ helm install gitlab chart/ | gitlab.gitaly.containerSecurityContext.runAsGroup | int | `1000` | | | gitlab.gitaly.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | | gitlab.gitlab-shell.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-shell"` | | -| gitlab.gitlab-shell.image.tag | string | `"17.5.2"` | | +| gitlab.gitlab-shell.image.tag | string | `"17.6.1"` | | | gitlab.gitlab-shell.image.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.gitlab-shell.init.resources.limits.cpu | string | `"200m"` | | | gitlab.gitlab-shell.init.resources.limits.memory | string | `"200Mi"` | | @@ -1007,15 +1008,15 @@ helm install gitlab chart/ | gitlab.gitlab-shell.containerSecurityContext.runAsGroup | int | `1000` | | | gitlab.gitlab-shell.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | | gitlab.mailroom.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-mailroom"` | | -| gitlab.mailroom.image.tag | string | `"17.5.2"` | | +| gitlab.mailroom.image.tag | string | `"17.6.1"` | | | gitlab.mailroom.image.pullSecrets[0].name | string | `"private-registry"` | | | gitlab.mailroom.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | | gitlab.gitlab-pages.service.customDomains.type | string | `"ClusterIP"` | | | gitlab.gitlab-pages.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-pages"` | | -| gitlab.gitlab-pages.image.tag | string | `"17.5.2"` | | +| gitlab.gitlab-pages.image.tag | string | `"17.6.1"` | | | gitlab.gitlab-pages.containerSecurityContext.capabilities.drop[0] | string | `"ALL"` | | | gitlab.praefect.image.repository | string | `"registry1.dso.mil/ironbank/gitlab/gitlab/gitaly"` | | -| gitlab.praefect.image.tag | string | `"17.5.2"` | | +| gitlab.praefect.image.tag | string | `"17.6.1"` | | | gitlab.praefect.init.resources.limits.cpu | string | `"200m"` | | | gitlab.praefect.init.resources.limits.memory | string | `"200Mi"` | | | gitlab.praefect.init.resources.requests.cpu | string | `"200m"` | | diff --git a/chart/.gitlab-ci.yml b/chart/.gitlab-ci.yml index cd9a2830b..c363492f0 100644 --- a/chart/.gitlab-ci.yml +++ b/chart/.gitlab-ci.yml @@ -37,7 +37,7 @@ variables: # AUTO_DEVOPS_DOMAIN: domain.example.com GIT_CLONE_PATH: $CI_BUILDS_DIR/gitlab HELM_MAX_HISTORY: 20 - TEST_BACKUP_PREFIX: "1708639806_2024_02_22_16.10.0-pre" + TEST_BACKUP_PREFIX: "1730017433_2024_10_27_17.6.0-pre" NAMESPACE: $KUBE_NAMESPACE REVIEW_REF_PREFIX: "" ISSUE_BOT_LABELS_EXTRA: "group::distribution,type::maintenance,maintenance::pipelines" @@ -45,12 +45,13 @@ variables: CANONICAL_PROJECT_PATH: 'gitlab-org/charts/gitlab' SECURITY_PROJECT_PATH: 'gitlab-org/security/charts/gitlab' DEV_PROJECT_PATH: 'gitlab/charts/gitlab' - QA_FULL_SUITE_OPTIONS: '--tag ~smoke --tag ~blocking --tag ~skip_live_env --tag ~orchestrated --tag ~transient' - QA_SANITY_SUITE_OPTIONS: '--tag smoke --tag blocking --tag ~skip_live_env --tag ~orchestrated' + QA_FULL_SUITE_OPTIONS: '--tag ~smoke --tag ~skip_live_env --tag ~orchestrated --tag ~transient' + QA_SANITY_SUITE_OPTIONS: '--tag smoke --tag ~skip_live_env --tag ~orchestrated' + GITLAB_QA_ADMIN_ACCESS_TOKEN: $GITLAB_ADMIN_TOKEN DEBIAN_VERSION: bookworm RUBY_VERSION: "3.1.5" CI_TOOLS_VERSION: "4.22.0" - GITLAB_QA_VERSION: "14.17.0" + GITLAB_QA_VERSION: "14.20.0" # STRICT_VERSIONS is used in RSpecs to ensure exact version match for tools like "helm" and "kubectl" STRICT_VERSIONS: "true" KUBE_CRD_SCHEMA_URL: "https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/v3/apis__apiextensions.k8s.io__v1_openapi.json" @@ -88,6 +89,22 @@ include: - local: '/.gitlab/ci/rules.gitlab-ci.yml' - local: '/.gitlab/ci/review-apps.gitlab-ci.yml' - local: '/.gitlab/ci/operator.gitlab-ci.yml' + - local: '/.gitlab/ci/environments/gke130-arm.gitlab-ci.yml' + rules: + # pipeline-defined variables are not available, so we're hardwiring present value of: + # * $CANONICAL_PROJECT_PATH + # + # CANONICAL_DEFAULT_BRANCH_PIPELINE + - if: '$PIPELINE_TYPE == null && $CI_PROJECT_PATH == "gitlab-org/charts/gitlab" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' + # CANONICAL_MR_PIPELINE + - if: '$PIPELINE_TYPE == null && $CI_PROJECT_PATH == "gitlab-org/charts/gitlab" && $CI_PIPELINE_SOURCE == "merge_request_event"' + # CANONICAL_FEATURE_BRANCH_PIPELINE + # Allow in triggered pipelines + - if: '$CI_PROJECT_PATH == "gitlab-org/charts/gitlab" && $CI_PIPELINE_SOURCE == "pipeline" && $TEST_BRANCH == "true"' + - local: '/.gitlab/ci/environments/gke129.gitlab-ci.yml' + - local: '/.gitlab/ci/environments/gke130.gitlab-ci.yml' + - local: '/.gitlab/ci/environments/eks.gitlab-ci.yml' + - local: '/.gitlab/ci/environments/eks130.gitlab-ci.yml' - template: Jobs/Dependency-Scanning.latest.gitlab-ci.yml - template: Jobs/Secret-Detection.latest.gitlab-ci.yml - template: Jobs/SAST.latest.gitlab-ci.yml @@ -204,10 +221,10 @@ lint_package: - if: '$PIPELINE_TYPE == "NIGHTLY_PIPELINE"' needs: ['lint_package'] -"Validate 1.27.5": +"Validate 1.28.3": extends: .kubeconform variables: - KUBE_VERSION: "1.27.5" + KUBE_VERSION: "1.28.3" HELM_SETTINGS: | global: ingress: @@ -220,23 +237,23 @@ lint_package: cronJob: apiVersion: batch/v1 -"Validate 1.28.3": - extends: .kubeconform - variables: - KUBE_VERSION: "1.28.3" - HELM_SETTINGS: !reference ["Validate 1.27.5", variables, HELM_SETTINGS] - "Validate 1.29.4": extends: .kubeconform variables: KUBE_VERSION: "1.29.4" - HELM_SETTINGS: !reference ["Validate 1.27.5", variables, HELM_SETTINGS] + HELM_SETTINGS: !reference ["Validate 1.28.3", variables, HELM_SETTINGS] "Validate 1.30.1": extends: .kubeconform variables: KUBE_VERSION: "1.30.1" - HELM_SETTINGS: !reference ["Validate 1.27.5", variables, HELM_SETTINGS] + HELM_SETTINGS: !reference ["Validate 1.28.3", variables, HELM_SETTINGS] + +"Validate 1.31.1": + extends: .kubeconform + variables: + KUBE_VERSION: "1.31.1" + HELM_SETTINGS: !reference ["Validate 1.28.3", variables, HELM_SETTINGS] approve_cluster_tests: stage: approve-review-apps @@ -320,24 +337,6 @@ pin_image_versions: - if: '$PIPELINE_TYPE =~ /FEATURE_BRANCH_PIPELINE$/' - if: '$PIPELINE_TYPE == "QA_KNAPSACK_UPDATE_PIPELINE"' -.review_gke127_common_vars: &review_gke127_common_vars - DNS_PROVIDER: "google" - AGENT_NAME: "gke127-ci-cluster" - KUBE_INGRESS_BASE_DOMAIN: "cloud-native-v127.helm-charts.win" - KUBE_NAMESPACE: "helm-charts-win" - -.review_gke129_common_vars: &review_gke129_common_vars - DNS_PROVIDER: "google" - AGENT_NAME: "gke129-ci-cluster" - KUBE_INGRESS_BASE_DOMAIN: "cloud-native-v129.helm-charts.win" - KUBE_NAMESPACE: "helm-charts-win" - -.review_eks_common_vars: &review_eks_common_vars - DNS_PROVIDER: "aws" - AGENT_NAME: "eks129-ci-cluster" - KUBE_INGRESS_BASE_DOMAIN: "sandbox.eks.helm-charts.win" - KUBE_NAMESPACE: "eks-helm-charts-win" - # Jobs using auto_stop_in that exit with a failure will not execute the on_stop # action. We get frequent failures during review_* jobs. Their accompanying # partially deployed environments then hang around forever which may eventually @@ -352,85 +351,6 @@ pin_image_versions: # $REVIEW_APPS_AUTO_STOP_IN expires. The actual deployment is left to the # associated review_* job. -create_review_gke127: - stage: review - image: busybox - variables: - <<: *review_gke127_common_vars - GIT_STRATEGY: none - script: - - echo "Configuring gke127_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." - environment: - name: gke127_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN - on_stop: stop_review_gke127 - auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN - action: start - -review_gke127: - variables: - <<: *review_gke127_common_vars - extends: .review_template - environment: - name: gke127_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN - on_stop: stop_review_gke127 - auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" - action: access - -# See comments in create_review_gke127. -create_review_gke129: - stage: review - image: busybox - variables: - <<: *review_gke129_common_vars - GIT_STRATEGY: none - script: - - echo "Configuring gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." - environment: - name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN - on_stop: stop_review_gke129 - auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN - action: start - -review_gke129: - variables: - <<: *review_gke129_common_vars - extends: .review_template - environment: - name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN - on_stop: stop_review_gke129 - auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" - action: access - -# See comments in create_review_gke127. -create_review_eks: - stage: review - image: busybox - variables: - <<: *review_eks_common_vars - GIT_STRATEGY: none - script: - - echo "Configuring eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." - environment: - name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - on_stop: stop_review_eks - auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN - action: start - -review_eks: - variables: - <<: *review_eks_common_vars - extends: .review_template - environment: - name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN - on_stop: stop_review_eks - auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" - action: access - .stop_review_template: stage: review variables: @@ -449,30 +369,6 @@ review_eks: rules: - !reference [.review_template, rules] -stop_review_gke127: - variables: - <<: *review_gke127_common_vars - extends: .stop_review_template - environment: - name: gke127_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - action: stop - -stop_review_gke129: - variables: - <<: *review_gke129_common_vars - extends: .stop_review_template - environment: - name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - action: stop - -stop_review_eks: - variables: - <<: *review_eks_common_vars - extends: .stop_review_template - environment: - name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - action: stop - rubocop: image: ruby:3.1-alpine stage: prepare @@ -624,54 +520,6 @@ review-docs-cleanup: - if: '$PIPELINE_TYPE =~ /FEATURE_BRANCH_PIPELINE$/' - if: '$PIPELINE_TYPE == "QA_KNAPSACK_UPDATE_PIPELINE"' -review_specs_gke127: - extends: .specs - variables: - <<: *review_gke127_common_vars - VARIABLES_FILE: "variables/review_gke127" - RSPEC_TAGS: type:feature - environment: - name: gke127_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: https://gitlab-$CI_ENVIRONENMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN - on_stop: stop_review_gke127 - action: access - rules: - - !reference [.rule:skip_if_no_cluster] - - !reference [.specs, rules] - needs: ['review_gke127'] - -review_specs_gke129: - extends: .specs - variables: - <<: *review_gke129_common_vars - VARIABLES_FILE: "variables/review_gke129" - RSPEC_TAGS: type:feature - environment: - name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: https://gitlab-$CI_ENVIRONENMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN - on_stop: stop_review_gke129 - action: access - rules: - - !reference [.rule:skip_if_no_cluster] - - !reference [.specs, rules] - needs: ['review_gke129'] - -review_specs_eks: - extends: .specs - variables: - <<: *review_eks_common_vars - VARIABLES_FILE: "variables/review_eks" - RSPEC_TAGS: type:feature - environment: - name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN - on_stop: stop_review_eks - action: access - rules: - - !reference [.rule:skip_if_no_cluster] - - !reference [.specs, rules] - needs: ['review_eks'] - specs_without_cluster: extends: .specs variables: @@ -801,7 +649,7 @@ release_package: .qa_branch: extends: - .qa - parallel: 7 + parallel: 5 rules: - !reference [.rule:skip_if_no_cluster] - if: '$PIPELINE_TYPE =~ /DEFAULT_BRANCH_PIPELINE$/' @@ -810,49 +658,7 @@ release_package: - if: '$PIPELINE_TYPE =~ /FEATURE_BRANCH_PIPELINE$/' - if: '$PIPELINE_TYPE == "QA_KNAPSACK_UPDATE_PIPELINE"' -# QA jobs for Smoke and Blocking E2E suites - -qa_gke127: - extends: .qa_branch - variables: - VARIABLES_FILE: "variables/review_gke127" - TEST_SUITE: $QA_SANITY_SUITE_OPTIONS - environment: - name: gke127_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - on_stop: stop_review_gke127 - action: access - needs: - - review_gke127 - - job: review_specs_gke127 - artifacts: false - -qa_gke129: - extends: .qa_branch - variables: - VARIABLES_FILE: "variables/review_gke129" - TEST_SUITE: $QA_SANITY_SUITE_OPTIONS - environment: - name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - on_stop: stop_review_gke129 - action: access - needs: - - review_gke129 - - job: review_specs_gke129 - artifacts: false - -qa_eks: - extends: .qa_branch - variables: - VARIABLES_FILE: "variables/review_eks" - TEST_SUITE: $QA_SANITY_SUITE_OPTIONS - environment: - name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - on_stop: stop_review_eks - action: access - needs: - - review_eks - - job: review_specs_eks - artifacts: false +# QA jobs for Smoke E2E suites # QA jobs for Full E2E suites @@ -864,54 +670,6 @@ qa_eks: paths: - variables -qa_gke127_full_suite_manual_trigger: - extends: .qa_full_suite_manual_trigger - script: echo 'The job will trigger Full E2E suite against GKE127' - -qa_gke129_full_suite_manual_trigger: - extends: .qa_full_suite_manual_trigger - script: echo 'The job will trigger Full E2E suite against GKE129' - -qa_gke127_manual_full_suite: - extends: .qa_branch - parallel: 7 - variables: - VARIABLES_FILE: "variables/review_gke127" - TEST_SUITE: $QA_FULL_SUITE_OPTIONS - environment: - name: gke127_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - on_stop: stop_review_gke127 - action: access - needs: [ "qa_gke127_full_suite_manual_trigger"] - -qa_gke129_manual_full_suite: - extends: .qa_branch - parallel: 7 - variables: - VARIABLES_FILE: "variables/review_gke129" - TEST_SUITE: $QA_FULL_SUITE_OPTIONS - environment: - name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - on_stop: stop_review_gke129 - action: access - needs: [ "qa_gke129_full_suite_manual_trigger"] - -qa_eks_full_suite_manual_trigger: - extends: .qa_full_suite_manual_trigger - script: echo 'The job will trigger Full E2E suite against EKS' - -qa_eks_manual_full_suite: - extends: .qa_branch - parallel: 7 - variables: - VARIABLES_FILE: "variables/review_eks" - TEST_SUITE: $QA_FULL_SUITE_OPTIONS - environment: - name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - on_stop: stop_review_eks - action: access - needs: [ "qa_eks_full_suite_manual_trigger"] - knapsack-qa-report: image: name: registry.gitlab.com/gitlab-org/gitlab/gitlab-ee-qa:master diff --git a/chart/.gitlab/ci/environments/eks.gitlab-ci.yml b/chart/.gitlab/ci/environments/eks.gitlab-ci.yml new file mode 100644 index 000000000..6964b490b --- /dev/null +++ b/chart/.gitlab/ci/environments/eks.gitlab-ci.yml @@ -0,0 +1,85 @@ +.review_eks_common_vars: &review_eks_common_vars + DNS_PROVIDER: "aws" + AGENT_NAME: "eks129-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "sandbox.eks.helm-charts.win" + KUBE_NAMESPACE: "eks-helm-charts-win" + +create_review_eks: + stage: review + image: busybox + variables: + <<: *review_eks_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: + name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_eks + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_eks: + variables: + <<: *review_eks_common_vars + extends: .review_template + environment: + name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_eks + auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" + action: access + +stop_review_eks: + variables: + <<: *review_eks_common_vars + extends: .stop_review_template + environment: + name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + action: stop + +review_specs_eks: + extends: .specs + variables: + <<: *review_eks_common_vars + VARIABLES_FILE: "variables/review_eks" + RSPEC_TAGS: type:feature + environment: + name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_eks + action: access + rules: + - !reference [.rule:skip_if_no_cluster] + - !reference [.specs, rules] + needs: ['review_eks'] + +qa_eks: + extends: .qa_branch + variables: + VARIABLES_FILE: "variables/review_eks" + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + environment: + name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_eks + action: access + needs: + - review_eks + - job: review_specs_eks + artifacts: false + +qa_eks_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against EKS' + +qa_eks_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + VARIABLES_FILE: "variables/review_eks" + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + environment: + name: eks129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_eks + action: access + needs: [ "qa_eks_full_suite_manual_trigger"] + diff --git a/chart/.gitlab/ci/environments/eks130.gitlab-ci.yml b/chart/.gitlab/ci/environments/eks130.gitlab-ci.yml new file mode 100644 index 000000000..30eccdb9b --- /dev/null +++ b/chart/.gitlab/ci/environments/eks130.gitlab-ci.yml @@ -0,0 +1,84 @@ +.review_eks130_common_vars: &review_eks130_common_vars + DNS_PROVIDER: "aws" + AGENT_NAME: "eks130-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "sandbox.eks.helm-charts.win" + KUBE_NAMESPACE: "eks-helm-charts-win" + +create_review_eks130: + stage: review + image: busybox + variables: + <<: *review_eks130_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring eks130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: + name: eks130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_eks130 + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_eks130: + variables: + <<: *review_eks130_common_vars + extends: .review_template + environment: + name: eks130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_eks130 + auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" + action: access + +stop_review_eks130: + variables: + <<: *review_eks130_common_vars + extends: .stop_review_template + environment: + name: eks130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + action: stop + +review_specs_eks130: + extends: .specs + variables: + <<: *review_eks130_common_vars + VARIABLES_FILE: "variables/review_eks130" + RSPEC_TAGS: type:feature + environment: + name: eks130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_eks130 + action: access + rules: + - !reference [.rule:skip_if_no_cluster] + - !reference [.specs, rules] + needs: ["review_eks130"] + +qa_eks130: + extends: .qa_branch + variables: + VARIABLES_FILE: "variables/review_eks130" + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + environment: + name: eks130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_eks130 + action: access + needs: + - review_eks130 + - job: review_specs_eks130 + artifacts: false + +qa_eks130_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against EKS 130' + +qa_eks130_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + VARIABLES_FILE: "variables/review_eks130" + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + environment: + name: eks130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_eks130 + action: access + needs: ["qa_eks130_full_suite_manual_trigger"] diff --git a/chart/.gitlab/ci/environments/gke129.gitlab-ci.yml b/chart/.gitlab/ci/environments/gke129.gitlab-ci.yml new file mode 100644 index 000000000..39f9fc462 --- /dev/null +++ b/chart/.gitlab/ci/environments/gke129.gitlab-ci.yml @@ -0,0 +1,87 @@ + +.review_gke129_common_vars: &review_gke129_common_vars + DNS_PROVIDER: "google" + AGENT_NAME: "gke129-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "cloud-native-v129.helm-charts.win" + KUBE_NAMESPACE: "helm-charts-win" + +create_review_gke129: + stage: review + image: busybox + variables: + <<: *review_gke129_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: + name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke129 + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_gke129: + variables: + <<: *review_gke129_common_vars + extends: .review_template + environment: + name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke129 + auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" + action: access + +stop_review_gke129: + variables: + <<: *review_gke129_common_vars + extends: .stop_review_template + environment: + name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + action: stop + +review_specs_gke129: + extends: .specs + variables: + <<: *review_gke129_common_vars + VARIABLES_FILE: "variables/review_gke129" + RSPEC_TAGS: type:feature + environment: + name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONENMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke129 + action: access + rules: + - !reference [.rule:skip_if_no_cluster] + - !reference [.specs, rules] + needs: ['review_gke129'] + +qa_gke129: + extends: .qa_branch + variables: + VARIABLES_FILE: "variables/review_gke129" + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + environment: + name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_gke129 + action: access + needs: + - review_gke129 + - job: review_specs_gke129 + artifacts: false + +qa_gke129_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against GKE129' + +qa_gke129_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + VARIABLES_FILE: "variables/review_gke129" + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + environment: + name: gke129_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_gke129 + action: access + needs: [ "qa_gke129_full_suite_manual_trigger"] + diff --git a/chart/.gitlab/ci/environments/gke130-arm.gitlab-ci.yml b/chart/.gitlab/ci/environments/gke130-arm.gitlab-ci.yml new file mode 100644 index 000000000..1126fceea --- /dev/null +++ b/chart/.gitlab/ci/environments/gke130-arm.gitlab-ci.yml @@ -0,0 +1,98 @@ +.review_gke130a_common_vars: &review_gke130a_common_vars + DNS_PROVIDER: "google" + AGENT_NAME: "gke130-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "cloud-native-v130.helm-charts.win" + KUBE_NAMESPACE: "helm-charts-win" + DEPLOY_MULTIARCH: "true" + +create_review_gke130a: + stage: review + image: busybox + variables: + <<: *review_gke130a_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring gke130_review/a-$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: &gke130a_environment + name: &gke130a_name gke130_review/a-$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke130a + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_gke130a: + variables: + <<: *review_gke130a_common_vars + extends: .review_template + environment: + <<: *gke130a_environment + action: access + # initially allow arm64 failures + allow_failure: true + rules: + # Initially we only execute for: + # * MRs and Default branch + # * Triggered pipelines (from CNG) + - if: '$PIPELINE_TYPE == "CANONICAL_FEATURE_BRANCH_PIPELINE" && $CI_PIPELINE_SOURCE == "pipeline" && $TEST_BRANCH == "true"' + - if: '$PIPELINE_TYPE != "CANONICAL_MR_PIPELINE" && $PIPELINE_TYPE != "CANONICAL_DEFAULT_BRANCH_PIPELINE"' + when: never + - !reference [.review_template, rules] + +stop_review_gke130a: + variables: + <<: *review_gke130a_common_vars + extends: .stop_review_template + # initially allow arm64 failures + allow_failure: true + environment: + # name: gke130_review/a-$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + name: *gke130a_name + action: stop + +review_specs_gke130a: + extends: .specs + variables: + <<: *review_gke130a_common_vars + VARIABLES_FILE: "variables/review_gke130a" + RSPEC_TAGS: type:feature + # initially allow arm64 failures + allow_failure: true + environment: + <<: *gke130a_environment + action: access + rules: + - !reference [.rule:skip_if_no_cluster] + - !reference [.specs, rules] + needs: ["review_gke130a"] + +qa_gke130a: + extends: .qa_branch + variables: + VARIABLES_FILE: "variables/review_gke130a" + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + # initially allow arm64 failures + allow_failure: true + environment: + <<: *gke130a_environment + action: access + needs: + - review_gke130a + - job: review_specs_gke130a + artifacts: false + +qa_gke130a_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against GKE130' + +qa_gke130a_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + VARIABLES_FILE: "variables/review_gke130a" + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + # initially allow arm64 failures + allow_failure: true + environment: + <<: *gke130a_environment + action: access + needs: ["qa_gke130a_full_suite_manual_trigger"] diff --git a/chart/.gitlab/ci/environments/gke130.gitlab-ci.yml b/chart/.gitlab/ci/environments/gke130.gitlab-ci.yml new file mode 100644 index 000000000..a5a50883a --- /dev/null +++ b/chart/.gitlab/ci/environments/gke130.gitlab-ci.yml @@ -0,0 +1,85 @@ +.review_gke130_common_vars: &review_gke130_common_vars + DNS_PROVIDER: "google" + AGENT_NAME: "gke130-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "cloud-native-v130.helm-charts.win" + KUBE_NAMESPACE: "helm-charts-win" + +create_review_gke130: + stage: review + image: busybox + variables: + <<: *review_gke130_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring gke130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: + name: gke130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke130 + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_gke130: + variables: + <<: *review_gke130_common_vars + extends: .review_template + environment: + name: gke130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke130 + auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" + action: access + +stop_review_gke130: + variables: + <<: *review_gke130_common_vars + extends: .stop_review_template + environment: + name: gke130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + action: stop + +review_specs_gke130: + extends: .specs + variables: + <<: *review_gke130_common_vars + VARIABLES_FILE: "variables/review_gke130" + RSPEC_TAGS: type:feature + environment: + name: gke130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONENMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke130 + action: access + rules: + - !reference [.rule:skip_if_no_cluster] + - !reference [.specs, rules] + needs: ["review_gke130"] + +qa_gke130: + extends: .qa_branch + variables: + VARIABLES_FILE: "variables/review_gke130" + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + environment: + name: gke130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_gke130 + action: access + needs: + - review_gke130 + - job: review_specs_gke130 + artifacts: false + +qa_gke130_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against GKE130' + +qa_gke130_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + VARIABLES_FILE: "variables/review_gke130" + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + environment: + name: gke130_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_gke130 + action: access + needs: ["qa_gke130_full_suite_manual_trigger"] diff --git a/chart/.gitlab/ci/review-apps.gitlab-ci.yml b/chart/.gitlab/ci/review-apps.gitlab-ci.yml index a6ec43285..00974d0da 100644 --- a/chart/.gitlab/ci/review-apps.gitlab-ci.yml +++ b/chart/.gitlab/ci/review-apps.gitlab-ci.yml @@ -54,16 +54,16 @@ stop_review_vcluster_128: extends: .stop_review_app_template variables: !reference [review_vcluster_128, variables] -# Kubernetes 1.29 +# Kubernetes 1.31 -review_vcluster_129: +review_vcluster_131: extends: .review_app_template variables: - VCLUSTER_K8S_VERSION: "1.29" - VCLUSTER_NAME: vcluster-1-29-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA} + VCLUSTER_K8S_VERSION: "1.31" + VCLUSTER_NAME: vcluster-1-31-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA} environment: - on_stop: stop_review_vcluster_129 + on_stop: stop_review_vcluster_131 -stop_review_vcluster_129: +stop_review_vcluster_131: extends: .stop_review_app_template - variables: !reference [review_vcluster_129, variables] + variables: !reference [review_vcluster_131, variables] diff --git a/chart/.helmignore b/chart/.helmignore index e877c513d..a5545c338 100644 --- a/chart/.helmignore +++ b/chart/.helmignore @@ -43,7 +43,3 @@ changelogs/ # CHANGELOG.md bin/ spec/ -# dependencies.io -dependencies.yml -deps.yml -dependencies_io/ diff --git a/chart/CHANGELOG.md b/chart/CHANGELOG.md index c704a29ac..dba20ff84 100644 --- a/chart/CHANGELOG.md +++ b/chart/CHANGELOG.md @@ -2,6 +2,31 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 8.6.1 (2024-11-26) + +No changes. + +## 8.6.0 (2024-11-20) + +### Added (2 changes) + +- [Support new PAT feature in GitLab Shell](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/7741ec22bdbede136cb8c06e488aa025765a2b0b) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3997)) +- [Add annotations support to mailroom chart](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/46665cd8f93b351bb240cf716c9345e866e915d1) by @loliee ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3946)) + +### Changed (11 changes) + +- [Update Helm release cert-manager to v1.12.14](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/0c024b2dd34be3c2e72360cbf3605987e27878f6) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/4005)) +- [Update dependency gitlab-qa to v14.20.0](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/d58309f363d2490c354620359a4431f7f1eb6ba9) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3992)) +- [Update dependency gitlab-qa to v14.19.2](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/7e84c8fbbdff92cbba243750c7366d56b0fb5a99) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3981)) +- [Update dependency container-registry to v4.13.0-gitlab](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/43a990baa13a5bdd0c4368b0b5e8b76d5c3331ba) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3980)) +- [Update Helm release gitlab-runner to v0.70.3](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/8f17dfb74a2b6fb3daf686da81fb7488c677d276) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3965)) +- [Update dependency container-registry to v4.12.0-gitlab](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/15c6836b1401f90d377c8d3ed53ce22d70f34347) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3970)) +- [Update dependency gitlab-qa to v14.19.1](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/08d2813a4acb78c73f394d6abd857a185ae84ebf) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3962)) +- [Update dependency container-registry to v4.11.0-gitlab](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/3811c509baf363e79227629b1471beea7dc99048) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3961)) +- [Update Helm release gitlab-runner to v0.70.1](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/b82f0a50ae6ec26a79fe9cc307c862c816f3ac78) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3958)) +- [Update Helm release gitlab-runner to v0.70.0](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/ea3833fd35e5d201c96e9da5b4892b610df19781) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3955)) +- [Bump nginx-controller from 1.3.1 to 1.11.2](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/c8f6090ec807dde86d4f6fd92803ada8b125868e) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3901)) + ## 8.5.2 (2024-11-12) ### Changed (1 change) @@ -39,6 +64,14 @@ No changes. - [Remove 'ci_jwt_signing_key' secret migrated to ApplicationSetting](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/b23acb2484f63ebb7e0f461033f5a3542519b3c9) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3910)) +## 8.4.4 (2024-11-12) + +No changes. + +## 8.4.3 (2024-10-22) + +No changes. + ## 8.4.2 (2024-10-09) No changes. @@ -65,6 +98,14 @@ No changes. - [Update Helm release cert-manager to v1.12.13](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/e45d38f61348f8fae9c824a58a9e3551b91a7d5b) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3876)) - [Update dependency container-registry to v4.7.0-gitlab](https://gitlab.com/gitlab-org/charts/gitlab/-/commit/9da185ee884ef15ce5be7f032d734bfa654ef630) ([merge request](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/3872)) +## 8.3.7 (2024-11-12) + +No changes. + +## 8.3.6 (2024-10-22) + +No changes. + ## 8.3.5 (2024-10-09) No changes. diff --git a/chart/CONTRIBUTING.md b/chart/CONTRIBUTING.md index 94cfdd333..d0e89a63f 100644 --- a/chart/CONTRIBUTING.md +++ b/chart/CONTRIBUTING.md @@ -6,10 +6,10 @@ all contributions. By participating in this project, you agree to abide by the ## Developer Certificate of Origin + License -By contributing to GitLab B.V., You accept and agree to the following terms and -conditions for Your present and future Contributions submitted to GitLab B.V. -Except for the license granted herein to GitLab B.V. and recipients of software -distributed by GitLab B.V., You reserve all right, title, and interest in and to +By contributing to GitLab Inc., You accept and agree to the following terms and +conditions for Your present and future Contributions submitted to GitLab Inc. +Except for the license granted herein to GitLab Inc. and recipients of software +distributed by GitLab Inc., You reserve all right, title, and interest in and to Your Contributions. All Contributions are subject to the following DCO + License terms. diff --git a/chart/Chart.yaml b/chart/Chart.yaml index ae17710fc..50394a761 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,8 +1,8 @@ --- apiVersion: v1 name: gitlab -version: 8.5.2-bb.0 -appVersion: 17.5.2 +version: 8.6.1-bb.0 +appVersion: v17.6.1 description: GitLab is the most comprehensive AI-powered DevSecOps Platform. keywords: - gitlab @@ -16,7 +16,7 @@ maintainers: annotations: bigbang.dev/maintenanceTrack: bb_integrated bigbang.dev/applicationVersions: | - - Gitlab: 17.5.2 + - Gitlab: 17.6.1 bigbang.dev/upstreamReleaseNotesMarkdown: | The [upstream chart's release notes](https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/CHANGELOG.md) may help when reviewing this package. helm.sh/images: | @@ -27,44 +27,44 @@ annotations: condition: redis.install image: registry1.dso.mil/ironbank/bitnami/redis:7.4.1 - name: alpine-certificates - image: registry1.dso.mil/ironbank/gitlab/gitlab/certificates:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/certificates:17.6.1 - name: cfssl-self-sign condition: shared-secrets.enabled image: registry1.dso.mil/ironbank/gitlab/gitlab/cfssl-self-sign:1.6.1 - name: gitaly - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitaly:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitaly:17.6.1 - name: gitlab-container-registry condition: registry.enabled - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-container-registry:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-container-registry:17.6.1 - name: gitlab-shell - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-shell:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-shell:17.6.1 - name: gitlab-sidekiq - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-sidekiq:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-sidekiq:17.6.1 - name: gitlab-toolbox - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-toolbox:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-toolbox:17.6.1 - name: gitlab-webservice - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-webservice:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-webservice:17.6.1 - name: gitlab-workhorse - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-workhorse:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-workhorse:17.6.1 - name: gitlab-pages - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-pages:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-pages:17.6.1 - name: kubectl - image: registry1.dso.mil/ironbank/gitlab/gitlab/kubectl:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/kubectl:17.6.1 - name: mc image: registry1.dso.mil/ironbank/opensource/minio/mc:RELEASE.2024-10-02T08-27-28Z - name: minio image: registry1.dso.mil/ironbank/opensource/minio/minio:RELEASE.2024-06-04T19-20-08Z - name: postgresql condition: postgresql.install - image: registry1.dso.mil/ironbank/opensource/postgres/postgresql:14.14 + image: registry1.dso.mil/ironbank/opensource/postgres/postgresql:14.15 - name: ubi9 condition: upgradeCheck.enabled image: registry1.dso.mil/ironbank/redhat/ubi/ubi9:9.5 - name: gitlab-base - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-base:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-base:17.6.1 - name: gitlab-exporter condition: gitlab.gitlab-exporter.enabled - image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-exporter:17.5.2 + image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-exporter:17.6.1 - name: bbtests condition: bbtests.enabled image: registry1.dso.mil/bigbang-ci/gitlab-tester:0.0.4 diff --git a/chart/Kptfile b/chart/Kptfile index 3fe228d7b..58a33bdcc 100644 --- a/chart/Kptfile +++ b/chart/Kptfile @@ -5,7 +5,7 @@ metadata: upstream: type: git git: - commit: 444b06a2195c8f8932847de2b727b63cbc3b8836 + commit: 0a325d09171fcfa4a3e828052cb273f148a8ff04 repo: https://gitlab.com/gitlab-org/charts/gitlab directory: / - ref: v8.5.2 + ref: v8.6.1 diff --git a/chart/LICENSE.md b/chart/LICENSE.md index 4abe8b8bf..5aa367954 100644 --- a/chart/LICENSE.md +++ b/chart/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2011-2017 GitLab B.V. +Copyright (c) 2011-2017 GitLab Inc. With regard to the GitLab Software: diff --git a/chart/charts/cert-manager-v1.12.13.tgz b/chart/charts/cert-manager-v1.12.13.tgz deleted file mode 100644 index ed81e0ef8d2389081985036b3f6a421827ec525a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69365 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≥FujlqN#$M+8en>mc4`J)>R^;Sv z2i<*(6A6EOFzoAY`-zw}Pr*U37dLd@_3D!^0>heL#twL%VXPUjZYLS30hN&|0@ZxW zQsJE`61;=%oDZ1(+c;-E0g}^4BPq_h_hd3-{b$m*S!XOM&ZbIR&O3|1l|c4wQ5H$X z1u5v7k&|Z}CwSKHBr)efL)kFN;b>xn#lV<p5_hXjbG-qM?z?<Ad;+7d(mK%T;uEAq z?q4Y`AQ2M0tKL5U6mGDs|Lc?dU*T=7<Lf++*Ez1PM5xk_Iqt6T<rm}U`iVS1O;C`_ zI%iFDC1Uv|mvt&#)gQBU3vJy(o4bV;hj&GabZ;%<h%l+uTFg+M>EE$)X|x`rQ_49U zF>^s;cS`=fC&_l_6g}!`Lb<!jp1T8Y&D$|?ZG}C!gKkKkM)ZJT!Kl)5E!8}I3(L@5 zbuh6VK#gyp_}zBvg4w!Ywl0`omkZ|S^u4T=0MG){OCj03&sCPIZ$XA%Y>Ydtujk2u zacJc5%_;_7P0j>;(6E7Hu7Wa$Br_Ug$}GEk6jUj~%<eC1JDU<IEJj3GN?qtXn4!}o z8)Nh>f%7}Zx;RTF$X&bkj!Adj?$DI$jx=%kT`|3&x6(|1r!|*5=TpiV8gScK5#R+n zb!QR&;_V!l(lr_q>letc4`#vAm)B{^ZdxF*=5W%V--HoA#l)OPR+f6^(rU<L81_zp z4xh|w`2@4%vIY)1eXM2Ss#`Kzdm*`$kekfK?N4nkI)8IL_xl-72b7Wc>dm_vGk%(K zcG=_<aP!QUHEhk)H2||GJd(tEOVzk>6BJapU>xHIf-p)58>z8|`SGE~GJzwdSsfQ> zNFFt(;|M=+8l#a>py95JF)*RCn`>#QhvBc9j2I7bEsov3y|LU-8o3>_39><45KfeJ zvxF0`f(U`EIUr;FKzS|}dcGX@_m8|6%W?0pcUa|Y3s*a4vZQFwT!r(?8z^X&!1>Ca zU*5P`ohC+Q4|I;26<H@Gn?JGVeoX+Jy_i?2LdVkAdnm>et$@u@3hZIt{_X)%W5M&$ z7;c8S@oOx;3)KN+@*@|@gf!a3WXHI+60K)a3Bt1Ip?8$gG*1zZB9dvy_=c%OeKh8| z=pneEj?!F$Tt^ww5}GXP3?}G14$5oq3X32GwHNSsg4qa=I=dh3LhSArrJ~CsG`MJ- z#<3t$HbCn)rQ&7eHr^i36TQvRv2i@SVAl=(N#E4fa`FcdD!?f%XIVeQg7H|D0L{Gr zICJhZ-Q~09>vVB7W05Ydv|OUUJkyn0@_K~56Hyjh7ha0^g<gB8I>&zL>kgGG2+#VO z!^~xDuOKWO$gkiE!abRo^TCCi_Ip>dusF(47j!LEmG`od^e(V{R?Va<;OZiz`{(^k z{j4;(KYo7`PRodL#sgiCUqc#0AwNq$pNc`Z$)p-g3^h<sjRP*hHSSSGfecIe$VF_1 zRc8S*&tioZ+0N!^gVV<x#9B>c8GPQo(z#`vRcX8c+bkN=#M#g9T<zXJ@8z8*kj{v2 zSEQu;22l<Oi^K%P(Of#)rvpxaq<2#QyED|+4;@D2sk1R+BATWordW|=;u(TvW1g&I zbaoo@vg-7d$fc@I5F98!$1I(7#?{iJ*MHagYR*A{`9gw6w`%{5vFfT?vqp%(AiGkA z@YGREWtJW`&e6dF5I%+&JKK!XXfLBi`x(t+upV>`b}BNYeSU!&4OoNCG8)2^m^gH+ zKyg!|yBI6%gptDh(nB|(;#!9U>5p<uL8}~FEtkYQx&yAY4T-37pB<p)!5lR;V4($^ zwiXtf4Owp8X+<SL6_4a@#F<uwC0GL<D0$p{<l>&PQCACpU4uCiJVE5{3;3tbgtOG# zv-?Q)_ZxA)tMAWl`umF+pe@((z?FGm6@pJ=gIRz7m(2!?3ASwT%dx=<(zcwi<%C}i zCrqd!0w*`dCfMMvNLbt+2){i)y|U`8f-`$zwhb=DOVjZA+h2M|d#{nJ4lDilEe8&b zCraSxo`~WQC+5+t>&X4ye(!j@hdxN_m+>2oOa#ZjaqCg)2+<*$@EkEx@@O(g%R=aK z;OnIaZ|h&5Um{6<1jpVTB=cyDusx`9bPs$ifjt2jaIVILDNP3<iroz%p_|4yAM_%g z?v_Fqmwo^@kh=%_dj~r!)jT}hKeTpEZ)$^_rzjy0Bq<%(%RI}tutyN3n|?N!t_|${ zI3|L)#SbXGhp%-87+J?J=Lq1A?@LYBpW`p>7j2KXzptlVC9Hj)`TI<^^YC!oI&s%Y z80$B<;AEsZ<9OzoaoHQhm3F7!B^M9>(fj^~cX7g^GcCnV=-6@TR>S)O_UP>H`sVa* z=k86se{|G;eFrCIZ_dtdPVaOJcYYXmVAOT-5zJLDN&iLeocX!vOpi%_(j(tLIxg9A zVX&@)@;r5urK)>}uWIUEPu1)d)q?Y9*vEzZQ_QejcUAM{BHw^6y1qG`^A$ia@4Fdp zZ3#H{qHNR%%Wf-(1(FRP37m~5U_Xzsh$Y(6a?ZAIx)!N6WvL~@?Tcs}i*fD_geiMb zQ2+hv&J4lzsNcQl!*}@e)sE)6nPv(PAXS&*d)U^R1n)rWSySk7!S`47-ZnOEg2^D= zXyvX;Rf-eJF@G#mxZ-?LkdeRUU_366AYIKnv=pYdhml<}!6PEw`HelRxg-y8X}Pq> zumORc3<xS3r$e}`6?0;CKTZU}@dS~NRH}-8Qsee}5mbjN5)E>tML*vn_@{*IJD`XH zcDo+xBNiqensW@m)XMPq5mROE#)HqRb%P8ie40GsiLA~z#VQ(m*K<$ttT37yZx-8K z8QS1IP=+{<qFhLiw|WIO0nVF%?*km&KVlJspBq*b(q+$Z=voT`L*H}08<5l%&>(Mw zw>Op&E2~HhsPaU8MNU@bL-ueHc$YmC4#|vW9d|qE?r`t*v0-Vi`mguzjJGqaol8}& zTY=KkRAf%ShJV%ed~~ckK6rI#`aRn3&+PW-c*$NZ2ix%ww!E%~F1gX3O0jwj{hg0Y zdTWeoFd}f8Stx-0fj^>zvyt<vfi=#BAWS6_V*rUOY{WR-lqE+?#h~Zus8F|KuP*AD z@9!RzLeo_{aE>}PK0Mx2?Fglm<yt>`jy^nsJWxqF`vaAVi^*G>(#0BFT_v{_Q~VJC z!SZxKgoa*i)LYX)5Uwl56s#qM-Kp$vIW~Ru&>I|$eFL?@wC|>Syz@pa2uV_Q`Pgw% zs!_^Hmwk4e6Bsx>++-v&U*Sf2+(XxXCWX^j${$QeJc;4HCl#7o89XZBQUHN`j0lOP z8JH>H7|2dNupJIzi)Va@?)pFrMlfy>_`Gf1F`C?M?*tvfSnU;o%3V`EDaS@U4nqsG zHJMr4ySR2rnL5~?`d%>Wg(!F9i`F^u%8KO;u*xk+*-6LYK^W(y1}6f)>WiYO%ty8X zhY~#HE?+XaS_f+z1jmJyx4~1F-Kb`YxAyjGLwLF3fopk@X-kjSUQ#tOcEmFp1Trjb zKj*{$)>P1S!?t+IaOchCW|vs+o(aNPMzAOs_Cqv+WE`6iDRvk2s-;R3(CjBRT7i~Z z|Cuv$S6VO5P8chnKM?UKs9qG^^8ia9J1}gp%qWPGHQsCmEIxr^Url?qV3ALQv4dq= zqoLWfDb8wF)e6f~_voH*eAGPFG-@JUh8MpV%-<s8FJkJlq4o6JJW0@Bj`m&~0%%1# zV=6>jGXw>rjqiRu+Izj5-P4b|FEk~sjm_{x6o$NVVh$L}CwH#&g3ASSS7>(Z@&(b$ zn;;{Pa6;!TYk59U^tn!kixFlvZ!S(gXxX#TtlpREA*lE@%yIeIJ=<wzTq>NL@wg!( zUO{<?wD^4IB=`emQNtPCD6Gitm8<hyCnbrXIJpEFzS+E>f>R5gFspfkQi2dQ_Xfc9 zxS)=6_<x=N&joD|G5Y$Va*yG|^~E#2!0@?)V7GCs+c?&39P2iY_3SaWaje@o)?YY| z^;1GTf9BZEpEh7_DPmsZK)J@p=<`I#T`n{(TP#7gL2=ulxSt~^E+3dcm^OUlj9>;e z6LY6D<xpB?F^i~mBj2ox3>rjPg##r`o(5PeS9!)+4}HspcWd2&4E1%5>2>!<p#A+F zaBqOFt8x4O_VMq%=}GDaUhh<fLnY!l5U1GO!&PJF9^>%Pb~-b((xSDPePCps;MnN+ za7L*%j&U2u7@jA`F}57?D-2ak;tT5nbgC3dvj)MzZcAs-noU!d^V}sQK;EYa+ZG{K zqd6~rEcpbF2*jN;r`=l=2;sI#DFJD<r5xr-&>pi@tfNU^Q#Er!ZB7%5qG5i7i{Xq< zJC;)<cw)u}hr;BeDhm5^NSs9W+}5~iYWk8VCK_n(4?Gv>H)tRIFWRaHD(a&CoWqh? z)J#*1Z<h!t{kB}bNYar^ocDlk(xe%;Q>;r{>6Q`>K*Mw{5Zctmy)qp=Cjh(4OfH6G zI3$~>9kR}N4D@ch8jIE#6uWrzbg#UV_)T+vh1-gU!lJuDQx2~se{z6&DKM%c&hyA# zq^a?YuL)7&V<7q44B)lwNMKnCa2{d6UJ5^ma*IJ+CA%mlbS^;`?sh}iri*RM1p>CP z^r|tgPKT=AxIVQ4-~eXjt^oH-QC&)*6RabNxh3b^Lj0oD2ABOLXvbAUuee*ct+57* z&7AtgIaa2KsI|F%lBt4w6;2uv$m^nPs4yX{W=z}>2-rW?k*l1-hjEl=5l@XC0nG#I zM`IG_$vo5cljdw3u@+8v<2DesH(j;OIy}bGx+p@l<3Ag(>^TYNL3eOIZq#mV?+sne zx4Rp3)pg^za}+`gqSo(B>o=^VBX|e3f=0j)KV-aMJ3Dn`-L|e93mOT1fNBnFrsnCh zD`@CUAA$V9&=nDqN*}D(_O-ZWaDA24CS^#1l}XIy!+l|&K9)+9VWC{S<s^{2wCXoR zv{XiS!r6!$JhgZri#lO;DC#Z}S|3U4#>c9_qq4eceu3(w^*Uka3#N}4<0K($L}U*~ zDQPoElru=ofXQ?k2?s`a7bKBz@268pc)-K!AS*<vsRlVAreAjTup4HJSS{}ZSS$kM zF7gyihsR%-guzDioNDfzr<k(k+B3s5MvbWkudA<@%A?TcMX1e-uxxsXMtKyfIZRee ztKhevT^)!{%!_$y-tLPymSTL889F_C_r|W;)KD8|C2%0Ayl#^fw8;wEWCd$UR<L54 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 UYk2<u00030|2_Wmi2&vZ0PnFei2wiq diff --git a/chart/charts/cert-manager-v1.12.14.tgz b/chart/charts/cert-manager-v1.12.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..56f883c038307ac872b76eace97ff6415a8492b3 GIT binary patch literal 69366 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	CJNKUvnQCg@&Mbhgd?@*d4gd1#Ce-08cyaK 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 ThUfne00960h)#)+0Okk)MFb14 literal 0 HcmV?d00001 diff --git a/chart/charts/gitlab-runner-0.70.0.tgz b/chart/charts/gitlab-runner-0.70.0.tgz deleted file mode 100644 index c51c4d362d84c3cf2980bfc0ecb661eff89da86d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28446 zcmV)BK*PTuiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POwWdfT{?D2mUuo}waq+ICM!NtW#-TI03jcHD`l9mhZ0>Dg;{ z_s@YyNJ5(;*aRqB?e_l83+%h|66fOFo)?(?B<D%ahXO!?6eY`ll3r^j?C(okBv2?6 z3Wcgdp)h1JB7HB-;+Uqb{Sir}KPBVnpPuk(x7+QVtu6e2yWOt-zrEAl{HM;=i}u#$ z&h~bD=bzf0?u+fMe}eW?A~EmDge2)dwIAJ9wR8U<4@uaMG!=};J(zSFBuVn0ofrPL z-)@9d1Sv}-zI)5$5$VGzvP**n>fK1nMD$uM%}Rd2$E_@hI0;3|Yl*3lblgf({wob+ zi%f_lX=`)4{j%F_X|B77_>lWaJZxOj=@m~y(Q9}xWU}Ewz#1NeG>Q1MF(xdQgvB() z0(4AR)B}+v2~XwgqV)zqOvW@v_An0ohJI7x_J-hD8c+mQ(+5+Qr^8mDriEygYu{CA zUg?kr!gs2esn?iTy0`roZNJ_4GUH#K{}U2rR6Ml+SUmrCwz}<hW&Uq%cD~O4FY>Ic zl;<=Yj>(WVR#qA-EAZVELOLK>B!S5_0hwU&5K=m1LZ(xH3BK=<C}A=6CO1DGoSq$i zIKEYIuSPVbkiP;ZK$1%u!yx5jC>A08yO2pRU^EI1aw#3u%AR?sv;uC#$A#@dYx7n2 zW%s}FG^FWw)7|5}_Xpnyp2}S!f^P&RX)yZfmtEV1;*G)Jm`mD&!vRcr2EmBLLke<4 zfhiJ#<oF}&XR*v6r4c1U5f=0l@_0?cfTu$$RavLLph1>0Io;>6q}TE<MI||+!oU}h zW-;&>LN*xCl*SS=p~mlx@D+YosMmmexO#O1*8mMI7mc%$3t$B#8TKF_${Sw~(Oy0< zx3>+2<iC$-Y?!3XRPShH#ucuZ9F^s;m-U%v`m}zBAZA_=w&vBY8Q~3u7LG|QB#9y- zk&Ot81oUY@GC|=}n2q}$i<$hSI5FlD5)xdJAq|1W#fbXwj$hFUO`pRj$zq13lavY? zOGR=xA29&|j|Xg+rMjgn7DYg!h+oa`vl=#`Sb$z95et}%ra)uTk2E(Z6!{=;G8U4O z5Z@GdH!?xbS<HGcAd#Rr7-tC$*kB4oV}FuG(Fu=OFjY*4kkx_;8XvR9j%h4a-L<{w zicG~Cuz{|9PKK(tYY~xD$hGG{BcT`-S$FMlaLnb2ro>ulaxe)Yr<$lFNusGL|10l9 zK2!oClEuM@hR~maR3xO=G{_`Rk*FWl2qjq*T_lLTA_4rQu@?Si)~9JqB^AFolZfGX z%m|61u+KQI!-``9nn;IrM9VPKN|I7fHB3V@Qu(whXsM=u(RY{bY7!jU!e=x{sT69u z5;);XguxFvHdcobAd0#<LPnfej)qG*EdcqC?PSrS?xgCl(AauB_K25oEpQ7iGM(u) zlvMJJuGPfPNH0&<Zz46$*_iT7K3AhAXu#u8JVyqM*o4MZ2q19?DJ3DpUrEaQR4Dc) zmNgUXrv75UooPrt*uqBk&79K{#zH<(6&j^qJ-E3=wAHL(Bzi+5GR=YQwDDU)Q^v#m zZAZTqSrAYm&POQ~BOZl4=-_)LOR|(Y@4NV3(sayXlmc&463~+})NZ>5^PCJC_43az zguBA(9lwGxiKos8pn%ddRnIL*sghPiwNkFcqYzH@$1}zBTHG)JZ*m!fE9Mo6QGBFS zF(pErFtwVzV?y$Ddc?*|Vjr|{rFKy{qv?dE@bUBr)^RyWQZ9MGqYaQFA|1eL%1|xr zOjpQ|C=og{ZRTj@0UwV^9Eui;LwfCx<TzR>3v%0tCW`*{F^y(alPS+qFXT$*VguNz zHwP!D2m5>H2XA`V!BaiS_1baHQ6=IjkT6stA*NSmK^0cJC{d(V=v6yLX)9o+d!iN7 ztBW9|*x<z#PcH`%zrt>sLB?_}T8LE-n$3Jv%o=}xboGKc&h&8f75~eW(FqN;;-^Sv ztKj+_2h@i{iTdJ5X;`X7B`RVdk(w>je9UQRa4#g}`V}==*N9BipMm8~B4JA9bLeLh zu4v9bYUL#{&}$~7>JYZK;S#1G#tM?-W1RCGi6T=-X&M8rrg$L|%t(DqLZU(E9J(d| z%}p@&An>$Kr_id4!`QiOM~#Ooa@zK2h(Z>}S^cf1fF(Ye8c>$lkwa`fiBP)?P<4%Y z>>)W6h3py(ALD!$l>1WCaTqhnhDwXjGJy$^(b-k(!P7B|OB2#4Wl72tno6Zti7dso ziNqn2IRodqoK^ZF9+1e;-j{qF0ZAzo4bV^-GP<lDGA1C4jiyO)k@u8&Q1Gf&7zgZH z)m4(~(=bY<_X*a=l*AR{T@jIwnL+8}p<;)<lf#YY+9*H;F~_Lri0N)fBdSTALmiWt z43!S6RI=i|ui>4~6jV5~kj9b?nAOn=X&Q${lMF^IrkbpV6LqT&`TP<=oKCs~RYW0H z+0h)MNw*%-B&C6(#>R6O0u!d2q2HJxMGs_}(ZV<pk|#--&d*`UCQ4@n$;Qa?SA?Nu z222X2tZMOPCzJoB=dPj2P-zi^EW$oON`K3!kp5ylL%~!0m}Y?#uEuG58S!`sH0IfG zl$!;`qF?HFjzBcM|9o8$Y#5VBH11N1cG`NmKckvE1DZ;qHO^x)R(2eqxvo%4h!7BD zLh><|8?XQci|R<({?x)8(LPD}goSFY(e6LgU-h!(5=b`*ANs%2AeRV26;<U$LIV0+ z+m<NA6nG?8!jnuHNm#x$;$vFzLiiP@gz8@lLYC4%DLu<m)?urbjD#m>H1HIeX{ZIG zu_|cjarE8_Z@^Qxn5P<NhH9Q9>5wXh_T-3q21|h}wO;ZnL(!{IV8`T|jk7Vt*|<+r zwKOZ+BTLaep=Q#<x<|r^T8=`m^jh~4k&Sqtpxt5D)}q;5fjrJ}GIj`Lv1ED$81U50 ztx+aJeieffpho<#u`)<9iPDZ<E1{t3Bq>))^*!do<GN%~yO7!j>VfXp8#+)%f@5I8 zh+hF8NVPU8o0tZdc0MRRS9)1LV^R3!Mnj=+7)zQ?NMwzSf^$l9bxlCTheIV;BRZjx z4|@~BB6Npn_q1Audl1roHdJQifIo*TlE%-0rYTRK!+=N<J%@zEEcjAATv13LDSWHb zVqWJ4JRK7`uXlE7lJr_WhhGJ@^5uH+JtB8kSI%fG(<!_;JGPVH^CKs)%{L;x3pp!_ z0v^X20Fa>;^yf!sa7k%GBDL@r1;m%@M$zbda=kaCJ!p2e$J(aavuj$Ph!N<`H)Gf; z?V(SNgN%ldq>QK5xMJ~y2U=!v)Ugz>(rRO6R%4~HlBD!Nkuu>dmS@;V5B_MZ0MKB> zp*f;a#G55g;?;=CQQ4dpBc4Se2&uFl?YkDJ`H0*iRRW4+kwm3KyC)4R8%0VhX1bm+ z?U^th(D1qSfu;~BTZ|zFiCM%6Bw0UVf%)IziGs&dNNF?$t`}{3EomB)2o6txWRgS3 zM8GFB)oKj3P7q%f(7hnwS!`4dv#O*1r68%=WA#}ZgL)O<p#rFJ#k~!sS}47T8r?V( zitqG@6nK{U+iQUBul3*ptN@8)E^$BwI)Bg;Z-sy7WxI`USgiYZ!c*CUm+e<wd~Lg} zU%zTAy$WFEFou8#TBf&edVfAmu-nHxq^h2;lyzk%gt*3p&ou$<=bRsjFnR~J9GlNQ z=(ZI$_|kS9jb-&B;w1czL~7=wXQ+vtl6Xi(55EF<(D66@uD{jlZX$>uNyI`UBzv$Q zWlGIIJb4c9C<!Af#Pb}n=WygeZvZ&`>y^K05)KM>D-*_|4HJ?wl+uRd`?>d94eN*t z3Dh6@W?poBdQHYjMC~3+JWQ#;zSWF0KoAijj<qATiEpZ7uUPAQp2F#Od;8X3+-szL z5+K3sBxO|O)0Ds|k0@#_>W}YOjBc5t1ID=2_0cS2LK9dqf$82SWk7v;4xh?1#MhNS zS#Ts0+#!mYr@FG5k)N=$pRlb4n5G?Ow|Wecb4X*QebKOPTB6OZ>pN(onWsA<?WQG4 zoMuS^`pSM$8hld?I&Sr7QDUgzI^<4p#}2(f)y^vj`Cd!|3WU#Q@YSv|w}%lEQptlf zi?k)CW>6Sv`vGNZp9GMqu}hS-g#0Lc4dZ|WBdl3$8mKClbSexZct8^NHsx6&dinNk zvkB{J`~za$0Rc}b?42CKP!-)!<iMulp&BkaPUO_L0IjX$0{phQu*!s{{bh^mI;WI` zFjiQRzS6d}L)=JGbmu8@8KFMlQN*uMNo4V*17#T%$?h)+XS2lhDA{$KTBj08nCA?I zZ4NQ&!B4;7jI9vrrzV}ySc<0o3YI26H5CUmpF{JC$Y9i*Q$4pcYeDD<pnz!S$2=$r z4;R+A)t@(qR60N$9{Q>20GI*ZB2toI)O@agDcaVxr=UMCT1~L$&u5WezTJoq=Qo5D zo<kC|y|p}5o;R~3B=c!(gagr&z7}wqxOKG`<D=`FiIV9#U<6yA2-NwC4Z}iV>9dGQ z+;i3YyDjb1b9Z0)KpW-=I?$`Cccqjoo&t}fDS~5h;rCGDTbKKH7AjGvRyMowj9@+* z_f|1WOP&?%FBloA{V!~wS2iYcZAv>`n9#uk+OM`Qs1}cA`Pq1s)YdYiW{t_^R>NIe zr|zPRhD4<+;<;*ekVV>^<P;WJFajcgUJ9R#$?rTSS3-*<9#M~^u@Rg<Y8!A&rrPnY zhK}P>YOO;py)R@EUBDoVwPnKuuyGzdK$0Y4H1y#;Gdk#R8JAi!u<;p+vd>Xv(G8c0 zu;*wW`a3MZy$4P8FS!yuM#jC~%?<dvBfhqMd^0r;L%6-|scNm+GK`Fsnu2Tm?QL_R zOjj6aT=bsSrD*BMgqE@th8YWKiwMC3MkMu2-#mkbrx4J4Ttyp8vXC>VGn_P^gs8yf zGb2HNCr0>yjv}b(=AvzU9SG4%c<9+sA<w*PfD7KlD9qD3tr$`yH@d0PyUXD}<r%<Z zlnb~_R|5jHwWL@-$)c#TnSq7pjcHA1B@vgRRjkCSv$@oA-dD!9wL-#hHj+Vdk5r4^ zfAFgvp5cI*5DBFll-(3%1rhyvr8f(-`Eu1cdc3ZF{^8As9{SL&0;V+iLItnWzt2a; z7j8_|N^{nQZjA+{J1gD0*jZFk$XW};h;`xU@>cLr_*AcxfBFQHjuSPLZC~QTCR$m6 zy)a~IMv=(6NU9Qf7V*y@lfMe&2MJ^oYIL_auJL>Pr<OoVhz%A?I@HtXB;{iz5;6f} zDpM8+px3z3lP(kgVQio=kD25ti-)b1lHbzf1Ka>IussFG*#<JNYdlsZ8<!N@YPc_C z5LIZ}UaP;gvSq#+2q%SakEhaZC0R&I62fVt2d_4_Hx2NDqC{E#roN|ldw6PR-Fr<P zCG>RgCdniZsWgscKG4w6;Tfbv?<nK`nGdJ*w~VFKcrYy!8o<T2W1mL+%CG1Srrp{V zTU!SXeF|Y1kv@&`ARF718REQ21Hi)3m8@=32JMK+`9N!-&iJj&`<yS3UV0qU35j4G zrRfzD)EST>>|D?3jY=ye4lk<ZbGLY9#ZcL0U;eeCak|iNOHJi?S~pHf7Uknl^AI!; z!HAA23i9U~MJ2A(A7#M0To0P+lLI=#C|LqBs>TxADNq@TMWh)rIm-0Bcep*^<8c-< zIc<$-H1^EtmVU(htubM-J?^4pqUTf-k_4CbV~~c$KUT0AjPwDLa(87U^xP|Ph0-}b zo*qI%<j9-~NM>hsKw@+)BBga~SQ)sg-h*b#R4Ayqmpj|u<EK-KT(2=f-p+%P1^R3A zSS=P0DcaSam-95n7pca}aG)snZtSAY;-Og|X1ch1=d8^7ynQQoYNoA9cPhepMqcU( zl?&ut>{=$7Frr}GE!3^TJ$DH!30POYRwiKKK`4vTS`c-L>I|G3;aL)$+9(K$%@1Ju z@JYx~AIHE&0^u|!V-_e?=^pw{ZeCi4lowNZ#nVfrBbaxsm0-lV(pNo<XXRJ1#}bc( zp;`}$jszCLS?@Q=`PJ3roJ~3>V7N-4r|N`l&0~p!w0(PclFzV`I+Bw=;w0>w4Wz>p z!<jk^HSfofQ|8I>kLrMzcGOCgFS=k!Z|2nD38c8`rsfp}#S--9=|%rD4gk3lUL5s3 zvxiaNhtjTKF(9SI*GLIDO{|1)HU{gr0~OC5m|;@-=aY91_YB2IO_IEv)%+ErIm=1h zj?59B-@jrhjCn{=EjAM$LzHteD9c?@!tTHpbj{WF*)~*Rt!ig+NK?2Pv0!8)oT^JP zF9mOsl){*V#(_X=B#Zy#B(>cxI#g^jFJN;=MK)VyT!&92TsY^AJ{OncuDN1^-12io zeU6&y#q1hbR{2iw0LF;85xe%>l$Mv21S5>>`jz*Uoo0fw^=^6*W?I00ZuBiQ&$37| zh?IC15@WcT06HO2rUS+W5FLDAyfYxUKJ!Rodt?ceDrtQpEEc$dFu;>o0J_UEaZW|3 z;=UMZa*p_w<VLf+kSq}wBn~eW$6bon3i?OTCY4F#Sr^OPjy+w3R09m;9{hoN%TM;) z*)P8sZ)x2@H1i3H9TV7v=FN?Ns?UJ>$M(JUs^~|b^4f)_K4xi|dao~dlu4>pWbMN$ zP9)Uz9|kNkGjd-m&gc~(5s!yBEX@gzvN07+^xc_X@AcMI>DYr=$~1Hb>|P)-VtSAt z0Wd`r*NhW6RU$UdqJn@YT0ys+`gasDb{p35WGYPE1z8v9K|$TdtjG55@T5Kl^Iz&6 zc4r|sSqXHI_;alU&J|t{K1ky%ZVCq*l0LT|cwB%C1>`#zP7IQ9nZiCFkCj+Sh<1ip zk*6wt#x5xE&Onyd5!c~k4;2*hx)KU8r{6Ye&xAR_dJ)ySQI3HVRLAK5%KKF}s!dPv z*{EQ!Jh!n}3%kYi1}hFB#x<y+Ef_P+;?Fo<X%>HsB^eHv;Jf+r2e*OKEJiN}4HUoi zQ-X`nXT&{ktb}=Wn?gHS?T&UK6g_=x1W%W`C-sb%6Th16Uj?9=8^n-FRbYLLwX}!1 z0zB(7T%ybM>rE!P2#9fcuY^SlrfK21E#&(x?ukhyp+y(^L<#mB0-hSyRm~p3_bfGv zP!u76m}(iA#X7D=!du*)iPUsb0Q7O(vu^QQ<gu{@I{SLRhgjmTiLN#r*4%Me)9)_n zbPc|NHC<Nysv%uv|DYf7p;E5&Hf9So72%Di=4i2}A$yk;cRVdxtGG@CGO`;|20h$@ zVgXnz;b*&r;(3FVkG+UVMTFfP;oaunc$VtWh9Bs(Ik!gMDP2Q5@Kud_>XBt0(NJ59 z8DJQQ&&L68_s<ryfToQRx<N|ugcykgstLV0Y%=707*P+m!*ryw=Tt2*4<1K!3eL3Q zKX?M(5w2}!p`s%l1|pB!#^(N}v|f~n`3BH(ytlaPGyJ7`xT{*9Q$ZK-TS_bRB-h@U z#cf~}ACD3|EpL`s!OTpikDMkcn-EFWM4ihMfvA%m*mnyH<%fFXz+3xAV*uOFxw53x zWmf_nzL_t8Dpb+cPV|c}BZu~W&r<4DBoPhk1kv*aVrSv{LR1^IOAIz{caoJ}fV@(E zJ!j29W*M^}<$@2SR#IXw6D_RW5|XE6NO508*k2z0@>ncW9%cn!EXM;*H|DQFGd;># z!G@>J=Z2Ynm+C$lKPbCS%?`6WuT6n&VFi>_Gv97_6(<MtmDpC+0fS6v9|T&tu23n> z3=}LCwy$X-pKr^yu~<MG>vyJ=g|(J!8fTC><~uX`*xi|NtwF_MuF|QUnNbNwG|Zyh z)8`yswV&L)AO5^tHRv=-A{StZTWU^5)^J*$UZ7>bD8+ZBfN4VL$5T&7{CN47W@XRF zYKwu+npMtnR61dO5AU8)Kue)^LXtQnX((Dce5;hKONl$&p;9uKMRZ6Hl(ug?Q#RZx zr6l|iN7GZz<@YS2I!mJSJ&X6mF^|>vo;}-;Scpy#UqBKa<jZUXUzqZw2R}9Uj*gnu zZ8aUn3}^(=p-u#a!|0i0E>0RKF>l<_g$<`vi@4|Ze2E%3JQ7duMPg<9>0FU&h*BO! z$~-L4XsuXmk=W+%{5VwVHf)a$jmh;{mJVqTI>nohaqge)fj&8<{qJSm7xUBv&mdXO zx*Fjb4V}*ENtw!t;dJ;4x#FXsX%9N)@E5+qfcYNmY;SkF4S+%Q#R?8yL=`<rl!w>j zXS=JS({&mDt?i)6U6-elTX9i%_39PA%9~R!%H+#8Z%wuWZCgZa%;fCZ<K>qj9mMYC zQS_dZ*9v{#MR>ho6WwIaA9T#qX%9BHciuDeE=aN-Y_{8D^P46kI#z3{XIB0mY<D(I zaoe3Lz|Q8&GQiG4fVzD=@;Ml=m`Ob&6CRoqbv7N_1L>rJVBlKJL)uy)rWudKp+{oL zJo`qG&HkOAH#_GEkN9wUmMD3(&to<HSZq={&7yg_^c2WNy+<c3&?yW|W1hg))R@}l za8TtuWb#2i&`0icCM9hI%=&@pgvQYnbR$5N@+aVT9_w8>@KAVM(yKyt*oJ?g(;k*I z@2^HQ{um1)nHVrFR^ISqF3-#YWr|^Jz!{A&y@O>KC6Qz>I?{0i`AdKS=RN3?6zPAO z#gdKbenf;Q+^dgc4?9m%4co($hb^;Xl(*&_MRe%;Ar5E>DScYKu!IWHXaWG9&ukN! z4I!9qZ9GL>bgl*-Qa9@25q+-Xwd%xB-B*9)!?XlT+4MMuwPG%9LQauznWs<^?p~R0 zSFb%II?m7g(P0*m6x3QsQ{37V=yNU3)9N7EazAzP9yFDHptYeRvkQQGx>C<o)d-I; z1{>B>8=UB@?0?;bj=!_<2tk7_p-?d`sh4`v+Mo8EoI}&ox^9oj)I=g^{GWpyWuoM| z%6p?XN|+9$)tdmSoTjpKM5;PusA;?74N4=oBG?QHqT?H(aH-~gbMZhl%`~=QM?GjB zTr(j>RZ*q!gryugIX_k`%9|TD6IGsHs+17PWYtmK5^jpC2~!jtWGTAwjXni@Vtx89 z43h~U&*0>yxk6jVazi;*zsRZQc_SJnpPoD|h0c#a<H?UCt>l<I{djzQaC&j@-w*ab zo_{!PXrYNZOL>d1d{m&G-k4$Tl1@E+;5i{I6@G(W%ak0%lUxGq@9n=kxH#)xoE@D0 zcyM~L_vX#%!P%KIVavhy<<j4M-2dU={Ni};{eey9q5b-_w%pN&{k`+U563;oghz>x zUdJu>ZtwKqjg!i1xz6ch3L%li#QTW6d*7#gJln;+{r!Wpvx^@N{$`gXVg1=^Y0sCb zxN5`e*EmUX7kZU?`=<xzj{}|i+K~o!!*j%~UU_&@nMExARc}_YxX9M9CQKFNa`oq4 z#E77?0?N#Nmh_<6*?i%*{kGq+vs_h-?YSw<q|E{6J|>N87Vr8bb>CTVZ6C86+yyPA zV=ie0oPCL$P>$4gPm-51`ZkJR)q`m>T@LwGj5}0mD@)WO-GhG}PcQV}7dpe}U-fd6 z$DJ?J@KF&ZInyS;ifQUgO2)defb-}={WJ}+0S%@>M8Tx8TDnbJvD&QJVWel0Czj~+ zng#_c8Y!!6=~kb`Eir07ho%>(e=$YMniys1yF`ku8EgBD%6vFccX50vjTQSvsXJa} z$8qs++QrM{<4t&Y=Rh(tt~ns239SCQAZfg4AS+Fp=ydG_(2+na9x6;8II`8xP3H`f zdSg!=>7WMpBN@W&ZHp>7?N)Myp{k2%X;1d7?*fOz930C7;_Uiqy!<94SmfKil0&{_ zYxdiCY!jkXprOa>(8*AjS;wD^S|SmX)8{31#-#ct6<C;?L7%&UKBk3ZV`IZBmTT(L zzHRyPrBX$j#-o_0ep9WdAtWS~Qy?Kp^eLf239C6NpmWh(k4fCwY+b$-?iqjrL}LX; z3CWWZk6C=`Bm_227w47EL|l*^<(c-toZ!^JNvCE>uVJkrUHaI$y5quJ8KQH^*{t|@ z@@8*Bm0A6xRtL6}<z3dhFj*3l)7<9J{;z_`eK?~OE?<fwH>^Hp77w@@^bx;8OT+>~ z%~i9|1C(ZEeOO3dl2STOwB9^}XP#}>9&^j*snG(WDPUfrB85m{=^;<<MUh!PwZ)c~ z9;KN2QE9$5*@Z2q<H8zvrYD3XB7qJCRE9GKgb)cWtY~Z4Wce|ZWrwQ*Fkl+dfG5lZ zV#UB>Py0?xYf!-fmve?nu0>h3YCii7;T)K&S-NvctIJj1eo*?+S@8vcNji4SaijNN z(&<HE_9K^KIGg$xKj2jvoJW*k!abR#G4R2loHMF?Dpe;-HUul@-e2BhZni{7CPy*; z`+KW$!ca}vF^gL(eV)bP%*jg(g7NZ!ZmcXs*S%c8J&9X{2O?);b=x&3(FBX(lbHfz zl88?>kE%Iv9dl{&#}X%fBqqBj+LfqeVI={ruV)2)!2LZf&pGjA16xIbpgzO2vSLz$ z+9Z}r?erVE)O(T?$(bCAxDl1e=wXrCXExz$!!3R%C!4`Cen(YD$5yuRZ;S`1M`sQu zWyQ%9y&o0{O@*=vWBDV#-j4_yJ9?D*X<a;CG6^((X-cMQgwZ5{A6_ccKV}2;66Xq? z!U+rLJggcqlO`s=rz$_qVZ{RDtx2a(CDH59B~x0Q4f!_{-YiB$nMZcP(cN3Sxd9dj zQ5Mo_@+fn$0r+rxyQVYiCrV}1)l)i1sTdV`E;}RhMb|r%Jf&#uSUI9GJ1f5CUn-Id zea7~yUhWDgmU)Xe0B*PRGdBoMtuC;Vt0NIb?~A|?U<~FpA>pVz@o_>VGihZ~N(7HZ zT{9N)&CMsJpE=pm;r8~E(#=+KJkc0!Sdojv9Y_~>l)@ESSdso`-=Fl4{*+~6AqS5? zoFAO|@>)JY8;kG%>U6f-oyz@R+gsb+ulIj_iRb3V!%KeZ1zvugg_e1Zzd1KDoR+p$ zVt%D>aL7}+o0~S=dmr+91yV|akv4l|59SNpYWoUXym`pGy=|;~&IeP2?wuYV9>48j z&{xQ`lV9Yypo+^rlx~9oi)(la#@qm~1_6m8A7&ne{yA}Ppha6O?T$xGN$`kDYLZ_o zL)0cy#R~>bkIa1-JWCtZVPm2^a{3T5_Bl(2DG8|>%hEX)xV^<_CH;7wpt7Lbu2S3P zUXk*A&gCP!SZ;P9bK21WD;Jp|^TZ+YPQ&oM8d2*#s2pbb@*IYDlL)FehVV3u%^p#n zat6WtG*-#E;O88co4)l>tnH_dm04Ig#6{9YB8(e(hJP!Ej;vqKa$0d)gPI)9{cjz= z?Yp@iW$o;^YdgVAG1orA_)UFQtenuq_RaqybI)>_WwKR`aen3tdb>(W((CV8976Nw zpT)QNIWhHP*Z&vwzb359B$~&Ys~hl#3uV{;mnQrHGG*fvyk7*GyY>b0yJ2^%@}9_G zRM&EI!Bl7%t|`v6-Q3Lf?e-Qg^cW~>6Y|UDaya=&SbVDO#SWy#7oL8&>nO~%69po( zy}*FHNN_C7VwcrRENs@W0u<HmJKwowB?nrR%4PL1<|z$l*N-pB!j(VS0DGSgTak$o z)|D}HD4@w=jFKvtsWx%&#-A|4CffsiQh0yL4`ex)?y3Ier>V)jL~FhsVdJ_`d@wIP z@`7B*HJU+*f4=7_^ht1eMbc1IOs`oiE!z}0E`<I$=|0OeC5EZV>HH_pc4r3T4YQg< zY7ng*vl1`dnRj%-!2AP@mb*dqk1%KszU8sIbI|HCeJ(wAfA*lwB*y#u9IKgxn)L*} zbFAhj=3HjLzNkj%uA=KBB7UG#J95yRxxK8pkq_(aC2#A>c3IahI$Nq{<9p-JSZPfJ zm)X&b^4)vI54^H7aK{+gTl{D(G~5ftrB9MejGGE*NR_Rchdo)!rPg6#k2Qj8C<zwQ z{N~DX?rIxuMFb`d#E=0PaelcRYw3F-KEtD-+Zcw=1Kk8gJT>qfdO6I3<`>d5pS#lm z11~%hMfPl7^Ow7!e@=dPru3ifz<cB~&;NTt<H^N@q{5d;^vE_A`+wWr?VWDL|GTr@ z-TCVO{SuGjWF5>>^}U*%92!qN#RpBr>~;%q|Io%memp&D<T04bJ96iRbh@DOyF&^m z&#Z?cPa^Y&&Z+EZMD#aUpMwq)dzl=eH?ax+1~kzkD|PYo;O*hr`N8SM(TDvX4&F2X zdpA(_n_hX#tG7i6nmWr%b7Nx$SCfOryS**?X@a*EbjP(_eAbBB?^@(kh<CpC_TuR9 z?7W_Mvn0a=Bo%U%bxB3Jdr^O*T&#eElzN!gX~XU64<ElfI6Xc%KRCmf+Ow0r{ex0} zXOk-}=wiL*Y+{a$zf5PwoB8PAq*{%Q^;$wjM-(sByl!Oml1`t)s;<}DEgCi9x|LQ{ z@oJ;1cQv|POW&t_ytp+TI*gun1y=IEk#STsAG0{5v4pL9TF;-5XYRdQdrJ4Bp_-cx zGG_;8XNMn-E1}qCZa4!u=L)atFfCC!pOlNmi4N2A45U)BKP_JJ9DmI!7D>utIe_Lr z3;&;mFD8L+j?S2<;rq6!@3!(c>L$dKcF87JY*u*#Sp%&+6WOgEH(q1XF)y)@4qp+H z$V~VnF680K6JlxahI>*h6CRe4bjGwSscZlIvzPqRGgto`(I}x$qW;~z|Gzz>|8>9a z|9_e1=BD*6OxU=m6RNR@s>!oER%F2p58t+sd0XE$4z3e>TFA{OfWdWs!<3t+O=`L1 z6=hJl@NrL2Zxma3tV({E&@^Qs#VxEX4q&HicC*g10d8-31u$n%xAko!&mCghz#Gfq zw~R#k278huh`-<XcdDUdd8yh^eG$;7`i6GF$J9M2r$hRcIM6YPc&gaO+%f^{CN}ZS z@tG=%f!GNRHtr-&aVeqg6S(V{{hU*!C<XHiEkimeR89+T6?@s+U4D$*+H3$LBFrA7 z22~CRa0^4_+j1D!;0(?(>ix6QQ%i6)9!o<v>}2TU{HkR%eKA>{sl(p<PfS(~!xFj_ zo@l+38?da4Q?+yMfat%?s)d`v7^w}-e`!MVqWORc<lMu#IL{s)zf>laxT{AtZqlo9 zR~wz*fG;{-xBG1ht>$X3SB(iWbEjTgD5lx!Oy8HMLs#d%F$B4DFjd()0@Rz2x;!+C z#4bgp+M<3@a+WG{`*xm(j_?$CCKH`It~fILF^%r(nPbvdF)RY3=Am>4tChAkH6r#> zt5Z7W6AF10JVpz<n;#4Lu)3jF8WNr^-m{+fHFgEtqB4KvLUo=(Td=6VQP1Votsa9~ zb!A<uffAqvci7IKZ_N^8&e`4dZf~2*Pd41ld2WKAjC|Wm5-Z{`J7Fo1NoP(*@4W3j z>f(1XFxJbR6|1CZqqhqfES^rG*^ej<Sv+jQI?7>aPMWi5ZNNJHtp?ko`bOS!r=>%M z!Z{hL7Oj-m`JYkJyEx^w5p5F`H!Y!>qi6>Ni~6Z8+iW!ro^!stNHPaCOV&Ef%djLF zRzW0@+q-`j|15ggw{kzqVDyj{I9QNsQ7FK!!d<*%&d=FP=}lH)%Uqq8?e+usrebs& zpgAK!4h`YgyBTbL<9l|%-t~^@>}@w*wV$FJ`6-IT8ujJQU@P^Vaj%-cZ;$dU<8F^$ zwqJE0-y=(`c|F2b>U-qgsbAltkNM_Qeo~ajcsfu>p4^4$>`t${4n4)@@ZI~u*kZn! z+QS56`ElstF!Uq#=$4cDY%rUhLdWyktJz^4i89@2Fg%t*GC88Lw3%UbVV*+F?^MT1 zj{ibX6>pWSLZ5r_bwtEW46-U#9ichl%B7*L2UcjVtI|R*YkLdpxajZV28AAd4QvB> z$%cgvqf~m${L>r-x<F&@KEfSXAP+kc3Z}v3ka1Y11okdIvO>kk7;|r!4g2d)AsEr% zlEuS@VY=d=p-F%z@D79Dlup^Xo0sZ+))q@7fxDH`f%Tk*wz)r)OyAks*nrMPy)c?5 zbWN`o(xgm~wfw3R;{dszJT1GJP0fmJx|G`4bRp8TS=WQx+w!7O8d&$*AHQ)Z*F^b- zpZ?VH?L+&hJ;)WEy6HC3oHH&4!ud3zm45x%uD;r5p8vOe4)$?vEcX9yc6T<b=f8G# zwqJbp|9*+5vgM&qr0(0}&5h!SEEGF}ch7OXBa-j)F0n%k_7c5@-iS%=)e>k2+oC$g ztCm+tH8v)JNae^<(;RF{nZ!(ur84%`e^t!VrqGJ)T|q0)Fl$Voh!Or4RDx%2an;w< z!v2Tj?+@Qzoa~*yyZHXY>BZsk;rXs=D!1rbR0fq}>rH63Mtn>wul;JN^%^bGpUo?Z zYKu<kX^g{mu}aMr_w&-l%C(UbY<wBA6ubmhZ|eGHMk)a(4M59HJT|XdzT13PRL7i6 zWY{oq7IyG|%a~l>fE%OVUa}|x@BHBOJv3K?5sO0IAJei-NrF}2|M&6m98@{|L5xaW z5mb8RrOn=q2;UecWl^}h`V4<u5hjb~mV}3Vb0;uME*o`<{D_%}vSePyFrI?VPlj&% zpMC;wkf+*c<$1l}n{P@V@~m9&%P)UXi*;;>YMFdCyV&mPdf=q-C}3~Qsaj+Yt5(fh z-!L1xjXC(ccPZ4|i!cZIw;w*dJvzA9J2^Qz)EU|?_D>Jq92}n??j4=&HkSpjhlECp z@v6J9;VBWTgKset)HE;$#XS3ZW%w(J*sJJP#`5j{ndO7SH`TE$wX=}}SOLto<<UG% z`B;bgVxyoM#T?d{TYa6yCMP@mD!4Wkv4~roDO;Ulc}xZQbG$Jh-ILS9ANS4=4D(r3 zYEXBmu(6TH4&1?(HTm8v1fEI#zHpxH{g02Q2a3cWJ|64zgENzDrp4M>R|Zr!X{&hM zH3R1+pqSGk9e{VLnfv_14+qCp6y`!)5|u@*7ZHw&nyzVW1x~GFs7SM7@px7h@z#6d z6&H_GuwfE9)duh;F6tFZhbMxRC9-HnsU4+;YRli<)R`oytagN6(*PVt5GKC;*<GYd zhXkvUn(N966C)Z$O;}%_A5!=SNPdR7NAwv6ji%>if~LFWtfW6zmpoh6+{x+boMt?o z?$#(zjr^WMR70!=Cq|hJ`Bi*jowd8Au(9e_tBCU0<_ap6ci!hJD-A9$@{91xrPVi^ zNyb))`0yg46KcxlW+{sYyf8;2K0LxgCGC19NG{^T?|C{V(uF?IZ%U{X1#190<gUQC ziRrAL!nT5$f-bCHv<uCi)0VB2Xus=>CR5XnKt6mUV*6dcxClk8uidOIxeVlh$FWWd z_?}$v4XHE2=KaN(Twj=LJIg~|t+=SYC(&qsGK%7bRut_er1ouzg_jGa%l9?>VnWT1 zUK`V*wtGv1t$5{qC@w)I;e@7=3F<abAN1L)ygvDGdS0jZ>X_~M$J&dDZ;z&H380Ly z1;_7EHeukavVt(+b<>7dI<418_lkLFjYBq!NpvwHaTw9mu}sw31<$|>q1j4O9<)|1 z%!`DDO{i*HXa|(alr<48=8bU!*0xzIx4)+CoWtXDy$rnH`|lTdIQ-uE`N8{>^RwM< zyIAl9m8~q!56^Rn>7-}~gNO`;PGddCagQ)gKOSFvJU-uh`}W{X*#h<y-Mq})VY#b$ zzB$Ld&13MLYcHF#arn;H!ge)k>CwTD2S-&Dj8=-WcQ>Vji~MTJC2%Rq&SH{((|9Z` z72MMcGoqkO%(~v`cY45P&pG5@W{wxkT9wLdWWZurT^IB>=s<Jzrj}i9n;U<DkXt5H zYIM`x)BqyY6qK-f!)}2OU@ja3qNIOVjjPB2Gk+_s7#VaS%??Tt({Hs1yoJjV@THPY zY(%B~k}k3wO68knYmh4!D5Gh<S;<|8ai#iwalaQ+7H4WKl+_!TH{B*zZ(I&t4w*$# z-IBzLb(0dN*7M{_{%XV3h?`PVCq#}GH&-(PrK*ej>3OkTFp0i$`<sUO=t_9&16m;c zQz|DU+Fku`4R>8xz0vP)VHesnOG!Va<kHU9$W&me?7XQt1Hv&W3Znu*M3g45jlV)n zplXz1FJcqA*n!G3NLWG#ghh7wv3ju8ahQOvy)^o{-2~(&T2&+W<H70S_kX)MKYV}i z;p6%4>P@HTt=^R1_Pnl@a%fVuGLa%i$uOmfvL~DVw>2w#6X37V3hAU3XHlfg`P#ZB zr_r~ymF_ak^g)E(wxNLDV)eW%jdo!~qeN7%ZJ5xM4W^$!;Efk}8?19{ixofXnCt0^ z2?_%iN%cwz_|?*JKW*-6fEPM;aCddx62Dm`<82e_P_fu<{`H&A2K@1d?UH5Dm3%m{ z`vDIzH&th=t9>^8OicUyT3<ib+1%1^1D?`MGIR4D8^HRy0SvplSa|~*E5F{{Qm@N2 z#|3Jw4)Zmo8H`zs*$n#ABB)5IJp}E)C=+V7DkjZR+JwJ;v+0gyyYL1Ui2N1WvskFo zt2esDZHWUkAN_U!O(tNSsEP9j=H1z7!oU9OzcyEIN+YC|i>EU<=DWJ<rmyRUi4}{~ zEA_X{sxwB=5IhDRg{ElLS8A=!c|UB<+fQ)!9IEcmy^})?XV+#RTfK1(AF6MM`v({A zKAfHRJSY2@-ES6?;I>y=MVTl)Z)>aTO8sxX0rTCs+ICwLlD5(;&RtFA6wqdS*=GGI zLCQ}?8gG@NvkUvSmG8)Hlxw;^uGv~9Jfl=&e{cWbR7uWi;ehx-T0v|?Nl4S(rqU32 z%6>PuA$~_mN>f<9!RD?03zi}uPmgw2Z}I`TZIOhvCY_=aqP2RH_xaY6Mzof;MJtEq za;+9%M1(a$ckNw^xWbNDMByjJ!%mUgCfKN<UmPtr@5$kbqHUH&@c;fF|EDKdL`y@b zR{DShG*!gcguShN))d5M@vqxvxxjyiw+H9N(0x2Tx`oZZ77L17_zx{S)|xD7_SWoA zkHgweZSU1DKi_nocYnV9*<bdT0->-1ud~s}+cAl=uf%h-3G*v4n1K8uM(Ae}#ilBe zM*`y6x)S}=Y_q=XzdI`0o@rVJnM7;7*932{34g#fNr%FrixE$|&Ab`gyPmh2^Gh)q zjIQSWuF!S_W&XLOaoLs2?opS*Vr&X**fZ`GMfxd~#eg&&K=Y;mR5Um!3(#s+b9rfA za~X;L01*zZk0aFS`t52tXCHO$O63}APjW<dLx;lE2Moog)P~Xgzvv3|RO`<}SD*W? zJ@;67?z`^%>8p;KHHt5t*;ZL@)Ymy{jlo_G@!zGCv|PSeO3ny8r(3tP-p;bDvrQ}# zYh}Sz5?eX>OA>35yi!=T$~fLnWEp{FZQy#JL%p=fH#_b?@8;$%ILo43MsWG|mzxxo z;|Kmj@N&KW#gE#ZPbK>u=S-5)gS^NYmT(ShHJgQ-f6FBH&6Asy1MQ28K{nv__U6WJ z6U=@u?;I2uf8qGQdGVjciGjxlfZlQb|HV#crxO49qSO9*{{M?SZu}=n64A<oK;INM z!+ebbT^t2!CD7s=JJp*Ii)~;4n`LKCE+42mh$}Ae+S?s<NhgnKFNaf+O7+z%$$Ux} z=zDL<s<Nx%juK*&-gVuHnu8B0Ic;c1n%@-X`pj)%w|P^1!W7fKV?y$Ddc?*|mhxV8 z+76W2vet`LT+2OkCHF%(P@#y9$b8Y2DUoz&5-8bUdVkrB!9qH_xBEcp$|8+mR6_S5 zQ|3X_X342@kLd%m`#Sl>lGVK*nMAN&Vd1>+Mv0;?t946TEHiThY*>!S#>G}qi8AJh z?W%9j(EHyJL2*B)SvfV))VPQd+1%a{*|=s8%Q<pB@1R%Rv8y?W5lTa9dXZm|w`?Em zEn3U;VDZM>oDd+ulos|%Ni-^hlq9qVYfANAn^Q=e?DK+!D#CIBf{TT8`Cip>-KE5I zP0LnTIwY!|9b9zpp0kCz_<BBvHVdyE%)!l2s2W?P@6OjZJQSr$ugkgA>MP8&Bg&@= zO7d|2QH9!RZ8u{WkKd*wpeJ}g@tNNKD<QYA<Xjre-Wr;hthuPOWK&ct&TvW%U8>0w z7D?s0bQX??F795m%;()-d(#gdxnESz<WiWebdp8U36EGXotKufQmk%1Ex|5gF0XXj zGa{<K4>gCf7cM0ZlVpOPvzV0xuybZQ6KM<6`JtmxvY6@9((2#b_lQ57@C4_e^)F?~ z;@IDHEh&IuHtu^YX7W)DEtKvxXUg5uk#qC*%xKlsT{L19OlUmmEi<AsDQx}1>V8>9 zc0yw+#7WBgwC8%$om23$)SgGtBA7vaaoB##kq*31O&E?9L4V-=oL&e1fHAp-j#7?( zaT-_S$w>5uMr7&=I17EJ(0NN8@@p!(y$8F8T?ceA$|WetjOeY=#><!`^)eVIeTGqY z=cAO05s$($z&Y@$mC7K^hI~E9?i`TSN@bAMsOnPHC087{*E06tCTb>9N=e8b!1$$b zmge(nFv|m(wv5f+71vf!dpz4#06q!dR$wk-T)f4<7+*J~agBCeuf2e)W1KA1&hHsX zxNOk7i+Xv3Zy|~g4peu!CgqX`JnF&u{>h@Xs&u<^jrli^3gyIcel-&Ges-e0PyKGY z(ULPs`L7t6Y;RR|`tDvkUHw`Y#%MrN8F=M$H}xRzJl#A4xmbGVfUGG{J?ueKDb9*q zdNug#`$s%1>9nI}-G?}u_Mo!WeXl;X5Nzun`d8_eah<ZfqGgpz)GI!<Yl7fe8c@-z z0hxa+;JMnGy+6ESZx}tS$}8vqe8W<Aof*@RW#b++-_tQqr_IK)Jai9Wf2Wi0?x~l5 zaXXoh7C6t%!fSmi-78Brg^2!C1_^Mt^ZyROHQeSP`}v$<kL%Rj?x=@JIu^4qReN}C z`P?(AHB|r-lot1?Q*LHS$g{;3j7<3+1W{ZlR!`lsXWPn%ojY0KE??AK0liQ>&yIPK zFSVqu%mqJtsC53Klke`j4L-=_QY-5hig`yO@65%%0=Dj&I9;#$rEV>lsXe>IEN-3* z21>`DI{r=brmnfX^nII=JmC=^PR|mxRPXaxO)3_<-JM&c4w3or?u%KP#ma`MaV=KA z^eRV5%GK_5FgNBQJu@3$MT73!x=xpB-G2lknpQpP&dYi#7j^F2-iQmi7cnBJ)1LFP zu06NTL)t5!8nbWeoL|+_H-F}3V)NoZ@In}GOky^m!t4e;w2eFN|7v&I+vWI=&33!< z_5QCf^2}azqz3*&U+J0pwj<ALnA6btp6iB9z5DlgqsiCjKF_@QKT60GWd7679rM4l zx#Q;ld+|^0&i2+$=j;6c5>Is{ONetv!#+s}UO3LE@b^v*O{AFc-x0HCEdmm;c-We3 zqEoIEO;-9`PGEl@z<nyoUC^;i!`&QPT(;xh%%sEJ-tm<E&SOcU6CUoF8Z`ZKv2Qj? z0NXt$>5$6&YO1;@J;20ul}Nn@860C4pSs~!v)*bY4V+S@8o6GkT2abW(~jX<9ZZ$i zpDT$qirB9|d&2xDd*;c177tS@MCIJf!<K}*<o{M@yDa}VJKgQC^8brGM${L1xJt(a zHhjYe8*UJnD~)0*O^z-9@+HP;<pIQpy6U|o=$%JpJcH0(w?3L;?lt}}FCO+DAeM=V zHTCLk_xdJ+vIii|BJ0rg(3D*I!b-F~rF0xn36Z0cgVHm;z*fm0r{0}U6WRlvoW1n1 zPl8JthgCPH8J&lCRPQ<vRfUMbe>ILxoxuGbZOxuD`Fp*Y@yk5(<bTQ|>h)P1s+s*r zL*Op?zunoY=>IP^cfOwg_##i$BU!mp$`$qajkrfCXGDG_-5LVZ*V+C%3+W!lIKb_# zy$|=4NAx?*W6hfztGhR=ueEr6lp_8QdaR^4XLbioy?dJ*rKL;Fc4KUiguP99mMj?W zhBZ7MFx=H~b_V#~!zwcErs_33gHSozc}aa^P6(|-%$ZTN_bE63{x5jA<5?vCpUMGr zhy35{bY4{bKRaLV|NS!0pDzCw2!yW^|1(N_ZDQ07zjN|Jhvd7qpO-HXq6a^%C0JnX zmxdcRgzrNek&i_f6<BCO)4u4T>i*MOCTOW9VqF_`RF77vUcJKz3U6llpf-X;BFy%x z*{t;E<_6XyCL}b!ZR)(#|0cLOM`L<4zsODLMytwh%K|hM#QZi-4Z67jeqN%ANCn?Y zRfSa%y|thdb@lLbeXsrz?l}7T%zx&s|L!Tk$F^~o{nu%?E9?KxSO4D^dLDNUwW=cI zihvFYx~J=}6lV8dAZ>s|f7^$I{Fc%DCaJl>fAh}I%^R;jpue+4<Dg6^Hv(`m#Q9LZ z3jF^(&wTl>eX=Ie*XNA?*=%oB_Ww8W^H=%*1s*k*Ti-6aTmO@*tA2uSTlcy$f4y`S zjALD{tA*lFK$FFox3;+$(8dP9qUEOK_i>k<I}vracS?ws%Pp5!r9Qd9n5Lx=>L+Qx zCL;j`Y3XJ+@REwf31n<Cm8Wr%{byaJ?_{8vIOx(S*2P%QMpwJs6Yw}7^66SDAMcy% z5%_A+{a1YMTK~U5{71JO|EuFay4zpZ|1a@8)p6WK%km=}x!%mN-urtz=f;RE6B{y< zD{VfA#d*B`A=kb<Cb5(#?f&TBiH$aeZ*Cr!aQPi2VMK+{9$0&Sli6%IJehwz{auh< zUV03Ir3>WmX3%nMPvlfSJXty<Xi?t4ay_?!GjtT6DuqPMHt&92a;D4$zIfWyVgDp7 zq9F#BH+pcalZKZX%+n-zH3$Ba`{fg;MjqL@Au-hViINj69N#=avMFqTFJPr=m3n>g z&tAm7J`aBG(Eq-K|G&G{t;T=tbhp3ie_!OenZ2;r4!zy=otMt>E^o|()xMGj_eDGm z6;H|X+E%4vuIJ3CIhBHi?p3FHExx(ej!#s{B3!comkQ1-w0G$Sy7mLL<k`yi$R}I{ zlP}XVt9EJSsurH->X_S(U84_AOkbTBclOn-e790lH=rd2ZwaNZw%WZr{cyF<@puL- zOx--H%K=x4)y<8my%_OXootzGvkypYRVbO&z9=oyxz*(kHA>g9tu0WbO1k8t^jQ^6 zak&mHHO0e_sX0m_1>8xuJ#SW5$`{<eS<~o)jmL)x*W8q>9X{t)2gfd~+1&guqSoG_ z|BZRfB!8ga&pvnPe_NZ|+tv907dtP$>VIG2snP$eJTWZr-mt)3>fk)}(OddJv0*kA z5B-3rlnX!L<JP3poKZFBl`Jcu2J^3a=;zTx=kQ5X$=P4Cjx4UZjGkJ$WMK}tg^Ftl zt))~`8i$x9+4_U-w+t^!J#_3$NMvi--?dHMQFn3DnmIs3Frr0n8vSdT#!bC@r6QUG zN=9P8beDJjqIYkeDqt03yz?mR^y^cK+{)r%&gwHCO4!!iS+R5j4(c0aU*Em4Pn<i; z^*PYHht{q0phnYKVx@D)v=oKXdfF^w)y{$VEAQj=A-azJwG45}HA_wBOUBvkJu@cO zUH4oYL3gbwPkCF-OfugGFE#gAZ0@n#eDyPbp{F({ZL6P>I2ie6Wc}&me86|bfA7rt ze_w2Ge%1fK#6yDIk>@EP5D#g@hZlG!gq15I;L4<q>6JI2L}sbYa;!_i$0Q_@!doVf zNFPq~%kq`34wA#fo$Px_V$^s6;w~N0(DyTXaFsHdXAu~%i1uJ#NgK2}t$gCKq)PcR zm-a#>D~?Hs19|p=`Ygc{Ti!*<!KVP7{8(4CjJ+)#Qhlo=7B7(@FLFtzS3C_%IoF3w zI==$u{LmL<<S%A&{CZ$72R5nqmHlJ7%+p~DrL}0yOPjs8@?Et;9thv5YJ^8#k_Czm zHEm=`#7QVxUQ0}cq~n%JXxt(bB1ziX+-|?@b`89Xh!44+#KRo!n6T=NHid`Jko_<Y zd?!x?9TOJyKxBzh%U>6`XwD1xc+8~BdZGtE70hQZG8j`KaM?1fjwR-@c)=lPS7(BT z51JfbV*c05|6C9}R`la@m;8URIdlG}z4`V0&lh=&H}t~DcrHgYZNyeNbwqv-j_DPc zAEHrQ%H$2$H6HlEUoc?T_!-}Rmksk5ID2VK;(+$xeet6>loB!_Q`XOF<S4k`8UP^= zvN4UNxzYQL`_n9As!i-p4?d{><*#`f(zMs`N(-7->QBQ1{jY;`!>hxy;gxY|c!q{( zp<JMrj`GTLd_wh*@`bj(8MnF}lb-d&H)>buawXfrqHLwhZejGI_xjneC_S&xxHOig zaG7wmxYKx~KAXICccSm|PcNkdqHLjM8Z1>zSfUI^&B6DodBxMqLBy|?saR%-yh8c4 zK1we}EV;0CJ=o{tafWHGmBy0~zqn+{MWLP*<<$o-|IoPino%$R@xa1UssDH9e|xc6 zmH#`Pt*`R`OFSk0|L;T**V%{tV|p#$vzVv;nM_$cJmxwz8Qk7_eJV+<vfhs<4Vj}f ze$~zYtLx@VaF}JOCG_>2!T#)-`!rAeokRh962;#<i{*c3tJ|&S|JmAl@iqU?7kO4n zPh$o4d8}1R0V|El*M`pq9_j{ON`K3!ke=12dhpHMZw&x8=)vm#;l;_}$-&X#@xjH} zhmWWG2e7*fO{{cbDqYYCjb&3eWsDO~yCZcI<#z`3nu5Lm;r;u=^Na6J_m219Dah*O zn}hH7J|5Y(YZ|VQq#r3fQ7Dwa*M4$3U>Z3+`2ON}@BIPn{!eKAy!TVvd-cn|c;<f^ z#?QaEbZZutBtzYX^P&d-^S!qS_5VN7;C}YY|6ljgK>xMz-&R}j%{Q8`ryu_9VE_E$ z<LMC+_5Mpx(-OxT1v7Zpefg6*U{RUd6PKk=F~5$(&5ef6xzjVu)N^yLdhoCR+JkQw zadS~*h8v4d^Ejy}Q6{5PvyRRdWxLxF(g}@tqRfdo=+EE=a5bWsvsWLbTB4`6%9z9% ziDr;cYvyvTS8HnO%&B`n!c+v<iNU@iz8Vc@u+4qeCdtOsU#M&KGZuv&RuMhBKqA|j zPkn{Th(=?t>%V9KNHR1XDu6W_6OuC3XZ-Z`@cd%`=)>{B#mV0JJ1tti`*?Wt=Ir9l z;pvQ)w|8`+gy!M<y|)Kye)Yh8nq9y1ve^K5cX0In;^Xn*`T4=w`Nhf6$G3;a7e5}H zo*jNT?m@Hdcl|9@?uWzUH^uwv)10*Z&9>jhk{`c2*grp-Q@A<l_?s^j%!ZIio`wgK z3fb`Nu3*E1gbQg$tkH;=W>|VHX&f3lm8YXJnDs6p!cyk5(%^MbMQ2bzz;85^rF@|Z zi3-SipgEWvP!eTB76XfgBvIt*#iLB~1CFa|M>SLarPu~M&nkzjH;d?h>o#j4s6JrW z#!zQ&!M@y0of0bny!o*I!@=pryANmQJ!r}x>9tyyS)Zmcl~nXLyDzp|O}FIv(b>iR z!Rh&%!_yu#OP}7H9{zZ6+5<kJX+)-*`0eoc{NU~B-udB&;|uKL$%i)=rw2y|duIn1 zM|<BL9QEvY@2<LqPd^?XADrS!IXkF&*Vpt>8ww#0E@|4^Z2O(I-`Vj(7Kb{9Dq=+R zpy*XGiK}(A<<_SIp3)1Kb4YTjFWB~C?%_>^z!Mq^5kZip5%h@|;a^@zCs+gDXb|R7 z?+Z+v<BJhAS8vWg{BUr5asIcHgWG2Q8;>)(oVEgo`XXcYJH?r2!`HQyqgwWkI8-i) zS3M16!I47plnkjq<a`)Wk}w_eRuII_u$KM*>P=<x-Xh?L#o2X>jKiI+ypeCdfnYS| zA^gkr96T1|%Hl9bRQ>P;8w#5oGK>@|j>NgeG9Du0AtDPA&@7-cyn;y{Vkiinr?1@G zU0qME!i|<4D{Mf2vc3xgU`Qo$k^cCHGW9$PYogWm@jr*6t>GH{)hS#+qSqLfjr9F+ z{Qcou+kRbPOJpM^O7BcRJQfdl!Es&y%>hs0f&q)+rtSMX?c2XV$n$z$oQE;14w<QB za`oh&JdV=}{tB&-PFismMX>qTZ#s(H{gjf+zkrA+O`xNI$FzAL6jZx052^TLn9>Bi zD>$VjoZhQ3H8qUjMX63uCR%x_gfb-|@Bt(#^^A<BA@G<gtnR;hYmrg#vgO&7T=`n$ zXM(22!<9>a{m+=NIOne+m1e<*KagP9nbRyr;U*k9Ugz?|5%Y`Xhx+r!y`zr@7k}G( ze{}Kv;n4vK6*7=CElIS$qJa4co`E-jdKQFV)Bw<HCZT<Q-d)g#iy)#T&JrIxU#IeT zS~52pPA#MlkW7wfELmXQVKTCrRj;}(&Mtg&mYN<oRXtVJbIg;ocOOpGzk6O84d+(W zVqkiB8<A70Srq8O>fXomcL&Gkhx-}_e2oPv<JW_x-<s$+GDX~G4N>sAXp^Nh)b|)a z89kcI5d<6eLY6i^BN;3&<&9a2n1u@}mQ9^1RAU4c`h`_BYxKs11eat;!B^8Mm25x) zdn>zhPli|aS%2%x;qUl?UMDQ27cB0<3$-YbDB@Qa=AM0X|99REYa1=X-?*`75U-5u zSy!3GJrLbqtF?M_*1h=d<Ngl^=ePK`vLLi}d3td2L6@|W%`NPUu206~cOH`~)E-K; z@6eQzsWJ<7<TFchg_&H5AY%A>O?Bo%tz^5a>q;}$p7%Zl&x?3Ggg*dR+Z39jg|300 z{jxK_YqgpiYX+DS+ZU3J>F(+}`gQ;1pN0Kcz**1t5iCIT<8HKm?s%&=1&~|y%i?$2 zYJ$g{t&JJ5?v8^0ZL4mB;Z7KNDkhz+xCe)WV=hlpDrhWczwSj>WGXaNM^b38<I9kx z;3c3_JGAsDT?r6f2ok`7{CIkF+hTD@ueIPeMV&W){9&)C_h3B;O^Lr$riS0zC?-rw z6OMV6uT5$2w6mZFyyvMkb@j$_;jN3Mn8twxk)sQqM*@qfmr|lNy)_z)I5f|B&SnY? z!6Z+okY;hu!A-GgX|`%VzJrBY|BCV%ZW1)tig{XiA{Nb5U8-)b8Z(4M35#iO^`>g8 zFEP24GU901o{}iu6_X>c&%<J;2|Vkffs+qs=kEIfPsh;26>L|D_J8~EofgB*nNleo z?2d^sKq>%ox%1QhyS>wMTs?l-b=`C7%`8l(qBRRo55CtmD;`s)a*d0RB&;>rvU^XW zwfS<Vy|dkE$&?L;G;QUssfKx@1DAyv*ZYoQ$u;r!IFvVU56_SGzPrHTIJ-DMJ$(CC z8SuHK`H-=Fb8vE&d*XlD#T-ue8kO$L&6nL*JF}w#5K~%sV1DKOe5ROr)~N0&C>sC+ z&TIA?OeneuHZf-ti&&%98=BBKq;W9y&H@t0EFPA3u>O;5(tXCKvj3+9B^$;(rBB$# z9q}LS?V0;uw>n?%fBG`d3Y-urX&Pg$S3UIT^9NL(SUj|vf$$qEa6V$f?$`?uBN|08 zjCfxkM`7{sIiBp1Y(i0^cHWaXY^*>`huY>@PcWE+hWaeuvkf0U#L*Ou`$VGz2~9!C z6~E!XIlDNMJf*lpIUe&Ee%wD(c9LkQDc{0>HTn&||9jfPf9;FWu%-U7KgA?&6@dCA zxXcnAVbJ*27gtH+Tfa{(8{hhJoHV}upN$pxk)(`g0uJ9Ch=y+jVZ&!3B`sYp<-ax> zHFkqFcN*v!X#KrOr1JdVf46u1_TcElTYnrrT^oz%|MrV^cc(J{yI=4B`9jai3QXGm zi?-i}_09I?me*-}ofjLpOqU~m8{XXqJvuM^ZNJ^{U@r_I;h{Oviw9E^9_g9?)3dEt zo4>5ze}}r|wMwx9qP6vEa|6~7CnSa+h>RFXgHd(~uMaPaU#2hR7+`~<xuVocG#Ky{ zOtwqV8PE{h_ETZo-hlOw<1v-6&n66BXX@{OO&B7nMq=kxJ`(L$Ugy;#Mq<lv>&itG zw&^yFComzY05$-9?E)|XNy;ZIq@n8a%U4g-<(IEE8Xla|2~8!)5d|GxcELgz(wL?> zOT2vfR4u+#Eq)Xf2#nQghV8HbNRp(S1S3VCy_3VUgVP@mP9Y#sBoKiYPldpX4Ossl zB>a_xa7uqC3|{|^zfv=pZt#1<g9A*I0R3t1xL0)gl*QV?O;bI*;*%Pogr;(eVQMy* z7?>2$rz0|99NBfN^F$rl>dc!vX%<U1ruh}OIB~-K8gfm~?WdyW_6Dq<FfLO#<>GfD zr@<wI*CD;$qN$e&nijL?rQfl$=cTvVdBp7L`knu(v!@_tyC7!!F`}rOFAA=tO;X;c zUPLD}0!h;`i*<j7DG8`j{utNf+<L0cZEe7MLSio9HU7`@6n)=nQd;T)3$+GpyiZC8 zF85B3Ql1S*I3n+8G&V7(KRw&(Je3g1*WeQSospPH_B#cg4irqXPB=VK#Komd(d(%M zz{^g(#Cne&K&3ZB+uzxGuKwM|e|Jzcwf&tJN{J6fR4x7(91J=T2=Uu_D*Sfz^uSvy zmY9}LrFFbiTF1X-B!++E;y?Z`IL+AaaLUIt<?#B~U%4csVivt9MA8dybLSDWXj6+M zgu3%&P&*FPZGZELptk+Z9O{<eeG;fUey8Ji9m2K?u$`BWBCHZm@5v>Fh)rlrg*Z{N z37I*iBxJ=ay+xX(xMn}wdfBZJY#|%q4J!H0Jf4&i_^q7K9G-2x*qN&ndT^)>a<$m< zOahM;>TEE@=y-*l0;$AM8SiIX+b>}Ke8k5@KuF<jN@GUV5)DU0@+^hd5<d<jk7EYE zI%)GgyGGbn5Ao!Pnn_{YpbGt0u>Nl}rQ<2Q%VK%O(@S{$>&X0BFF*2oW{Nwj^d>OO z?210ydhx<xB!@lQ54Tc~kv5+cwQYAkwjVch+*zKp_>Q;Pe$*^?SbRW(X%JE1i4OEG z@idEZ&<kx&b+ilX?@1ca2o6{<if9V2$N0PRvc0)sra(wT77$6p%6&Wqd?enpt<E;A ze^2_1#BdgjV#-1Va6tMZ4dyXoN|T5MMCi>iz-TPw{+LColgM}^5?uR}&S{zwbbLSC zdhrt0&q#lo{yrixoKNFvpG@flUJLtjqo5*Qd&vhnEENxYP#~dNK_u6+p-%!xd4w9u znBi;|Km>ZLN+<kO(;Zkp6k|doIN^eX1kO|5=kS^(_)|XZ1lcb5W!u~AK8g$5wV1uJ zCJNUZ1&Upq?Mj7Cdydf%jChKNPPHnFBY0?2R_Rei6<664L|8sV-NBMo_^N?TSbxug z5sj2SBxw|Jcs<4!zA!H~9GTH6NYZ{dNl<2V9I!d1w;r?jAlN$PIN)(i@o?V7m|S0w zA%%pbWK1Ql8apo=9-O2+Aw$)IO`&6FoHoi*J~o2`&$>G=a1Kir!-r7F^nd>^7X8Qn zeTfrUve@V9WxyhKId2NuHAXA$h^6V$2@e%cJ2`o}1$nyO=H_F_)2?-6m>HrtWX+0( zH5f1&g}UGB3vT<`eIt9XG9K^hPu2gCkS}0;FQV5>z;|5DW|~rXP4LaD7h44*Z5E8w z_1X_NEqDA^4j*k6gxd5v+mC{(*y!B$R`nnEGeO|#NmUHvRUi}U=ck(+Uq>$#NhfY^ zKNXk1DcWplu@B$zC>oIn#q=>h#Y9wA>W{dP7-pzf6IHESWtc)*YxO~BAwA9_$&!d- z_?W7=3F~`lN@DnT5?!js$gfxU*GA0@q1Q4c!0{-bKvgX_0iJDbcVK;=M6?g@NGwPi z!s|f&^hf$<9gpwx7!7TEp_W~7ke>z-Cvs;CcS&OP$Fr@S?Sc^pS&Wm_9wsdU6kTO$ zr(^nI&KW}e<vNOS6XeeASFrwl#8b6Yen-<_BzY9V>w$jd_wB2V2VtUEtcN?;GKo|< zV>g-R^O^H(Yg?_@DGkw)_MWCRgVzJ|+aIgn8)nR7T$qe89}mrdmyn1!PZZ3yPP5Ph zHXhTE5lJJQmUgYTi-Kj`w!*s&>tUCK{cU)y|No$d>z1~|u`(8^(j;)-iw{uCMt|0` zt?nyW|A9xp5;)3&k%ZTm?O(}dAs#w~Zo2sxXUUHLa*@DWdUOlCIu2fs5is?5J%scI zv0U<X9^>fF5kshUBctneHXq{v-0@%3cJ~KL6D6*+o`@1{R!MudwY_<-vU7GQjJT$$ z7t#TXY3OR@2!{@tu`5xQdUocxzSw75n}soWmQbRsKcW5~@EBbhITvrgGF;sCIvsEG zG2F6KEOOhg3=e9k?K;_eFIpL(?E>f{wyYGYMgc=5Kj9G{PR|l$_wVyqp}-UwwJ>_N z)!kHrK*%Y9zmXxlz9gyS!;~bWSMwAnch&mj+^+lycf}z|@zAT%jB)yeG)bv8q-Z>0 zDUWf$^8g<0oz%-XiSs)Otn|jjAv{t>8ZK69eN^S@qOMCp_Cz2^r8(%%D&3wDtwufD z+I)2v7v<#E2BfwWP+2_J4vaGz@Hj-Xs;kh&AJ4Y7Ugq4+Cp1kN%3su8d>iGj>ZDo* ziin7js`dibf1pZ{*dGzWV|ab3e)$3ZD%o@;#Z~frL~3dBY-?+$-tVc*=Y)qg0BN7c zl3q)zV<)*f9`H1!fsCdK)+<>5kzGoj!V!y=lKmh5&lvVbk&rZ$@OpyZB2rAkm+mCY zO_mZ@J($i#8~K!Mdz)Je+IS%GOe<}tm52K;cARZxG0J4fui^{q6dOcjh*N7A@xGo0 zIt`T0`}=IGyRFpNYc_^+5@hgtEJ={n^;m&Ni(ai^%FM@!7Set;9IAKr$eQZp=ADMU zg7<4Cw6$xOMAXP7*Ksl04mQpa8rHGav#stHtiK~Ei9&dj#g{aK*P{^sP)(eb6=GKq z2;;X<Q`j}pX*~H+DarWmFF+=og}LmR@F*KotxoH|^}z(a$izHWc9GQ5N;mRsYjfvr z!BFR14P-{5XzG}g1l>4}3h`{Ky#?z7CN4)*NO*1kQXrLB!mL!*sPN5*=Xz^OW2K?S zLwMGGxsy-B4=EL+OBTaxA?fAjt9l;{ZuKQ2I;JU!JahgI=rtK9kvV^4Qos0iXTbQ2 z?dyn*84_r#TX1<l#c85S@=S&(<s%kfqQe6>lLDQ<q~uiTzFeq%ZohD+^CR4kJASwD zuy5}ag6PpuHyx-J*Y>N&xlX!{j<J)An#b+@?zr15+uH@y7msnM?YP@4+gk<HoyXzY zc1Ek4k5+rfYd?mrZR;GbSRiN}>o{j4FGRi<`a^zhGT(i(o<T57+}>$;aIORai@_dN ztWopO-Zns<ZMC-@F{h75Y2U2XiH)PMJYm{*xc9A-LunO#68QP7)pJ<An$WbbW^cP7 z@n*rgJ6`+YZmsQ-GjY3HfZcwa*4-{aZ97mO<Aa;$4BiV#BCEULj)I`R#A+2oZ5Q^^ zV8kR1RNL^Z`|4#eAbF~EB)?`cM-4{5o+uo9PID#}Q^9*tz#~yqQ(umV;@=qh6vcEj zvEirrk};;~P%jv-tQX6i?*caKeHW@++hLEK;#-fQ__lTm&rU%TDx~jFL6tZY6eNq8 ztH_7hxbLx;DWbeov*$3LkcfqP9->Zz=cpZ(CZCQ-jhMT4Whf{eSpOe%0*69LfY-m% z2~&U7FPzKK%xGH}Nnno%*!3GXUFbCpGBtR3?$sP0Fi`|*nx=ZNPym>%88^=0S@&hW zFS2Fz&`qzi`EXmYvu&LM2=qk(wDa)M?rfv|X@Tw(K-&*r8amskFk7J8Ineg2M*-a` zv~Z*S>2o*ER+uVz`rY1st|{da7|*)O6gp>Pc*pyF0k22AFInzMuUl)HCelO?>6*c| zRfNWQJhofXYnl(%6cem9;aPX5ehIL<+V;>2^r@N%{fGybdS}2nRhqNrv+lMMFK>7t z@=SB?ij#W^(M+|g%cZ+0mL{5jkOyiibc$ixDu(Ih!#!f1Z8zNN$%pCbsEOd}GxvUO zN_PuNzj(M^+S$g)k;VN${|_Il<&0QO|5<l?2iCu%F?`2E8jl$|YhL&J#jjko-`Xs2 zeMAg^T2qS1?38g#)*M7c2;97R)<t)`0h2Gsb_YD*u`qTY2~sWuj7iJ}Mx1YTVZ9%b z;8L=X!t4A`yK6H@DUGJ(FauFBbR{o^9CWw0@-T8CSh3*o2~9CiY3}&YHg)bNde+_U z!1@W1DZ7Lpx#a)*f6+^LJxL|G^n%}WW7NjZ{eSFTdvoGScK`e8QyhG6#dsGml6X$l zR*bPcW-kU8;F&m+t+7Cj=^ddadf3CQ{FQH#&yvdbO7-cNz+ii>C$mY`{9}-%R`==0 z`JK0RrIV{B$M`mVeO$Kz#Y;a;7t~MS)X!o#SyrZgw#ToRcV3FnMw-4vE~^0&Q-bcs z*ij!gqk8!x+(Gc;R%#U+)jE}C#o@O$p*ZosWNRM=>@J%vD4e7bjdR+sGfcz4AHp0t zz;<~NxV6T!4Jm@>RdSmPE;k9ax_NNsC(@uIZ#SaBP3N+Yp*Q@I+OwNN13dmd!jCKC zj!|%hqG#U(;cl|cZmPfPjIHY3#E-u`BGb$Xm<ni8+6>oeL$Tlal_e=n;6#1PjSFGh zjLBT8xNsD*Q%F}UUR>M3gEBhgbFv~F+#)8%9Zl!@xW(T|ih;5M?xO#NzO~@E4ir0! zr62eqh4I3lQ$pax7gs{Mdx2jka%sAG^yyUWMy1VHSxBQ)r6YpBvMC-F&c0=)W~gdr zsP>BUt|mMO%oJ^%BU<eSOaCifW=rj4hf=}=4MTqLB}C}fu=_c^drqfUaBDUcJ3&lI z1n(J(`PBOOvvP+&_n!~`MhG%=d;CS{X(Yp&(Ug-I_DUlm_aq{mz2LfSWryc8p#tW2 zY;dQc)o}Z2^0N7M^vm`MSbJ`RxotCj?k3he|F-FC@05VfXo7u_)wpz3zI^yZ!F8Lv z7p&B1i>M@y4}_&RWh(bj>VIVsTk-?U)yi^LDa&z88)E-Aj;UqTV6Kr#syR#L4tSNt zq1?90d1BL_jz)79FQvzsYuBK7wxnrH*Dy}m+K<>hoX9Kc0zYuRv=Tf#g#!Ra$`~aG zjTFwRK*6mxq1feX|0bIg3MaGmJRr06+&KQJIBZB{95&)hL4uvax~ugRZd2;5oO0FP zV~XHpFiAKhF>|t*+cYz@&%!vyL|Hj!3*OA!4->MrcAQ+RRnzJQv-rk&Z|-#Q!mv1h zhQYEAWU5T)A>XWKXi6fqQFi^kYCXHA#LOL}UBzrk(gn$q9Q=VS!g6eZvV6LZE1rL% zGDl7#PykPJp*RzI^UV-_-Y$oF=ROU^b3)M1@eR&PFr9+bDsVpHm|3bz_i{lXcmGEE zreVsaom|suSt%RM3+Z03<ojxy2DMD}%?;YQ2KDN&Um@Dpl)m7x!>523S)_STB5(~~ z!IvY1A*~$LQ>7?WfD((h-G5!XDK^6vz!vo1WyUPH)dm!QU55ldlJqykg<l@TH`}nD zTBTZ!XPUs(vi%Br$i{ZlgeJlxNm<RNjGxZRUko+K#>x)`r`6V-boGQ)+hyl>1JD`@ z`A;x8gCVg>n_!YsVR)-GgtzEjg%-fy*m6pd{xgy!xXElAith=F@1XBzDdF5=0Vj9- zN~kXw`a5Q5tyd_-YBC;U`?!qBJ>@rD&?IH?x=)uhg@V&=Lvh4V_4hs|5lP`B#-Eit z{Fz%Iw&~z&#Qs`kw{{lu7x=+GuMIj^LJtR(1*ff~74iTd{dnm|aI%~|;5XCfs_Ap% z6#`4Gvd@ne)!^DbjqxTNT#9V$GZxLVI7Zf9aN4`wB2+P+cXIb@W;%`eg3(HvL>Rs) z-w~+%-=5)QMP_uqM!ocGL4qtKF?uqyC@&zdSitYB@QuaM4qMWQ&ft{X`?G(|d^icF z@~bAJ(>7$Rzhdg$itQNK;j~PvuaQ;UoW6gHwpV_VJhE@+!Vk6Kf<$**J}5ZtssVr} z19H#ia}h?$sf~iNA~~A_jRJa4gUrYLq|?N>Uzr#tg9-~ys|v*n#!vDLyzGud@FDaA zI9c3>exTy6<ytZ}9o)VA&3H2MFH`>F=#K9Rig9{k>M04J;M5z!B^$=Xj}tga_#gj4 zjY0Ss`{5Q}k$VdROIcvx$4n}iZsRQKB-aUvZ?PY@oD3nBpYp@^G0RrTEfgFspgu9e zr<HvHDlPdD5U~{FzEGA#lAw<*ixhQ~cZ$<iKEV=jqkd*HI~*sxmPVYWS#<6zSiY+T z<PBDq+h>}g6`WRM|8@mYVEfWv3F>b|Pi`o-9JEG>_wl0ubzy!yrD^QP>>!e6vPl zjzPj)V*1_u#g(q|C<_ZK6Wf+_9TD-gU)T4@S#z>pF?2>LI4$R;%3a66x4hi4JtSrQ zR#f3s?);X;L|RG<PP6&4k+=37Ga|xDD<LpF8p3T{62b`^<v5AXm2DLPozrYRdV5#n zz%BIWH0#f7BJFn;eL<}-n{laO<aN$2y~>gw5KZl2<|vy<^;Q19wkt(6KYzX)>TNg{ zgg@NYQag<{myBbYq%xR|u{l4n#FyE=#ez#OSD8u@DbD2TbK1}8Ssd34{58PeRo<`K z*BA}>a%cO|dh@*E(<o+9iy)3;dh!Y<Kikcxj>$sf#m4)yWu-QeBvSidaBBAR=l0g3 zACpu>7F@;jo`&R(c*)EUl`D!=4m>{6ID08LHTM;aV(YxmrdgC`axDMw$Tm`N8U}ON zn%sF~?rtIADQXK_F5me3Wj0ilqNk!ChWUDjBFh&ElrF8{)a!fJI&uw}1WOn2Sokse zl&XjYr*8OL)eNxps`VtypweezmL(}$s<>(F@jj=P0B$#v7T%&3LPT$?GN&y5!rO43 z7Ja#NHJg!D3K4lQ#Hwj|&~BU2J|UBAZcpL)1XspgRN(}h1L7<Hf&ACM!>@iwmQx>2 zR$s)oqnDBGWj0OiY${Be4>VnDhk`n_mH={o6vPDn?8gC(L~I>isr(hM=rhf38Cv9I zoo`>-8caW0jHpjF2AaG=A4PTLb>_G>=izY_z=<FG(=5q5+venyT~Lz?CU$$D%2W+j zsVs4@`^@Vv7;Mhv%WfJ1J|X3JUso*2x$yCYowJ`SybscURXDXu4_9q|<;&Qq>iH!x zT#=M;*)@WbkbM36RX8X=0*w-94p=~7!a|wECgE$h1;u|R>kMuPoQxM)NY`Zj3cBPB z+A6!Tu#80<o}<~T#zia|Ny7{B8j}u0>)Q*CQ8(HRL*pl$y!f!UgK~39M@5l>W7|+X z^Y3W@BbHzgL%@H<_+zIYTRtjd4ESOcIcnG(-gn1l3EMR&cH(rA#qg1mDd8)b|7z5q z3_8y#^VuA3w~{MoGz_=|rEFi0W9wkg2q%_LGCv)q&BD(~l1Tk@;YV<=S+I-uwuO#r z!hB__EXfm9+O-shw3~bO_p|H5!74FUSprm)cS*!?A7;-<8O8|D8DIastNR9jnG419 z|NM_BWpL@I{yir*W-Fj<seYSnT{p|aHCymom#-sbl$UE&9W(}y$SUL#w|Rg>X-r9y z&ljbcZngcyF_}NgQ!d;T9J>m|Q;bFJF4!7Qrt6vKd1mYej4J`{MMKTS@7V^{DuGBR z6YLA_DSiF&Fx*CMl5njMe7-y*aVpJN%FerGS}!<Nv#BM9wc990IQq4>o26}0T{_b_ z-}#&C$_BQ<EK>%nn5AUKG15pKBR2Y!O7D|Rh_@+z+U@qsNSAXRv~4p6O}Y<S`-su{ zq9(-fdUAC=`P}ba_9h|%?bqv5Z#3{G-uUy?u;2eY>0Nrm>j@O<yA`pLeeN1!tFAj# z6&#Lts9JVf`<H_lOD)I9s%9+G4N^V2U7A%rTb0VEOx~qTjhKZNUBv{VTbK}wg5Au) zH>2k2T=h`s5TY(8INxA)qxrPTlJ7QQiRCS;{-CP`m(nZpVAdKtTuNm21?XHE%wm$F zzLQEFvE67`WjKr33KMJN8*u>QfRbK)A~NTJ6JH(1LXuExB_OGciQ>1iP&y09fAd*u zYAs7!Q=W?#Vio;9x+3uAgjukd{>JxRh;YfzQdZ`I7FtgH1S|R|e6H;J1>0$wQ<~o; z$Asw{_%Ia9F4*;k;a+Ed20sB`oa=$?kSR{gNm|9bO_2^wCKiE6o-QHbsVwyXUT~*g zU$E=-4UZ^(s^G(OILw#+ILvjhQB#r@o=QkM8MUB<K;sc5oS|&=0qZTLhH`WNWl=ec zQvdFb1Ul=2T~jL#B@HH(GkV3$@?Il$gHO;o<5ERATcMZ|1TyZ*w5?H!-O#(bW!6V4 ze^Mry?jPpwn`a>;DO+)h=`*Tn9&W0KIbC#6)NH|Gq4~jvW{HXgKo?Hitv^;(kkt5q z@q3UDo@UFHSSq_QK&8qlrlqik=~qLzAmr7QSo<<ui;UR9mq@}%k@nK~w`%Y7g6;6> z_=vvt@@VJe#nHSIsYqb#DzN4!Nwy@=>s(4#HruxIU62CbE~|{RTHA=jo*8x(hix2N z>Sow=H62ejVGAx(upO;|tLa0Y!{OSC+Te_#VB4-~qnc~uW&Nn4eb#}3U2Q235rI>- z#ZbFy8xWynaP8AoK<wblL?)e(`bo};;3o;a6NbD(t1WVb7(SiDARF-#wOa0l`TykJ z+I;aCIjyQXmccc&auu!QDJk^nOs79Y{5^J!hXzrhHM5umBuc3tCQxY9Ok&d=W=rFv zTBx;h5OeH)?smEt-sj$6>~*h4o_L?QHg?VBLOX|KH&CUH=%zA2MIHdg`zV0|+6<nd zR2vti!E*-A86c|sQb-(g^z7?AKoLJe4u!+|q1sPPoNQ5Tu;1%?gRv)1=B6@*bcch< zsCRlj=?&gjmVx|tOE0$2rx9HCCV&7BgA-Is9CPs{HyBQOT@MN^rHZ4G66+*ClvBBt zSFEY?$jp%etxH&oZ;Xj~m~b0SbF%fW<&0cY<`<OuIS6Qs4Xigx0BrDfOnCUrbhOmE zZ8hb%*2Isc@1m4T%0Sb@1pF|@vVnZEpwOym1X!un)fC!l3MbMjQt?^sha&lv0W=6e z&bi2pXTqa2WoCIbHpMLAlsy%Pb;u->SxD1I6!>wF&x@n7KW<Q8>P}6%E(2H4cFplU zX73^^KPI4)?sHD#-wA$SXx4GS{_G3*t5vQjVy@;C6q>c)x3Zs^K+dNNE$4q*v4XeH zcmHhFf7m?IzSBFNssCcv+}d{i7pLL8)qnUApPzq*GXY>p3|$hZbdEVZIgA*_^o~aG zN9fZTi4tO2r$Waq+&zVpuaw45D<3K)xM7*HcOZ+qiwRK*n>k7w_!Nnks8+USEDES$ zQ8z4$VI?Z$VFU9FV}-l=o&3%un=WaZij17O*IV9Ke6vZ3i@oOJNR(nywV2Ro>mjM# zp3xOWe!$Tao2L(cOsqU^nyw#@ly@|i!NxJYTcjmOX&RD}4BJRaOcE6B1V6TLd>ezQ zaE!k-KF$-84Aa^@rrlY0n41u!WW};RZCrjX%XKhg$J3BakA<{*tWE1jmc_fXW%m)~ zaD^*NOcEN91Txh4^R9j3qS>)Q4u2^g^D9T3lIembR<3p*P1K|WvIRs~^q$CCJjpxj zQ@0DJH|22$YL#5wjhVc0Chn{7amcok<LSDb_{X(M_4ue_S)Z{;k#xXG7Ay+`&b!y( zCxVzX=CgvC-h~jp3&~YJ|6Opu&GY}v`{4D5SC`&k@*OJxJy-wBb()Xrf4TLy^Z!SD z%<+#!bUFIwh)^8UNt#%eUC~iR2!peTAHGQnt1!Exk*M`|dwVO(V1q0tivKiEngeN( zO?7GQvTAJeS4GtD$7U_3BE08#Z}z-Qcd4TO|F<UV|C!I`{+IIUcYen+``@WHxAC7_ zb(?Sd|3`c#3xYZd2_2w#*_#|$R+p{T2x*`=JL1B5tBewQ9&TAzCYu0F5ME8!3T>4z z=o@pWF8uh8lu*YUtzjk1DQueh6ptAnW^A>#BwWzwO903uVKa($hfNI#7VCo|XWj>6 z`NY9dN$5)b(2|T@{R>r7EJOT~#uRNKB@pFBc^}lj(c?i{@D@aXy2KJu6D90t36?CN zbN-j$u&{V>vMA-WY$XogBsf7Vc#M7zVQ9_Rii$YPeD6vUAByx0sU#6<-X0b*<Bc8( zO{{qqM>JUo030w#SZP0CG!XlpWlb<tncWi{i<n>ul&}kY0&+PbG=}m;Fs!V{%CW7* zFR9_g{Pjudqec-{EEYg^YnT<wnp}7=9-dD=c19lb#&9(ne(0TfXK>INLvMUgf{(q) z#qfFpA3LK_XE3>e;W=~$H}Gq3a8?5EpRPvUcnrgl)w{gv_q?+b^akDj^;vK59!{?( zFc?k%4V&H>OoqT;D4XheW8T=MH|kz=29wTduiu;8l&tgKWWd`zAC8~{SDn$M*S+p{ zMsRgKx*Co>=nT$aFdXy-=cC@>y@%ikdIJ~?!TaD1CNRF}^!xl(R_A(hF&y#!L3em{ zGwQv+n83xbf98$GaOy$7*E#Kb;#Gqi==M9k%MzS*E<5i%d}=tk@J1HDP4o^vUU>Wx ze_v++o$jPJ9PnWvWbJe(C729H6aDDN-q<TaXVe>Wf}D?rmnDmnb9l~g=?(aE15dQV zNevq_G92OW>#?UBgfp+x?+xCMp*Pr=zKZpCfsg;ce>VC5rT>NSqxJi~<2n6Lv*vE| z|5~&5#{YlB$J7@WI_S?IywRAS4*&QkX$-fvZ-GBSC0(wLx1F@gzZCbic4S$VtBc{_ z=AH6GBA@kh*5ga>fP6)BvS~@ymFN8m$o<Y|9>4#{`srs?-i<TEh&()Yjk10^+3_Tl zrKdxg2GDSwcB9#bf3bf0NhfRgrTD0KN8%1lwLzo1GDcmNG1n`J;o$yLwcP&8A1WJv z4#YFUXi!EYl8lf()?LLwX>psTHr|;p*lSrkhVc%D<Ij_uD<s@6MNzRiLr1)F0{;eS z42PfIWvdm5-~Hu~e-GIMem~mX+}ZHspg-)KeZC&`;ZJa&Bs-ZPwQ|SUT}b>DP4a3d z={}e;7AB7t&hZlqXV)r|BRVSk%b-y^*x64$@jX+&@0Vh}-$&plyI0G}@=HKtD6cfF z0vaQ=cHGYI7iIpFJ{)Yl;sDBwUwrh`0e@<-WC8r~>z*4dF3^^_MEeeY{uw-x2@kF# zn#vS<A)EPOxVC;e*%W}wb2t=*rvHEzqC==W&89cce_@aO-e=5n@?Xu}uK(^d-M9MB zKjiZf^NNr=v}+34LCSavwo9?$O-Otb65oWxHzDy`g~W2XY+2_lMk`smpm6{zKgM90 z<%&gUbVIL~6^n5X>uj!D=THgK1xtvPdyX&lErSw&kfGfYLzBdLrE^<O*W!kUh{ST` zS^f&6oH0gBHU0M^+-~xJZ3+CY?|9DsQ>)dt<v-W9-}wKJ_-to$GRe9)BcO@&i4vZU z3HV#LqkSiu5wUC6EQ@nd{MIbYxCB`NzW*`9ST0vt305*M6uGD50Y34EHyF6F{swH8 zRC2~_S*LlUT=S-=aa6G^ZQBy2tt;_5!S&!%-fws7wVP(pqsrfUlHNXVpSRE3=YQby R-vIys|Nlr3?sNe90RS{ANCyA_ diff --git a/chart/charts/gitlab-runner-0.71.0.tgz b/chart/charts/gitlab-runner-0.71.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7c208e5223edaec89cfc7f30b682c9a4edd7c3d3 GIT binary patch literal 28734 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 literal 0 HcmV?d00001 diff --git a/chart/charts/gitlab-zoekt-1.4.1.tgz b/chart/charts/gitlab-zoekt-1.4.1.tgz deleted file mode 100644 index 8cff95488a739795ca4dc190368992fe90d6fddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8393 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 diff --git a/chart/charts/gitlab-zoekt-1.4.2.tgz b/chart/charts/gitlab-zoekt-1.4.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..36765395602648d5fb8e5ca4009aa572c38e83bb GIT binary patch literal 8394 zcmV;*AT{3~iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PKBhciTpmV1LH1xQF(vq>KoXvMgoT)4fegw9Rda(u#C4*=$BB z0+&R!Kon9{kj%EdzkN?V00JQRl4K>F2<IfGfO_0l-4|{ZCRB!GRR1T#8`(Gs2$$}R zOv67t=GAOAn@5L-`rl@=S^l?qaM=1&>+raBaCCh5`tbFinypty&DNiw`KVAVxe_4> z|5Nk9bCr?%7r97Gze6r4i`sB|;E*`Z{%pG6y00A{g~w?u^{o!P$8ZXsk`ov+4nD>q zo6%?j|3^s>5CH@P67B_n(S$~*o4up*jEtO!OtB4lk#poM#x{^R4yi}fB+hL*f6F~| z51e0{K)>^=u>NmJn4oxc1+ZrQAGeN<O6&iy`TFpA{XfO^0_t^uVSpg$KM~j%gk+pd z5T-1NB>Es3$N&qgwoW4-KOzSb`C#tc;Yc9AMGi6`67Fai!U!P|W&|}Tg6;-m8lrIj zbHxAZywEe}ZUf;6GGGGXj><sK{Ijd4_!;n{#7OA|J#RL&n$~%dY8{Ru38iqI7w|Vu z?i@Y%z~Iz|gLkxW=OiRT^tD>5)f|VT)<dEVEr(834+kJl!tj!X)SI=TH|{fe$x&b= z9ZLn(CTk49F=m2F#%FEdIH5xFnQN%$dTiRTgk*fu7$r3H8(uVNR8d!tCds4?w^|j~ zj}BYMuN{Dp3W<@KEoNM{;i!3}9&i*a;U0=MeEQ-5Oc<MlcoMS2zvN62n44Z0kx__# z8^$CQsNjzz@`!|;m@a7nAkgC|4Y781a<~4Dv+RyR<O2`Y9e4pfJ1~5>I#b;8SQMcr z)lX{_%sBj(dN}W9TXQ5{U`>l{<0#l}DQD3XBWZv=8Ft<cu1_w`&pZ87JHjay3Ip&Y znFuEn&qrrgHgbVoP4}Qa_C^QC`tFOo3@u^caq~e8%+o~moe+t4WVQlbWt~6Hfo{16 zuie)Mq@2LR3$vDe9Fru}eEV4s=+0aHT#3@R&2J4#^Ch*2pg=F-RL)LVB=MuPcSl4} zuan4NLs?YpHt-1r;HOXEUSWttpsSj|moIfaBuQkTbqAF&O@ve$%Hv3snq!F+)K|)f z3gh570DdH{P_R%54(!|{Bdq(8aP<!{6B4Jcxb<8wOoT-4hRh?OS_d)|26PX(q+{jU zSPqo2ffw+7fHF{ulPR4B!?S_*nY7Y1T(mun`((t<KB=n->|=vT<+$b%5IC8`V-&3F zKP3^FSOL~JE24=u{P+{RfFD?5XccpIs|Z9SDAGz`5dub%&w!588K?ls6SPC+xwI5) zDnz2l`vN*}OG4`BVX{wc)070YT6W`xMt&Q5#a0u}lDMtMsoQ~E%IsqjMNDc}(+Hta z^p{B(4m7wLaqX&J+#=`HHxrJNFkHClSf$kQJY_8vi(kMXMvsmu3b?ZzAgS^KVj6-7 zSQ7d<`E%y{vjltrojIh6iNw#0acMYb5i8YS*;WOzvg#GRtiZXtZEp+_Q%Y9q1yW?^ zJ`ghy6)?dFxn41eP=3D}IHe6poW>!M3jB;yPR#sHndU+giQ^<3pj>!nVhW|n79PdS zACxqP127iv48vQ^W>fKGp~VaENK8gFq>`dAcL03O;`DbNI%jA4H%H=MMB(g;G5J>c zBzm3a*us;jBl;{-4YJ$%<_Dn!Swms(lmOH8S5um>=fvoZ-lgJx`nwH%7GWhzH6qFw zxW+JO6BRPz*GD8Ik%zo)22QQ6?GvHAWBi6j6L)fhE@h3>-q(x0Nf@%b`Xpo{64r_5 zp%87TDHLlOb=CTfZLA<|9lUaL|79q?A>Iu}e!Bt-XKn)Ykl!mOF(F|%1CAb>PBHSe zC@R-ZucTRKe6p@uMkP~<=+>%i9eH{z5*}rVFgy>K68BV@CIYz&L)|zO3}~dJT%cC> zk%w083&lBLQQo8qqbx%zWoU&U1!W&Z;st8@a~e@)8C<oPW-I}p!5xVTnB=-8k-=7) zCBzizX*4l(rjcqw{C_CTD+8RW2_jSsA$+#4@#i>Y8hZpU;o%HMoM_sNC34uA(|O0W zgHEZ;gx`x3EtgaK_Y|kvEodEldrq~b{v|;nQ#+PxU2f|{%*O$S=t;&6k0lG0k}ypF z@h8V2<1vk>oLP+<O}G**r^2>-1&@5$Do}Lh5lR$Bn)P_D?wj{)$_-^G>crDyr$W7a zH02L6wMLY(qF$ZGb*t3!4&drBEJU@5hxK&LsU86nvX}`m&V%(G6wNeS>IECB<+F|- z$uthJE<<5?r-#cptF>97sU6#~dLYgm(M2~hV@##n#gh<I=yFV4+qTTaUpwl3zS66Z z|4GfaX!I|J-GM7V%Ey>vP5$R~^Wd<Q|9SnYdHkIJd5Wv$LQkh(hz<_hj#|4fwKnr) z2>1~_6;IK~3lkrUs?Uv>L}4SZOXe#jRRb5ke1W<L#Y|DXu8kDb1=M}m`BZyHB?*;} z7NMsULoXV$TKiM2<NHdj)Y>)a#qEX)wn;d1wZc4j)qGvsui4y9tzEN@L2bWwNn}uK z*Zvj|5uo27jZwo>fqd=De(efl*7Ixa<Nca)=mzwkc&2P&t$on^kK@+sgZ<i&PLU<D z)~>ah)7qCE*a@Um)3*+eT@}u^+A6C2&Ll`}6yutp*H!T@eEHI_xSD@=9OuA=flf+2 z9aaB#tzE0iCDoJIClc?A8Hs7b<kxl_=T(Z9af)o0EV}q`b@rRYx6mw2k8FwhVY*s= zea!zw*3UhuUS3K7aH$hIDl|ZoV^%J9gy;hSLkysikjj(S(XuB^R6%p<&E&pZ9T{8S z2*^lz(H@EN`RZHb%3aUqQIBPsszwfYi|PhTCIL_h$T{NzSR##N?0DMafiaB~cxn7H z;w18d9oKPQyE?I=hSjl%Npun$Cr~d<n}H0tp5%ABx>V>O8ruW!7Mhh4ej+9ws#Xih zx#DvE^r;SX47>PC2B)R7tKw*=o#o=)+8%uQ;v8wl?Qpc|k9>=iNiGbF5=14api{@w zbQI!#CQ~u;G2_$hrRi^yw>dVZ7#0%&@a4<4npBZqMfzX9q+CdQr=gP#DJ;?7p^1}w zmuWW3wu8}31?-W{MF|8IR+Gp#k;$Bt6O>t>!YgRiO!>QQ=t-E88Ax)2Kwyk_Fr`r< zQDixU0=s*cN>z*y$St9vg4T78wQ`A6?4P{|zoo>$Zf3VEHtcv0JMWjof;-!D>OXsz z*PYYTtL|X%*DX1cW5}=VlRjThcP)wkt^*8X<ieHl!%G2H$A7I?t;1$1{yS<NA3eu^ zPjP+v)cD5fevEZOwe-F~=a5|In}$`=K8|U$V1u;Lsn45ePscT-Wcuw}s)X`yPvA31 zo<trTz0yDFbdZe4^dr>jwbUk9ZRBVWPtrG7=?vpUId{J#B&1`ioWMBNz`M@(XvWs< zrJ6w@B4C6bNd$smQ-r@~={ke*m}2Og@&lbGO$#5WfZfqdljF2MP;Hf=QEu9v>-5IJ z(YmE-5RXNY(8wl|?JJW~F@(-jE8s1(tErp5S(#HfXDQ3Cq*B5yeZC3NLy?X1QX|m* z%jR62!<do63{rj{Yv3&0+!DB$(@2h?_HUy8Z=zNj%S^htj8*?ENM4SmYOUBRHN{TN zRx2Z>RY*n{u4AokI_GN{pFF9}Z(EoLpLKAcJlxv9*PwP?+kP<_ml%9DB{W(Gr)hku z+s@&AnR_>`WTfnB<R9m{bhvIU;*iQSDkRk0T5+tjG2#3SBh@&>DC=vV{)5p-cik1C z3X9UmyCNB7T@UuspL^A0VACm!47bD@DwswF{Q$$MD}sjRV0*cHZaM6l$(J+|_QlDW zoxshz#D?*mtSD1GBXR5&Up8bFlgi^;=<*qUNmR^Sq`=}R=0&+*AI;i@3W|Y^JgX>} zzV+FRhGkUim2jAMEX!k_EXb+on<fC-RW%@s;J?cfINP9MC48_QHo5g}2dKgBN)-1V z6-Qm=uo-4O)wI&$q>I~B0Qq!+LM|%gzi9<l*=3%D*=Wpah2MU__>xSj6@Esr?nhg( zmPyC0r}h4ZVsYzLD)n_tpIdsjT3c1ZHU7n4r@!ZLz5T_{De!7A@>u9Z%gWr!a@AKf z8teYiT?7@-e5v>I8;xFXz@p>T5*SXoNpGw6x=3~HhVHDx4CnqwVJ3<ced@*Ru# z+Ny}TKn=1gAc49}pi&}SxR3$zJ1TG=(!v?lV@GJ8R7e&Jumv9AG0xGG;cN{RM+TUJ zxUQAVwP<Z1kMoH)k;gokUt1onr&kVxs>`O<+PZvUSbv!dUu@>uva3=swTZ@9GGLT9 z3pr()4xPOL*l2(y9`dDfMgtc5Xf3EA3DxiWU1zAXaw@W7CQk4%g1bN`(9>E=pduF@ ziDXnax7paP37cSEMs-)&M4xa!Z;ewx>(yO6?fz}i!IEZKkCj3+C2?BdIc8j!vTM~h zFLuj{J=eJ7EE>~EsyeOaJSTBc#1;)tU021_RrmYbpv{oegKdS5uJGOfmj~mpR43Vj zV|QL|v(f>o>aggj)L>V};bxs*?#%^CEz}C^vl`}dxLYN=IjLNNbgt%q9ojbIyrj!o z#MgA+0QIb1k;Jray4Ee1zX~P(j<YQZ@pqg(fDWqnJ;`vRKz(c~WZO74rb5=^UR0R( z&Qsw5OicHaY{A8}%RSkcbuaUALw{QX>#jz<@r^UIIeKF*X#`oRR`!xAHSRI<Hwj!S z-y)jH^Rm}ms&WfHT1n~t+WGD0YxT9{{ZBq>dhmA8HT8e3<HK_O-*NNR^ZxHAxt91h z<;d9vCML%<-!Wd=Vbi#6Ic7snZl94eMM-=jNjuvWvO%bx#vP`M4)PWgUTN&-fX&>Q zV&vu8Hq4T&pCM9eJd$u|2B_?|5LRs5u^3!bbW@#lt<XA3<Z7o)&wMd;Hos&)kZHJV zBI^K)7`^s3bEkX3%t+bJu<d3o?gQI^_eIZg3vgpjZ;3?fiUG|3-Wp`H@9YZ4rsu|T zYx?EHH{GJPd0*8&?Q3_kZQfaTD8)Ui*8dXyKMzZDF&CXoNqi4;utxvCdUgD|sQ(WR znypvQ`u{1e!ucPW_SVckCvmmzUXo&4nV4{Y$I3h-kXk944sG~sw#D4)&10XkovDdH zz?g;MpY^RTx)uxqDdSutdyvBXMh4e<L!GOd%l9^^>1?PqscR6z0+@j$!t2~L&_L-m zga{jYelAzGzP`a(vBwS07JI~;N#?Oo!0>Ev+j0-=zpwthK!`N1x<85)V@3;9GmN;F z>;@wNY&`z6Q+OV8_HlNtxObh_1GL;$Wg~&|IzZwhhxbg#e1n$(6D0yJ^!cy)TgLAQ z_t96s;3dZ?lXy*hpO@z2>5KFV8Wi8NmpTfR@Y2R|*J*A0(&b)G<8Ss-q%>v7%%MN< z7ia`XLK&2#UZEos9>GDgStQYyB_lN!Mp))Pl)0UfJtjgx`bKHHS4d^@{kZ~^G#Obn zHAmuKOH)e^ubR`%Q2u}L-?or?_s9Qk{Pgd8ja~Pfy$8@iOM)bPq6AP$>piJqww9EN zPG25uOBKx!C_q#mVl(m;e?1qvZsPwv!f8-z{J*24)^WN1^Z3=X|Mw(U-v1+UEaoBn zX(j^IUf=_28-AyLV1<gUJj>#-!ua{oIu&*|eV9hzc6+|rzfYtWoaKnSio8q8o$??a znMqRhVJFE64L}9H>hc2gZbUL|nCPJpUhHZKgO_fa@^;@4ftN%EP+J$E*7h`jA|MB^ zk3=%f+qeZL6%QyWH?3gFx8*hk-!Uu@_JO3$rb?M!i9z`Yn>jEGhuds{+X7~`s26!| zn0nz@qV&CXy?AnwaVi#$WhuG<DKI5LF7?ZS+Bzt@F6N-C<t}Tnyv?oXe3?7>>eDCi z7zt5$xTKbBegamJ5%~v&Ig|?|iip?eM7?CTnsiNF5fm<arse{<Lwbu53USHV2#a$n zZ|)tIH~<h68MISBy!`B5ustkh1rT0<3cL5i;pJet(>TAW96<U9#5#APPO+_BQ@c~- zlSMI}pQn>P$?oi}SZB8^Os06wl4wzyjX2I#atVHYsN|&~IZCgg8#d;NlQJoik!ifN zMS5COJAdw25tvLT8K`avuk$2Y0oX0!jdF_>gL%XYus%O@X8EAHWn;1B!z89&)B*Xk z)s~Sxm$_L+@#@DLkoz8B+~8~#7>kcrfU&SbjI>r*tV$vE($r^BupcA$IlrjHsVFO= zI^5uFg`}sds-nThl8)0@&Q2-MPEuOayIQm>N4dWYuMr&cHmF@nRXym1(q^2fUI8f^ zs-Nb%E=p~_YyRnmuWG)^wIu#eH(@`@QP6AR|AW@+^7+q42d(Gxf1c!8sEjIZzRz}h zsSv(zw*#&(6ED{Z<PIRb`BoGv1=3CNl{tp_w123qLCS@%^y;6E^%lnRY}v_s_6@kX zojV~rr)ih;DHz`+q9sF%jLb8MlPKq)F0@seH9O>Pt~G5h{iJA86s-BJZxy<>+LSEX ziUp*yKg<z#Iq)iJq%-IXpy(4DoV;Nu*r9qFm^fwoG1Mn~UUD4Mq8B-uAG(>pa;J_K zuVt&OWU^EYv~U+7N~R;^n?y&yrg?k5)?7>Mf8nIahk60)>i>=oUzO|s4qrc?|L`PN zNl6#^{&ZeI-#ju&v)__0P+@V)iOM3)@;19PT55y!Dc1MS$1iReUr59oP?Vv_qrQ~O z3+F8v1JpH+S%uYHIb6m0O=i5*)2p<p+YMJZdv+a1vh#eEwO;Nd)z`yPMJe0@65JS& z{O_;2{+H?h2N(V2u66Z)N6m8lcYO5f;937a#r4?rf0aA=o{RtVwNde35(~+ZOtYgV zKRHET9ywGV-J0%7T2|+lE3V1rn18it(^;|}o6PfE$oLy6WL&$8bqTdeB7<w)3Toyn zOmFlbst-oeezH%0D}ZwJYkywS`#KTGug5gR{A-_VKWoDcWK4v(^B<)wbAzhF9AdhE z@#(fThkvQ4I$S+NsnW3BXk-hkvGJT!l$?6v5vR5zZVW+sOz&esV#nLC(z8lKZZYn| ziY^y9zJjp7-9p4A{+~@6*&{C=m;hMg|22;n&VM|9{rWlo|0LI^P0k}J2lAPtI4CsV z##^j9ALaM#CRSwmOSFE(Wd9Z!*JbP99y4?;P(JuA;Og~%&^l}_tpCG<=kLEh$+f)x zcQF4%+cpckbXwFOXgODY(heT$#oYrccsIxxT3yuNlDCx=$i>Rzrz{Ho*R2Fz#iHL- z3GkxbzMqkYRTaS%)xe8ieyj#qBA?Po^Y0xe9$q4+x+{x((T1aDezj~B5z~mulNANf z##gGRk!;T6|IODW+b<@x;l~{j?Cir%-BbThcX+(q^@ywt-0L1k#Q{n}VNYn&p}wNX zUi;-Pi!l-+1Va+2AHjBG>3)p+dwc&ks=;5^BoB6e%Hj0XMX{Tfw=bEsT;)D@5)1bq zR+gL5tQ5IcSLIf>UKlISx9!HQ=y{JV2l=n1Z^w!yG~Q^3!NOTk<>P0IyJ3sXB$>eH z`5BDb<(9R3to!1y58sclYBxf4ez`zf!<I#c+<PxVnqS(iI)5#M_un4y=zwggoYD~= zxnjR!B^3b5FJR@iHOfskI9RPRwOr3+W#K@(0st!tz4Nfy^W&~XfT4<67skoz$=9^3 z%s69o+g^`z#kcxb<NogA;@w&I`sD25!|C<q)y3Q1S@-I?+wZ(N>z)>%zg068zFE5h z+Id~vON?%n)3vXEX>ju=^{0U6zH?j+=%-KFP~{bGA+s&a6ctr>D?ojS^t|g0&pL0e zKU|$H0V)kXHaqFit)6Ajz51?q(tX%8`4b7<wWKMo%PfujE7`dDJHItnuH5j^>|A-^ zuf6kb*;~$%;x|mHV$Z!T-a6B=0c7{La*s0kmX>Wk=5NimtycSUxc}u8{~YvROZAs| z^So*JdDC#7tIwN;pEnK9uU})+aHf+UW7BZOV9%R|9}31--88(C#B0l@9y8yz0NO(4 zKVm*+AL7cI<?lWy<G(N;8S9UG<jhoh=W*weEJR*@6O+67pxK^oSNN)m*!lIfwuG<M zV=K3WZ>+eUw}gMSE#YgZxl$ReQbZZcieyYb?%#&iIbA-`lC1v*oLP39WYrf~+?B6a z@0UK>EcLhnA{%9Wmf!+w1Z|t)^|wkEMxV=8tt#hPt5S?cDV~IcPSe-x8o>I(d;99p zI{$*&eC__6`6$}(Bh;>t_}_CX@gnlD2I;FhAsHtV%<VE>NTd%+P3D+Z_^=#*Nl+AB zOgqP7ir$X=N8Xvbtp4lPtK0p=U;q0Lt@8Qbt)t_E*U$A|PjRg(>)fX7tNfk5-*4g9 zlKG0?hTEe4(|$hjYaI4qzk1laY(t+#=;V?~^^Nir7U6Qbs91}3zpAFg=Z^#Z7OoZg zKb42C|NWoV!v0V7_*wry!Sz`Bzx>_cXZ^pa{{I?^U+Obra=Ja8OFe-32k~}E<ijrh zQr)h0lG=~j9_&U;!mbV)7g}d_W^d1)@0_zd6;NbPVe!kd>!CVh#D7CV5_!ni02bz& z=AbLyt^~2zqy*>Ib`&0HNH;hr`0##FOhNyj^-j9|LHDtB%o_cF&^#`m|8j72^nCuy zlU&09;k-A5GwNX^5O&Xd!#&42VeyR9Ng!d@+k=B<>)ZN4v-KbFj><DKf;aAWuH#%H zpHiVedqM>S$Z<4-2`7<6e;>vi^#_8zfba?KgJeLW8N|p1i-3(Jp%INHK)_@1%+a3` zrUC>T%R9nRA5lhxU>+qBeeju=OffQg5ymt`0lP9ls10n7+Mb@oM-n<T(qF<%A8EzQ z5(ylI<kVAR?Ax`bU`QW_bV}_Es=KCuaLlKT_cfgRFl9a+tAA0W6(^&RieMjns)imV z68Ax<o0_2e3XcZkYN>~g$6|^i{cLgyoo=H*j}<|sC6Q2f?gBO~VnT&8PIyE`fVz** zKrlVyKhV=3Cs)nKEDYJ5`5t`aQ)^2c#ceWTx2SP3433!8UpH4EC<erHuG&W;AYlk2 zOqG)lG;-9f6dkUnR~A=N5^9C0jadmz*KvmLyD+$TJN&+L)rH;wF0U@W>z#H_q1G8d zZ&2HZ?|Z}d7axZ3edp?`(;xl-7jL1{{{jBq>!0pJ_rET$x`P2+Tsgh-%d=khbRT;C zld}(}z5Y9R^I-`6iy@r#&U?e|DGV<_O=ySebq8v&^X}Ej`%Zt@dDA=V4S(2o-u8xl zHRjukE9k&w=W5tH`Eb^`g3AwAmluOBbo!^zzv%b+Z?Ag&cir=Df9OK55B&@1e%I{} zVer0lcBZCsIv<AbFRm1PaB^|^!&UFy`ysr)I6LiL4d6`|&U&3UXI(Q@{|7iZ>-5g| z;k0w!dDqpwE{5;BSB`3Cpo8z<chxO5U#Ab9lVR_ouh2NT=nt<tC&PUhUR({cuHW|t z-F@g>^#+O{Z?7)S_Z>yfi?^ytudn*`yJi$cYAA5z;!6MhVbIM6gwt;4tk-`xfL_1A zKKBosGW%U!1^a*1?VO%>-Kqb$bF8udhewCy{NJnA;q(6QC%ImvCfywG@gBn|oCJhR z$9c;*n9pn|J7S&_q3yMgAdqk`0E{LyLS=SD5^GoYM>`;XB%aK-{b@IlG8XMd!)Kmw z=kZnpv5^Sm4b!fndtR%a*XE8J$Z5FeI?jt1(2ImrwnteO&j9-K&p$hX0-V}sd7%bZ zKUZD5`ehKD;aCQY-RO?`orn|KTj>Z{ms6C4hGqA|aq95ndv>SLMmuOOUifL(XI?`^ z5Z5Dn%bogrc0iA6+j>rJXf$!0lYm4M6vl8<0lDH@W$wq63+1-lQoKVS5}|mZaR1R% z=h*ihaL4$~IAnKoB9jqIWS+_aiTn{`Hx0ux<TRQze7wbw#R|2CK}G)*Ga+#*8kti= zS=7)oUZ-zZ3{w;=k@1Cm7|kH&O#2~ILeq^qnr|=Qe16AqE*G1DM<V59j9C)-U_G!@ znC!3uVlu&PaZEcmUgQO1Z(lhs`aF*!VGXf0MHLUhCn6Xz!u|QYb{xhh>Ex89H#ti} zloA{N(@QwVNLpO~lArv4Oqq{=38;@staGH%Oy?+K773~ZYs|PNulD7vtSEQYc({~< z&lC}j4;heK?NUdOL_Ttz1W`AvCw3RG5Hl9(4(u))bxLMHr?FbKgd-8a5-F&Ub{_l~ zBbQVtKkmxNqh%Tqf=;5;!Jo6#`jnWzbw|TcDGf5w;{u6e&SI{7e2a;l2<RB71fQW$ zekhF9!Y&}r?jqN5dJ!=0BUjUVERr-zv^v6%v7J5-dqLn7sc{;!JLJZfHcKj{M-hDs z+$fPC1ET(iW`%z9O+Y6>I5R~eDi;6d8=#5<p*|SUslzZxM^*Gv*o+jDZ;>m}3yDNt zY!xUy8vzPQbaa8f;+ls-n8_nVU#pB!>guBpyZ?*6Ppqog&njp4A;bv@8#W$EvD+(w z6(Zr`EIr9d&#p8tmFUTYlMsBXxE$wuwc-;#!ANGbGE!?!f!Z$+Sp+NzwPYd?7*QhX zN~DR6!4!{_3{A-mW^)K-XF{eVS!gNAJ>X~vX6R?uh#rJZ<B*a_nk3sz#O|U@)KlVF z5S5CvYDsD27$YAeZ&p-M9cBE|CpifYEKGt-b1RjGRH|4=8%U0mBqTi7Yu^fv3cpm- z*<9SH0I348a0bF-v5~}-t{g+Ho^)KBL1RBQs#kUt&a{po`t3U%Q_qU33%#*kke0<n z3-g$>DUc<DspyZRP>i(!biv5%SE2?qqiY((jv1ep7rv28*Ks;3aJ1+tIaYl*iX_yN z60k?a8som7=@6@#tR}NK(Wn9wQCuEL7|v34$e1=#Mx-j3>q0N`=`HmW656GvQxPFY z;?E37sWG++WTM9Ol%Dm8L_4d;rb}i}V)q$7*gewl+4&6hy8h>H5;><{keI*z!GdT? g1dHJFbENfrJzvk)*SP+F00030|B#aiNdUwE0PE|DCjbBd literal 0 HcmV?d00001 diff --git a/chart/charts/gitlab/charts/geo-logcursor/Chart.yaml b/chart/charts/gitlab/charts/geo-logcursor/Chart.yaml index ff8226eac..521189fda 100644 --- a/chart/charts/gitlab/charts/geo-logcursor/Chart.yaml +++ b/chart/charts/gitlab/charts/geo-logcursor/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: geo-logcursor -version: 8.5.2 -appVersion: v17.5.2 +version: 8.6.1 +appVersion: v17.6.1 description: GitLab Geo logcursor keywords: - gitlab diff --git a/chart/charts/gitlab/charts/gitaly/Chart.yaml b/chart/charts/gitlab/charts/gitaly/Chart.yaml index c0857d163..011719826 100644 --- a/chart/charts/gitlab/charts/gitaly/Chart.yaml +++ b/chart/charts/gitlab/charts/gitaly/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: gitaly -version: 8.5.2 -appVersion: 17.5.2 +version: 8.6.1 +appVersion: 17.6.1 description: Git RPC service for handling all the git calls made by GitLab keywords: - gitlab diff --git a/chart/charts/gitlab/charts/gitlab-exporter/Chart.yaml b/chart/charts/gitlab/charts/gitlab-exporter/Chart.yaml index 36149a2d1..45d9a87a0 100644 --- a/chart/charts/gitlab/charts/gitlab-exporter/Chart.yaml +++ b/chart/charts/gitlab/charts/gitlab-exporter/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: gitlab-exporter -version: 8.5.2 +version: 8.6.1 appVersion: 15.0.0 description: Exporter for GitLab Prometheus metrics (e.g. CI, pull mirrors) keywords: diff --git a/chart/charts/gitlab/charts/gitlab-pages/Chart.yaml b/chart/charts/gitlab/charts/gitlab-pages/Chart.yaml index a19b7ac56..5b6b1e47e 100644 --- a/chart/charts/gitlab/charts/gitlab-pages/Chart.yaml +++ b/chart/charts/gitlab/charts/gitlab-pages/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: gitlab-pages -version: 8.5.2 -appVersion: 17.5.2 +version: 8.6.1 +appVersion: 17.6.1 description: Daemon for serving static websites from GitLab projects keywords: - gitlab diff --git a/chart/charts/gitlab/charts/gitlab-shell/Chart.yaml b/chart/charts/gitlab/charts/gitlab-shell/Chart.yaml index 422c6befd..b05e62cf6 100644 --- a/chart/charts/gitlab/charts/gitlab-shell/Chart.yaml +++ b/chart/charts/gitlab/charts/gitlab-shell/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: gitlab-shell -version: 8.5.2 +version: 8.6.1 appVersion: 14.39.0 description: sshd for Gitlab keywords: diff --git a/chart/charts/gitlab/charts/gitlab-shell/templates/configmap.yml b/chart/charts/gitlab/charts/gitlab-shell/templates/configmap.yml index e5f808d2d..de5d51bde 100644 --- a/chart/charts/gitlab/charts/gitlab-shell/templates/configmap.yml +++ b/chart/charts/gitlab/charts/gitlab-shell/templates/configmap.yml @@ -99,6 +99,9 @@ data: {{- end }} lfs: pure_ssh_protocol: {{ .Values.config.lfs.pureSSHProtocol }} + pat: + enabled: {{ .Values.config.pat.enabled }} + allowed_scopes: {{- .Values.config.pat.allowedScopes | toYaml | nindent 8 }} krb5.conf: | {{- .Values.config.gssapi.krb5Config | nindent 4 }} # Leave this here - This line denotes end of block to the parser. diff --git a/chart/charts/gitlab/charts/gitlab-shell/values.schema.json b/chart/charts/gitlab/charts/gitlab-shell/values.schema.json index 5eb139d47..df60280a4 100644 --- a/chart/charts/gitlab/charts/gitlab-shell/values.schema.json +++ b/chart/charts/gitlab/charts/gitlab-shell/values.schema.json @@ -156,6 +156,20 @@ }, "title": "LFS related settings", "type": "object" + }, + "pat": { + "properties": { + "enabled": { + "title": "Enable PAT using SSH", + "type": "boolean" + }, + "allowedScopes": { + "title": "An array of scopes allowed for PATs generated with SSH", + "type": "array" + } + }, + "title": "Personal access token (PAT) related settings", + "type": "object" } }, "required": [ diff --git a/chart/charts/gitlab/charts/gitlab-shell/values.yaml b/chart/charts/gitlab/charts/gitlab-shell/values.yaml index c9991b6b2..de740f12d 100644 --- a/chart/charts/gitlab/charts/gitlab-shell/values.yaml +++ b/chart/charts/gitlab/charts/gitlab-shell/values.yaml @@ -150,6 +150,9 @@ config: servicePrincipalName: "" lfs: pureSSHProtocol: false + pat: + enabled: true + allowedScopes: [] ## Allow to overwrite under which User and Group the Pod will be running. securityContext: diff --git a/chart/charts/gitlab/charts/kas/Chart.yaml b/chart/charts/gitlab/charts/kas/Chart.yaml index 6e187def0..da9ed96bc 100644 --- a/chart/charts/gitlab/charts/kas/Chart.yaml +++ b/chart/charts/gitlab/charts/kas/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: kas -version: 8.5.2 -appVersion: 17.5.2 +version: 8.6.1 +appVersion: 17.6.1 description: GitLab Agent Server keywords: - agent diff --git a/chart/charts/gitlab/charts/mailroom/Chart.yaml b/chart/charts/gitlab/charts/mailroom/Chart.yaml index 0a39f4474..0d158ca93 100644 --- a/chart/charts/gitlab/charts/mailroom/Chart.yaml +++ b/chart/charts/gitlab/charts/mailroom/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: mailroom -version: 8.5.2 -appVersion: v17.5.2 +version: 8.6.1 +appVersion: v17.6.1 description: Handling incoming emails keywords: - gitlab diff --git a/chart/charts/gitlab/charts/mailroom/templates/deployment.yaml b/chart/charts/gitlab/charts/mailroom/templates/deployment.yaml index 24e227ea8..82968a527 100644 --- a/chart/charts/gitlab/charts/mailroom/templates/deployment.yaml +++ b/chart/charts/gitlab/charts/mailroom/templates/deployment.yaml @@ -28,6 +28,9 @@ spec: {{- include "gitlab.podLabels" . | nindent 8 }} annotations: checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} + {{- range $key, $value := .Values.annotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} spec: {{- if .Values.tolerations }} tolerations: diff --git a/chart/charts/gitlab/charts/mailroom/values.yaml b/chart/charts/gitlab/charts/mailroom/values.yaml index 98f68d97c..4bdad07c3 100644 --- a/chart/charts/gitlab/charts/mailroom/values.yaml +++ b/chart/charts/gitlab/charts/mailroom/values.yaml @@ -16,6 +16,8 @@ init: cpu: 50m containerSecurityContext: {} +annotations: {} + # Tolerations for pod scheduling tolerations: [] diff --git a/chart/charts/gitlab/charts/migrations/Chart.yaml b/chart/charts/gitlab/charts/migrations/Chart.yaml index 9dec57d4e..ec42ef28a 100644 --- a/chart/charts/gitlab/charts/migrations/Chart.yaml +++ b/chart/charts/gitlab/charts/migrations/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: migrations -version: 8.5.2 -appVersion: v17.5.2 +version: 8.6.1 +appVersion: v17.6.1 description: Database migrations and other versioning tasks for upgrading Gitlab keywords: - gitlab diff --git a/chart/charts/gitlab/charts/praefect/Chart.yaml b/chart/charts/gitlab/charts/praefect/Chart.yaml index a29c54492..58d02e8ab 100644 --- a/chart/charts/gitlab/charts/praefect/Chart.yaml +++ b/chart/charts/gitlab/charts/praefect/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: praefect -version: 8.5.2 -appVersion: 17.5.2 +version: 8.6.1 +appVersion: 17.6.1 description: Praefect is a router and transaction manager for Gitaly, and a required component for running a Gitaly Cluster. keywords: diff --git a/chart/charts/gitlab/charts/sidekiq/Chart.yaml b/chart/charts/gitlab/charts/sidekiq/Chart.yaml index 8bdfc1f2e..b18430f92 100644 --- a/chart/charts/gitlab/charts/sidekiq/Chart.yaml +++ b/chart/charts/gitlab/charts/sidekiq/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: sidekiq -version: 8.5.2 -appVersion: v17.5.2 +version: 8.6.1 +appVersion: v17.6.1 description: Gitlab Sidekiq for asynchronous task processing in rails keywords: - gitlab diff --git a/chart/charts/gitlab/charts/spamcheck/Chart.yaml b/chart/charts/gitlab/charts/spamcheck/Chart.yaml index a5bd88b83..38c3c32a4 100644 --- a/chart/charts/gitlab/charts/spamcheck/Chart.yaml +++ b/chart/charts/gitlab/charts/spamcheck/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: spamcheck -version: 8.5.2 +version: 8.6.1 appVersion: 1.2.3 description: GitLab Anti-Spam Engine keywords: diff --git a/chart/charts/gitlab/charts/toolbox/Chart.yaml b/chart/charts/gitlab/charts/toolbox/Chart.yaml index 09de07e7e..14c4c16d0 100644 --- a/chart/charts/gitlab/charts/toolbox/Chart.yaml +++ b/chart/charts/gitlab/charts/toolbox/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: toolbox -version: 8.5.2 -appVersion: v17.5.2 +version: 8.6.1 +appVersion: v17.6.1 description: For manually running rake tasks through kubectl keywords: - gitlab diff --git a/chart/charts/gitlab/charts/webservice/Chart.yaml b/chart/charts/gitlab/charts/webservice/Chart.yaml index ddb8259db..e8bd7bdeb 100644 --- a/chart/charts/gitlab/charts/webservice/Chart.yaml +++ b/chart/charts/gitlab/charts/webservice/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: webservice -version: 8.5.2 -appVersion: v17.5.2 +version: 8.6.1 +appVersion: v17.6.1 description: HTTP server for Gitlab keywords: - gitlab diff --git a/chart/charts/registry/Chart.yaml b/chart/charts/registry/Chart.yaml index b882dd0b6..e98ebca5c 100644 --- a/chart/charts/registry/Chart.yaml +++ b/chart/charts/registry/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: registry version: 0.7.0 -appVersion: 'v4.10.0-gitlab' +appVersion: 'v4.13.0-gitlab' description: Stateless, highly scalable application that stores and lets you distribute container images details: Container Registry component of GitLab diff --git a/chart/charts/registry/templates/_database.tpl b/chart/charts/registry/templates/_database.tpl index 1168b6f84..25af0ab05 100644 --- a/chart/charts/registry/templates/_database.tpl +++ b/chart/charts/registry/templates/_database.tpl @@ -54,6 +54,22 @@ database: maxjobretries: {{ .Values.database.backgroundMigrations.maxJobRetries }} {{- end }} {{- end }} + {{- if .Values.database.loadBalancing.enabled }} + loadbalancing: + enabled: {{ .Values.database.loadBalancing.enabled }} + {{- if .Values.database.loadBalancing.nameserver }} + {{- if .Values.database.loadBalancing.nameserver.host }} + nameserver: {{ .Values.database.loadBalancing.nameserver.host | quote }} + {{- end }} + {{- if .Values.database.loadBalancing.nameserver.port }} + port: {{ .Values.database.loadBalancing.nameserver.port | int }} + {{- end }} + {{- end }} + record: {{ .Values.database.loadBalancing.record | required "`database.loadBalancing` requires `record` to be provided." | quote }} + {{- if .Values.database.loadBalancing.replicaCheckInterval }} + replicacheckinterval: {{ .Values.database.loadBalancing.replicaCheckInterval | quote }} + {{- end }} + {{- end }} {{- end }} {{- end -}} diff --git a/chart/charts/registry/templates/_helpers.tpl b/chart/charts/registry/templates/_helpers.tpl index 38f203cd8..5cab00721 100644 --- a/chart/charts/registry/templates/_helpers.tpl +++ b/chart/charts/registry/templates/_helpers.tpl @@ -227,3 +227,14 @@ affinity: {{- end -}} {{- end -}} {{- end }} + +{{/* +Render the standard labels for resources related to the registry migration. +These differ from the standard labels so the migration related Pod's are not +matched by the registry PDB and Deployment selectors. +*/}} +{{- define "registry.migration.standardLabels" -}} +{{- $labels := (include "gitlab.standardLabels" .) | fromYaml }} +{{- $_ := set $labels "app" "registry-migrations" }} +{{- toYaml $labels }} +{{- end -}} diff --git a/chart/charts/registry/templates/migrations-job.yaml b/chart/charts/registry/templates/migrations-job.yaml index b81d5edb3..34d27a0b1 100644 --- a/chart/charts/registry/templates/migrations-job.yaml +++ b/chart/charts/registry/templates/migrations-job.yaml @@ -7,7 +7,7 @@ metadata: name: {{ template "registry.migrations.jobname" . }} namespace: {{ .Release.Namespace }} labels: - {{- include "gitlab.standardLabels" . | nindent 4 }} + {{- include "registry.migration.standardLabels" . | nindent 4 }} {{- include "gitlab.commonLabels" . | nindent 4 }} {{- if .Values.database.migrations.annotations }} annotations: @@ -27,7 +27,7 @@ spec: {{- end }} {{- end }} labels: - {{- include "gitlab.standardLabels" . | nindent 8 }} + {{- include "registry.migration.standardLabels" . | nindent 8 }} {{- include "gitlab.commonLabels" . | nindent 8 }} {{- include "gitlab.podLabels" . | nindent 8 }} spec: diff --git a/chart/charts/registry/values.yaml b/chart/charts/registry/values.yaml index 6289c4ea0..919dbc7d6 100644 --- a/chart/charts/registry/values.yaml +++ b/chart/charts/registry/values.yaml @@ -1,6 +1,6 @@ image: repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-container-registry - tag: 'v4.10.0-gitlab' + tag: 'v4.13.0-gitlab' # pullPolicy: IfNotPresent # pullSecrets: [] @@ -400,6 +400,11 @@ database: name: registry sslmode: disable ssl: {} + # Load balancing settings + # WARNING: This is an experimental feature and must not be used in production. + # https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/configuration.md#loadbalancing + loadBalancing: + enabled: false migrations: enabled: true activeDeadlineSeconds: 3600 diff --git a/chart/doc/charts/gitlab/gitlab-shell/index.md b/chart/doc/charts/gitlab/gitlab-shell/index.md index cc7b30b2a..746454e10 100644 --- a/chart/doc/charts/gitlab/gitlab-shell/index.md +++ b/chart/doc/charts/gitlab/gitlab-shell/index.md @@ -36,7 +36,7 @@ controlled by `global.shell.port`. | Parameter | Default | Description | |----------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `affinity` | `{}` | [Affinity rules](../index.md#affinity) for pod assignment | +| `affinity` | `{}` | [Affinity rules](../index.md#affinity) for pod assignment | | `annotations` | | Pod annotations | | `podLabels` | | Supplemental Pod labels. Will not be used for selectors. | | `common.labels` | | Supplemental labels that are applied to all objects created by this chart. | @@ -51,13 +51,15 @@ controlled by `global.shell.port`. | `config.ciphers` | `[aes128-gcm@openssh.com, chacha20-poly1305@openssh.com, aes256-gcm@openssh.com, aes128-ctr, aes192-ctr, aes256-ctr]` | Specify the ciphers allowed. | | `config.kexAlgorithms` | `[curve25519-sha256, curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group14-sha256, diffie-hellman-group14-sha1]` | Specifies the available KEX (Key Exchange) algorithms. | | `config.macs` | `[hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha2-256, hmac-sha2-512, hmac-sha1]` | Specifies the available MAC (message authentication code algorithms. | -| `config.publicKeyAlgorithms` | `[]` | Custom list of public key algorithms. If empty, the default algorithms are used. | +| `config.publicKeyAlgorithms` | `[]` | Custom list of public key algorithms. If empty, the default algorithms are used. | | `config.gssapi.enabled` | `false` | Enable GSS-API support for the `gitlab-sshd` daemon | | `config.gssapi.keytab.secret` | | The name of a Kubernetes secret holding the keytab for the gssapi-with-mic authentication method | | `config.gssapi.keytab.key` | `keytab` | Key holding the keytab in the Kubernetes secret | | `config.gssapi.krb5Config` | | Content of the `/etc/krb5.conf` file in the GitLab Shell container | | `config.gssapi.servicePrincipalName` | | The Kerberos service name to be used by the `gitlab-sshd` daemon | -| `config.lfs.pureSSHProtocol` | `false` | Enable LFS Pure SSH protocol support | +| `config.lfs.pureSSHProtocol` | `false` | Enable LFS Pure SSH protocol support | +| `config.pat.enabled` | `true` | Enable PAT using SSH | +| `config.pat.allowedScopes` | `[]` | An array of scopes allowed for PATs generated with SSH | | `opensshd.supplemental_config` | | Supplemental configuration, appended to `sshd_config`. Strict alignment to [man page](https://manpages.debian.org/bookworm/openssh-server/sshd_config.5.en.html) | | `deployment.livenessProbe.initialDelaySeconds` | 10 | Delay before liveness probe is initiated | | `deployment.livenessProbe.periodSeconds` | 10 | How often to perform the liveness probe | @@ -93,10 +95,10 @@ controlled by `global.shell.port`. | `image.tag` | `master` | Shell image tag | | `init.image.repository` | | initContainer image | | `init.image.tag` | | initContainer image tag | -| `init.containerSecurityContext` | | initContainer specific [securityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#securitycontext-v1-core) | -| `init.containerSecurityContext.allowPrivilegeEscalation` | `false` | initContainer specific: Controls whether a process can gain more privileges than its parent process | -| `init.containerSecurityContext.runAsNonRoot` | `true` | initContainer specific: Controls whether the container runs with a non-root user | -| `init.containerSecurityContext.capabilities.drop` | `[ "ALL" ]` | initContainer specific: Removes [Linux capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html) for the container | +| `init.containerSecurityContext` | | initContainer specific [securityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#securitycontext-v1-core) | +| `init.containerSecurityContext.allowPrivilegeEscalation` | `false` | initContainer specific: Controls whether a process can gain more privileges than its parent process | +| `init.containerSecurityContext.runAsNonRoot` | `true` | initContainer specific: Controls whether the container runs with a non-root user | +| `init.containerSecurityContext.capabilities.drop` | `[ "ALL" ]` | initContainer specific: Removes [Linux capabilities](https://man7.org/linux/man-pages/man7/capabilities.7.html) for the container | | `keda.enabled` | `false` | Use [KEDA](https://keda.sh/) `ScaledObjects` instead of `HorizontalPodAutoscalers` | | `keda.pollingInterval` | `30` | The interval to check each trigger on | | `keda.cooldownPeriod` | `300` | The period to wait after the last trigger reported active before scaling the resource back to 0 | @@ -112,7 +114,7 @@ controlled by `global.shell.port`. | `priorityClassName` | | [Priority class](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/) assigned to pods. | | `replicaCount` | `1` | Shell replicas | | `serviceLabels` | `{}` | Supplemental service labels | -| `service.allocateLoadBalancerNodePorts` | Not set, to use Kubernetes default value. | Allows to disable NodePort allocation on LoadBalancer service, see the [documentation](https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-nodeport-allocation) | +| `service.allocateLoadBalancerNodePorts` | Not set, to use Kubernetes default value. | Allows to disable NodePort allocation on LoadBalancer service, see the [documentation](https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-nodeport-allocation) | | `service.externalTrafficPolicy` | `Cluster` | Shell service external traffic policy (Cluster or Local) | | `service.internalPort` | `2222` | Shell internal port | | `service.nodePort` | | Sets shell nodePort if set | @@ -120,11 +122,11 @@ controlled by `global.shell.port`. | `service.type` | `ClusterIP` | Shell service type | | `service.loadBalancerIP` | | IP address to assign to LoadBalancer (if supported) | | `service.loadBalancerSourceRanges` | | List of IP CIDRs allowed access to LoadBalancer (if supported) | -| `serviceAccount.annotations` | `{}` | ServiceAccount annotations | -| `serviceAccount.automountServiceAccountToken` | `false` | Indicates whether or not the default ServiceAccount access token should be mounted in pods | -| `serviceAccount.create` | `false` | Indicates whether or not a ServiceAccount should be created | -| `serviceAccount.enabled` | `false` | Indicates whether or not to use a ServiceAccount | -| `serviceAccount.name` | | Name of the ServiceAccount. If not set, the full chart name is used | +| `serviceAccount.annotations` | `{}` | ServiceAccount annotations | +| `serviceAccount.automountServiceAccountToken` | `false` | Indicates whether or not the default ServiceAccount access token should be mounted in pods | +| `serviceAccount.create` | `false` | Indicates whether or not a ServiceAccount should be created | +| `serviceAccount.enabled` | `false` | Indicates whether or not to use a ServiceAccount | +| `serviceAccount.name` | | Name of the ServiceAccount. If not set, the full chart name is used | | `securityContext.fsGroup` | `1000` | Group ID under which the pod should be started | | `securityContext.runAsUser` | `1000` | User ID under which the pod should be started | | `securityContext.fsGroupChangePolicy` | | Policy for changing ownership and permission of the volume (requires Kubernetes 1.23) | @@ -137,7 +139,7 @@ controlled by `global.shell.port`. | `sshDaemon` | `openssh` | Selects which SSH daemon would be run, possible values (`openssh`, `gitlab-sshd`) | | `tolerations` | `[]` | Toleration labels for pod assignment | | `traefik.entrypoint` | `gitlab-shell` | When using traefik, which traefik entrypoint to use for GitLab Shell. Defaults to `gitlab-shell` | -| `traefik.tcpMiddlewares` | `[]` | When using traefik, which TCP Middlewares to add to IngressRouteTCP resource. No middlewares by default | +| `traefik.tcpMiddlewares` | `[]` | When using traefik, which TCP Middlewares to add to IngressRouteTCP resource. No middlewares by default | | `workhorse.serviceName` | `webservice` | Workhorse service name (by default, Workhorse is a part of the webservice Pods / Service) | | `metrics.enabled` | `false` | If a metrics endpoint should be made available for scraping (requires `sshDaemon=gitlab-sshd`). | | `metrics.port` | `9122` | Metrics endpoint port | diff --git a/chart/doc/charts/gitlab/mailroom/index.md b/chart/doc/charts/gitlab/mailroom/index.md index 82ffa038f..d87cd30ae 100644 --- a/chart/doc/charts/gitlab/mailroom/index.md +++ b/chart/doc/charts/gitlab/mailroom/index.md @@ -31,6 +31,8 @@ init: requests: cpu: 50m +annotations: {} + # Tolerations for pod scheduling tolerations: [] affinity: {} @@ -81,6 +83,7 @@ serviceAccount: | Parameter | Description | Default | | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | | `affinity` | `{}` | [Affinity rules](../index.md#affinity) for pod assignment | +| `annotations` | Pod annotations. | `{}` | | `deployment.strategy` | Allows one to configure the update strategy utilized by the deployment | `{}` | | `enabled` | Mailroom enablement flag | `true` | | `hpa.behavior` | Behavior contains the specifications for up- and downscaling behavior (requires `autoscaling/v2beta2` or higher) | `{scaleDown: {stabilizationWindowSeconds: 300 }}` | diff --git a/chart/doc/charts/globals.md b/chart/doc/charts/globals.md index 8e3e3e7d4..123be6d1c 100644 --- a/chart/doc/charts/globals.md +++ b/chart/doc/charts/globals.md @@ -1643,8 +1643,8 @@ kubectl create secret generic <secret_object_name> --from-literal=secretKey=<duo ### OmniAuth -GitLab can leverage OmniAuth to allow users to sign in using Twitter, GitHub, Google, -and other popular services. Expanded documentation can be found in the [OmniAuth documentation](https://docs.gitlab.com/ee/integration/omniauth.html) +GitLab can leverage OmniAuth to allow users to sign in using GitHub, Google, +and other popular services. Expanded documentation can be found in the [OmniAuth documentation](https://docs.gitlab.com/ee/integration/omniauth.html#configure-common-settings) for GitLab. ```yaml @@ -1666,20 +1666,20 @@ omniauth: # - name: group_saml ``` -| Name | Type | Default | Description | -|:------------------------- |:-------:|:----------- |:----------- | -| `allowBypassTwoFactor` | | | Allows users to log in with the specified providers without two factor authentication. Can be set to `true`, `false`, or an array of providers. See [Bypassing two factor authentication](https://docs.gitlab.com/ee/integration/omniauth.html#bypassing-two-factor-authentication). | -| `allowSingleSignOn` | Array | `['saml']` | Enable the automatic creation of accounts when signing in with OmniAuth. Input the [name of the OmniAuth Provider](https://docs.gitlab.com/ee/integration/omniauth.html#supported-providers). | -| `autoLinkLdapUser` | Boolean | `false` | Can be used if you have LDAP / ActiveDirectory integration enabled. When enabled, users automatically created through OmniAuth will be linked to their LDAP entry as well. | -| `autoLinkSamlUser` | Boolean | `false` | Can be used if you have SAML integration enabled. When enabled, users automatically created through OmniAuth will be linked to their SAML entry as well. | -| `autoLinkUser` | | | Allows users authenticating via an OmniAuth provider to be automatically linked to a current GitLab user if their emails match. Can be set to `true`, `false`, or an array of providers. | -| `autoSignInWithProvider` | | `nil` | Single provider name allowed to automatically sign in. This should match the name of the provider, such as `saml` or `google_oauth2`. | -| `blockAutoCreatedUsers` | Boolean | `true` | If `true` auto created users will be blocked by default and will have to be unblocked by an administrator before they are able to sign in. | -| `enabled` | Boolean | `false` | Enable / disable the use of OmniAuth with GitLab. | -| `externalProviders` | | `[]` | You can define which OmniAuth providers you want to be `external`, so that all users **creating accounts, or logging in via these providers** will be unable to access internal projects. You will need to use the full name of the provider, like `google_oauth2` for Google. See [Configure OmniAuth Providers as External](https://docs.gitlab.com/ee/integration/omniauth.html#configure-omniauth-providers-as-external). | -| `providers` | | `[]` | [See below](#providers). | -| `syncProfileAttributes` | | `['email']` | List of profile attributes to sync from the provider upon login. See [Keep OmniAuth user profiles up to date](https://docs.gitlab.com/ee/integration/omniauth.html#keep-omniauth-user-profiles-up-to-date) for options. | -| `syncProfileFromProvider` | | `[]` | List of provider names that GitLab should automatically sync profile information from. Entries should match the name of the provider, such as `saml` or `google_oauth2`. See [Keep OmniAuth user profiles up to date](https://docs.gitlab.com/ee/integration/omniauth.html#keep-omniauth-user-profiles-up-to-date). | +| Name | Type | Default | +|:------------------------- |:-------:|:----------- | +| `allowBypassTwoFactor` | Boolean or Array | `false` | +| `allowSingleSignOn` | Boolean or Array | `['saml']` | +| `autoLinkLdapUser` | Boolean | `false` | +| `autoLinkSamlUser` | Boolean | `false` | +| `autoLinkUser` | Boolean or Array | `false` | +| `autoSignInWithProvider` | | `nil` | +| `blockAutoCreatedUsers` | Boolean | `true` | +| `enabled` | Boolean | `false` | +| `externalProviders` | | `[]` | +| `providers` | | `[]` | +| `syncProfileAttributes` | | `['email']` | +| `syncProfileFromProvider` | | `[]` | #### providers diff --git a/chart/doc/charts/registry/index.md b/chart/doc/charts/registry/index.md index f9d7c6d8d..7f7de4421 100644 --- a/chart/doc/charts/registry/index.md +++ b/chart/doc/charts/registry/index.md @@ -76,7 +76,7 @@ registry: interval: 24h dryrun: false image: - tag: 'v4.10.0-gitlab' + tag: 'v4.13.0-gitlab' pullPolicy: IfNotPresent annotations: service: @@ -186,7 +186,7 @@ If you chose to deploy this chart as a standalone, remove the `registry` at the | `image.pullPolicy` | | Pull policy for the registry image | | `image.pullSecrets` | | Secrets to use for image repository | | `image.repository` | `registry.gitlab.com/gitlab-org/build/cng/gitlab-container-registry` | Registry image | -| `image.tag` | `v4.10.0-gitlab` | Version of the image to use | +| `image.tag` | `v4.13.0-gitlab` | Version of the image to use | | `init.image.repository` | | initContainer image | | `init.image.tag` | | initContainer image tag | | `init.containerSecurityContext` | | initContainer specific [securityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#securitycontext-v1-core) | @@ -241,6 +241,11 @@ If you chose to deploy this chart as a standalone, remove the `registry` at the | `database.pool.maxopen` | `0` | The maximum number of open connections to the database. If `maxopen` is less than `maxidle`, then `maxidle` is reduced to match the `maxopen` limit. Zero or not specified means unlimited open connections. | | `database.pool.maxlifetime` | `0` | The maximum amount of time a connection may be reused. Expired connections may be closed lazily before reuse. Zero or not specified means unlimited reuse. | | `database.pool.maxidletime` | `0` | The maximum amount of time a connection may be idle. Expired connections may be closed lazily before reuse. Zero or not specified means unlimited duration. | +| `database.loadBalancing.enabled` | `false` | Enable database load balancing. This is an experimental feature and must not be used in production environments. | +| `database.loadBalancing.nameserver.host` | `localhost` | The host of the nameserver to use for looking up the DNS record. | +| `database.loadBalancing.nameserver.port` | `8600` | The port of the nameserver to use for looking up the DNS record. | +| `database.loadBalancing.record` | | The SRV record to look up. This option is required for service discovery to work. | +| `database.loadBalancing.replicaCheckInterval` | `1m` | The minimum amount of time between checking the status of a replica. | | `database.migrations.enabled` | `true` | Enable the migrations job to automatically run migrations upon initial deployment and upgrades of the Chart. Note that migrations can also be run manually from within any running Registry pods. | | `database.migrations.activeDeadlineSeconds` | `3600` | Set the [activeDeadlineSeconds](https://kubernetes.io/docs/concepts/workloads/controllers/job/#job-termination-and-cleanup) on the migrations job. | | `database.migrations.annotations` | `{}` | Additional annotations to add to the migrations job. | @@ -424,7 +429,7 @@ You can change the included version of the Registry and `pullPolicy`. Default settings: -- `tag: 'v4.10.0-gitlab'` +- `tag: 'v4.13.0-gitlab'` - `pullPolicy: 'IfNotPresent'` ## Configuring the `service` @@ -993,7 +998,7 @@ See the [administration documentation](https://docs.gitlab.com/ee/administration before enabling this feature. NOTE: -This feature requires PostgreSQL 12 or newer. +This feature requires PostgreSQL 13 or newer. ```yaml database: @@ -1030,6 +1035,13 @@ database: jobInterval: 10s ``` +#### Load balancing + +WARNING: +This is an experimental feature under active development and must not be used in production. + +The `loadBalancing` section allows configuring [database load balancing](https://gitlab.com/gitlab-org/container-registry/-/blob/master/docs/configuration.md#loadbalancing). The [Redis cache](#redis-cache) must be enabled for this feature to work. + #### Manage the database See the [Container registry metadata database](metadata_database.md) page for diff --git a/chart/doc/development/environment_setup.md b/chart/doc/development/environment_setup.md index c3b3520e9..8fbb8dc56 100644 --- a/chart/doc/development/environment_setup.md +++ b/chart/doc/development/environment_setup.md @@ -91,7 +91,7 @@ Details on installing the chart from the Git repository can be found in the [dev ## Developer license -A [developer license](https://handbook.gitlab.com/handbook/developer-onboarding/#working-on-gitlab-ee-developer-licenses) can +A [developer license](https://handbook.gitlab.com/handbook/engineering/developer-onboarding/#working-on-gitlab-ee-developer-licenses) can be used for chart development to test features that are only functional in a licensed environment. To use a developer license follow the [instructions for Enterprise licenses](../installation/secrets.md#initial-enterprise-license) diff --git a/chart/doc/development/gitlab-qa/index.md b/chart/doc/development/gitlab-qa/index.md index 3fd2d6bf4..40584f35f 100644 --- a/chart/doc/development/gitlab-qa/index.md +++ b/chart/doc/development/gitlab-qa/index.md @@ -96,14 +96,11 @@ when end-to-end tests are grouped by various [RSpec metadata](https://docs.gitla - _Smoke suite_: small [subset of fast end-to-end functional tests](https://docs.gitlab.com/ee/development/testing_guide/smoke.html) to quickly ensure that basic functionality is working - Enable this suite via `export QA_OPTIONS="--tag smoke"` -- _Smoke and Blocking suite_: subset of smoke and blocking tests to verify that the -major functionality is working - - Enable this suite via `export QA_OPTIONS="--tag smoke --tag blocking --tag ~skip_live_env --tag ~orchestrated --tag ~github"` - _Full suite_: running all tests against the environment. Test run will take more than an hour. - Enable this suite via `--tag ~skip_live_env --tag ~orchestrated --tag ~requires_praefect --tag ~github --tag ~requires_git_protocol_v2 --tag ~transient` Selecting a test suite depends on the use case. In the majority of cases, running -Smoke and Blocking suite should give quick and consistent test results +Smoke suite should give quick and consistent test results as well as a good test coverage. This suite is being used as a sanity check in [GitLab.com deployments](https://handbook.gitlab.com/handbook/engineering/deployments-and-releases/deployments/#gitlabcom-deployments-process). diff --git a/chart/doc/development/troubleshooting.md b/chart/doc/development/troubleshooting.md index 79bcb660a..ebeefaca1 100644 --- a/chart/doc/development/troubleshooting.md +++ b/chart/doc/development/troubleshooting.md @@ -50,22 +50,27 @@ production. Certain jobs in CI use a backup of GitLab during testing. Complete the steps below to update this backup when needed: -1. Generate the desired backup by running a CI pipeline for the matching stable branch. - 1. For example: run a CI pipeline for branch `5-4-stable` if current release is `5-5-stable` to create a backup of 14.4. - 1. Note that this will require the Maintainer role. -1. In that pipeline, cancel the QA jobs (but leave the spec tests) so that we don't get extra data in the backup. -1. Let the spec tests finish. They will have installed the old backup, and migrated the instance to the version we want. -1. Edit the `gitlab-runner` Deployment replicas to 0, so the Runner turns off. -1. Log in to the UI and delete the Runner from the admin section. This should help avoid cipher errors later. +1. Install the most latest version of the chart that is compatible with the current backup + into a development cluster. +1. [Restore the backup](../backup-restore/restore.md#restoring-the-backup-file) currently + used in CI. The backup is available at `https://storage.cloud.google.com/gitlab-charts-ci/test-backups/<BACKUP_PREFIX>_gitlab_backup.tar`. + The current `BACKUP_PREFIX` is defined in `.gitlab-ci.yml`. + + - If you are using the bundled MinIO with a self-signed certificate you may want + to use `awscli` instead of `s3cmd` to avoid SSL errors. + To do this, [first configure `awscli`](https://min.io/docs/minio/linux/integrations/aws-cli-with-minio.html) + inside your toolbox, and then pass `--s3tool awscli --aws-s3-endpoint-url http://gitlab-minio-svc:9000` to + your backup and restore commands. + 1. [Ensure the background migrations all complete](https://docs.gitlab.com/ee/update/#check-for-background-migrations-before-upgrading), forcing them to complete if needed. -1. Delete the `toolbox` Pod to ensure there is no existing `tmp` data, keeping the backup small. -1. If any manual work is needed to modify the contents of the backup, complete it before moving on to the next step. -1. [Create a new backup](../backup-restore/backup.md) from the new `toolbox` Pod. -1. Download the new backup from the CI instance of MinIO in the `gitlab-backups` bucket. -1. Upload the backup to the proper location in Google Cloud Storage (GCS): +1. Upgrade the Helm release to use the new CNG images which have the new backup/restore + changes by setting `global.gitlabVersion=<CNG tag>`. +1. [Create a new backup](../backup-restore/backup.md) from the `toolbox` Pod. +1. Download the new backup from the `gitlab-backups` bucket. +1. Ask in `#g_distribution` to upload the backup to Google Cloud Storage (GCS): 1. Project: `cloud-native-182609`, path: `gitlab-charts-ci/test-backups/` 1. Edit access and add `Entity=Public`, `Name=allUsers`, and `Access=Reader`. -1. Finally, update `.variables.TEST_BACKUP_PREFIX` in `.gitlab-ci.yml` to the new version of the backup. +1. Finally, update `.variables.TEST_BACKUP_PREFIX` in `.gitlab-ci.yml` and open a merge request. - For example: If the filename is `1708623546_2024_02_22_16.9.1-ee_gitlab_backup`, then the prefix is `1708623546_2024_02_22_16.9.1-ee`. Future pipelines will now use the new backup artifact during testing. diff --git a/chart/doc/installation/cloud/index.md b/chart/doc/installation/cloud/index.md index 463fc4c69..ee8df737b 100644 --- a/chart/doc/installation/cloud/index.md +++ b/chart/doc/installation/cloud/index.md @@ -21,17 +21,18 @@ you can reduce the defaults to fit into a smaller cluster. The GitLab Helm chart supports the following Kubernetes releases: -| Kubernetes release | Status | Minimum GitLab version | Architectures | End of life | -|--------------------|------------|------------------------|---------------|-------------| -| 1.30 | [In development/qualification](https://gitlab.com/gitlab-org/distribution/team-tasks/-/issues/1498) | 17.0 | x86-64 | 2025-06-28 | -| 1.29 | Supported | 17.0 | x86-64 | 2025-02-28 | -| 1.28 | Supported | 17.0 | x86-64 | 2024-10-28 | -| 1.27 | Supported | 16.6 | x86-64 | 2024-06-28 | -| 1.26 | Deprecated | 16.5 | x86-64 | 2024-02-28 | -| 1.25 | Deprecated | 16.5 | x86-64 | 2023-10-28 | -| 1.24 | Deprecated | 16.5 | x86-64 | 2023-07-28 | -| 1.23 | Deprecated | 16.5 | x86-64 | 2023-02-28 | -| 1.22 | Deprecated | 16.5 | x86-64 | 2022-10-28 | +| Kubernetes release | Status | Minimum GitLab version | Architectures | End of life | +|--------------------|-------------|------------------------|---------------|-------------| +| 1.31 | [In development/qualification](https://gitlab.com/gitlab-org/distribution/team-tasks/-/issues/1602) | | x86-64 | 2025-10-28 | +| 1.30 | Supported | 17.6 | x86-64 | 2025-06-28 | +| 1.29 | Supported | 17.0 | x86-64 | 2025-02-28 | +| 1.28 | Supported | 17.0 | x86-64 | 2024-10-28 | +| 1.27 | Unsupported | 16.6 | x86-64 | 2024-06-28 | +| 1.26 | Unsupported | 16.5 | x86-64 | 2024-02-28 | +| 1.25 | Unsupported | 16.5 | x86-64 | 2023-10-28 | +| 1.24 | Unsupported | 16.5 | x86-64 | 2023-07-28 | +| 1.23 | Unsupported | 16.5 | x86-64 | 2023-02-28 | +| 1.22 | Unsupported | 16.5 | x86-64 | 2022-10-28 | The GitLab Helm Chart aims to support new minor Kubernetes releases three months after their initial release. We welcome reports made to our [issue tracker](https://gitlab.com/gitlab-org/charts/gitlab/-/issues) about compatibility issues in releases newer than those listed above. diff --git a/chart/doc/installation/command-line-options.md b/chart/doc/installation/command-line-options.md index 6f599ee35..c93e34a46 100644 --- a/chart/doc/installation/command-line-options.md +++ b/chart/doc/installation/command-line-options.md @@ -47,7 +47,7 @@ helm inspect values gitlab/gitlab | `global.psql.password.secret` | Global name of the secret containing the psql password | _Uses in-cluster non-production PostgreSQL_ | | `global.registry.bucket` | registry bucket name | `registry` | | `global.service.annotations` | Annotations to add to every `Service` | {} | -| `global.raills.sessionStore.sessionCookieTokenPrefix` | Prefix for the generated session cookies | "" | +| `global.rails.sessionStore.sessionCookieTokenPrefix` | Prefix for the generated session cookies | "" | | `global.deployment.annotations` | Annotations to add to every `Deployment` | {} | | `global.time_zone` | Global time zone | UTC | @@ -232,8 +232,9 @@ See the [instructions for creating secrets](secrets.md). | `nginx-ingress.rbac.createRole` | Create and use namespaced role | true | | `prometheus.rbac.create` | Create and use RBAC resources | true | -If you're setting `nginx-ingress.rbac.create` to `false` to configure the RBAC rules by yourself, on -GitLab chart v8.5.0+, you'll [need to also configure extra rules](../releases/8_0.md#upgrade-to-85x). +If you're setting `nginx-ingress.rbac.create` to `false` to configure the RBAC rules by yourself, you +might need to add specific RBAC rules +[depending on your chart version](../releases/8_0.md#upgrade-to-86x-851-843-836). ## Advanced NGINX Ingress configuration diff --git a/chart/doc/installation/database_upgrade.md b/chart/doc/installation/database_upgrade.md index 022d3c7fd..58b96aec8 100644 --- a/chart/doc/installation/database_upgrade.md +++ b/chart/doc/installation/database_upgrade.md @@ -31,7 +31,7 @@ not a drop in replacement. Manual steps need to be performed to upgrade the data The steps have been documented in the [upgrade steps](#steps-for-upgrading-the-bundled-postgresql). NOTE: -As part of the `4.0.0` release of this chart, we upgraded the bundled [PostgreSQL chart](https://github.com/bitnami/charts/tree/master/bitnami/postgresql) from `7.7.0` to `8.9.4`. +As part of the `4.0.0` release of this chart, we upgraded the bundled [PostgreSQL chart](https://github.com/bitnami/charts/tree/main/bitnami/postgresql) from `7.7.0` to `8.9.4`. This is not a drop in replacement. Manual steps need to be performed to upgrade the database. The steps have been documented in the [upgrade steps](#steps-for-upgrading-the-bundled-postgresql). diff --git a/chart/doc/installation/tools.md b/chart/doc/installation/tools.md index eaca38913..eb412ab54 100644 --- a/chart/doc/installation/tools.md +++ b/chart/doc/installation/tools.md @@ -279,7 +279,7 @@ If the endpoint can be and is TLS-enabled they will also set the `gitlab.com/prometheus_scheme: "https"` annotation, as well as the `prometheus.io/scheme: "https"` annotation, either of which can be used with a `relabel_config` to set the Prometheus `__scheme__` target label. -The [Prometheus TLS values example](https://gitlab.com/gitlab-org/charts/gitlab/-/tree/master/examples/prometheus/values-tls.yaml) +The [Prometheus TLS values example](https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/examples/prometheus/values-tls.yaml) includes a `relabel_config` that targets `__scheme__` using the `gitlab.com/prometheus_scheme: "https"` annotation. diff --git a/chart/doc/installation/upgrade.md b/chart/doc/installation/upgrade.md index 9722b659a..22ab06abe 100644 --- a/chart/doc/installation/upgrade.md +++ b/chart/doc/installation/upgrade.md @@ -40,7 +40,7 @@ This safely replaces the behavior of `--reuse-values` NOTE: If you're upgrading to the `7.0` version of the chart, follow the [manual upgrade steps for 7.0](#upgrade-to-version-70). If you're upgrading to the `6.0` version of the chart, follow the [manual upgrade steps for 6.0](#upgrade-to-version-60). -If you're upgrading to an older version of the chart, follow the [upgrade steps for older versions](upgrade_old.md). +If you're upgrading to an older version of the chart, follow the [upgrade steps for older versions](#older-upgrade-instructions). Before you upgrade, reflect on your set values and if you've possibly "over-configured" your settings. We expect you to maintain a small list of modified values, and leverage most of the chart defaults. If you've explicitly set a large number of settings by: diff --git a/chart/doc/installation/version_mappings.md b/chart/doc/installation/version_mappings.md index a6640bbbe..d34d60831 100644 --- a/chart/doc/installation/version_mappings.md +++ b/chart/doc/installation/version_mappings.md @@ -33,7 +33,12 @@ The table below maps some of the key previous supported chart versions and suppo | Chart version | GitLab version | |---------------|----------------| +| 8.6.1 | 17.6.1 | +| 8.6.0 | 17.6.0 | +| 8.6.1 | 17.6.1 | +| 8.6.0 | 17.6.0 | | 8.5.2 | 17.5.2 | +<<<<<<< HEAD | 8.5.1 | 17.5.1 | | 8.5.0 | 17.5.0 | | 8.4.2 | 17.4.2 | @@ -300,6 +305,277 @@ The table below maps some of the key previous supported chart versions and suppo | 6.0.2 | 15.0.2 | | 6.0.1 | 15.0.1 | | 6.0.0 | 15.0.0 | +======= +| 8.5.1 | 17.5.1 | +| 8.5.0 | 17.5.0 | +| 8.4.4 | 17.4.4 | +| 8.4.3 | 17.4.3 | +| 8.4.2 | 17.4.2 | +| 8.4.1 | 17.4.1 | +| 8.4.0 | 17.4.0 | +| 8.3.7 | 17.3.7 | +| 8.3.6 | 17.3.6 | +| 8.3.5 | 17.3.5 | +| 8.3.4 | 17.3.4 | +| 8.3.3 | 17.3.3 | +| 8.3.2 | 17.3.2 | +| 8.3.1 | 17.3.1 | +| 8.3.0 | 17.3.0 | +| 8.2.9 | 17.2.9 | +| 8.2.8 | 17.2.8 | +| 8.2.7 | 17.2.7 | +| 8.2.6 | 17.2.6 | +| 8.2.5 | 17.2.5 | +| 8.2.4 | 17.2.4 | +| 8.2.3 | 17.2.3 | +| 8.2.2 | 17.2.2 | +| 8.2.1 | 17.2.1 | +| 8.2.0 | 17.2.0 | +| 8.1.8 | 17.1.8 | +| 8.1.7 | 17.1.7 | +| 8.1.6 | 17.1.6 | +| 8.1.5 | 17.1.5 | +| 8.1.4 | 17.1.4 | +| 8.1.3 | 17.1.3 | +| 8.1.2 | 17.1.2 | +| 8.1.1 | 17.1.1 | +| 8.1.0 | 17.1.0 | +| 8.0.8 | 17.0.8 | +| 8.0.7 | 17.0.7 | +| 8.0.6 | 17.0.6 | +| 8.0.5 | 17.0.5 | +| 8.0.4 | 17.0.4 | +| 8.0.3 | 17.0.3 | +| 8.0.2 | 17.0.2 | +| 8.0.1 | 17.0.1 | +| 8.0.0 | 17.0.0 | +| 7.11.10 | 16.11.10 | +| 7.11.9 | 16.11.9 | +| 7.11.8 | 16.11.8 | +| 7.11.7 | 16.11.7 | +| 7.11.6 | 16.11.6 | +| 7.11.5 | 16.11.5 | +| 7.11.4 | 16.11.4 | +| 7.11.3 | 16.11.3 | +| 7.11.2 | 16.11.2 | +| 7.11.1 | 16.11.1 | +| 7.11.0 | 16.11.0 | +| 7.10.10 | 16.10.10 | +| 7.10.9 | 16.10.9 | +| 7.10.8 | 16.10.8 | +| 7.10.7 | 16.10.7 | +| 7.10.6 | 16.10.6 | +| 7.10.5 | 16.10.5 | +| 7.10.4 | 16.10.4 | +| 7.10.3 | 16.10.3 | +| 7.10.2 | 16.10.2 | +| 7.10.1 | 16.10.1 | +| 7.10.0 | 16.10.0 | +| 7.9.11 | 16.9.11 | +| 7.9.10 | 16.9.10 | +| 7.9.9 | 16.9.9 | +| 7.9.8 | 16.9.8 | +| 7.9.7 | 16.9.7 | +| 7.9.6 | 16.9.6 | +| 7.9.5 | 16.9.5 | +| 7.9.4 | 16.9.4 | +| 7.9.3 | 16.9.3 | +| 7.9.2 | 16.9.2 | +| 7.9.1 | 16.9.1 | +| 7.9.0 | 16.9.0 | +| 7.8.10 | 16.8.10 | +| 7.8.9 | 16.8.9 | +| 7.8.8 | 16.8.8 | +| 7.8.7 | 16.8.7 | +| 7.8.6 | 16.8.6 | +| 7.8.5 | 16.8.5 | +| 7.8.4 | 16.8.4 | +| 7.8.3 | 16.8.3 | +| 7.8.2 | 16.8.2 | +| 7.8.1 | 16.8.1 | +| 7.8.0 | 16.8.0 | +| 7.7.10 | 16.7.10 | +| 7.7.9 | 16.7.9 | +| 7.7.8 | 16.7.8 | +| 7.7.7 | 16.7.7 | +| 7.7.6 | 16.7.6 | +| 7.7.5 | 16.7.5 | +| 7.7.4 | 16.7.4 | +| 7.7.3 | 16.7.3 | +| 7.7.2 | 16.7.2 | +| 7.7.1 | 16.7.1 | +| 7.7.0 | 16.7.0 | +| 7.6.10 | 16.6.10 | +| 7.6.9 | 16.6.9 | +| 7.6.8 | 16.6.8 | +| 7.6.7 | 16.6.7 | +| 7.6.6 | 16.6.6 | +| 7.6.5 | 16.6.5 | +| 7.6.4 | 16.6.4 | +| 7.6.3 | 16.6.3 | +| 7.6.2 | 16.6.2 | +| 7.6.1 | 16.6.1 | +| 7.6.0 | 16.6.0 | +| 7.5.10 | 16.5.10 | +| 7.5.9 | 16.5.9 | +| 7.5.8 | 16.5.8 | +| 7.5.7 | 16.5.7 | +| 7.5.6 | 16.5.6 | +| 7.5.5 | 16.5.5 | +| 7.5.4 | 16.5.4 | +| 7.5.3 | 16.5.3 | +| 7.5.2 | 16.5.2 | +| 7.5.1 | 16.5.1 | +| 7.5.0 | 16.5.0 | +| 7.4.7 | 16.4.7 | +| 7.4.6 | 16.4.6 | +| 7.4.5 | 16.4.5 | +| 7.4.4 | 16.4.4 | +| 7.4.3 | 16.4.3 | +| 7.4.2 | 16.4.2 | +| 7.4.1 | 16.4.1 | +| 7.4.0 | 16.4.0 | +| 7.3.9 | 16.3.9 | +| 7.3.8 | 16.3.8 | +| 7.3.7 | 16.3.7 | +| 7.3.6 | 16.3.6 | +| 7.3.5 | 16.3.5 | +| 7.3.4 | 16.3.4 | +| 7.3.3 | 16.3.3 | +| 7.3.2 | 16.3.2 | +| 7.3.1 | 16.3.1 | +| 7.3.0 | 16.3.0 | +| 7.2.11 | 16.2.11 | +| 7.2.10 | 16.2.10 | +| 7.2.9 | 16.2.9 | +| 7.2.8 | 16.2.8 | +| 7.2.7 | 16.2.7 | +| 7.2.6 | 16.2.6 | +| 7.2.5 | 16.2.5 | +| 7.2.4 | 16.2.4 | +| 7.2.3 | 16.2.3 | +| 7.2.2 | 16.2.2 | +| 7.2.1 | 16.2.1 | +| 7.2.0 | 16.2.0 | +| 7.1.8 | 16.1.8 | +| 7.1.7 | 16.1.7 | +| 7.1.6 | 16.1.6 | +| 7.1.5 | 16.1.5 | +| 7.1.4 | 16.1.4 | +| 7.1.3 | 16.1.3 | +| 7.1.2 | 16.1.2 | +| 7.1.1 | 16.1.1 | +| 7.1.0 | 16.1.0 | +| 7.0.10 | 16.0.10 | +| 7.0.9 | 16.0.9 | +| 7.0.8 | 16.0.8 | +| 7.0.7 | 16.0.7 | +| 7.0.6 | 16.0.6 | +| 7.0.5 | 16.0.5 | +| 7.0.4 | 16.0.4 | +| 7.0.3 | 16.0.3 | +| 7.0.2 | 16.0.2 | +| 7.0.1 | 16.0.1 | +| 7.0.0 | 16.0.0 | +| 6.11.13 | 15.11.13 | +| 6.11.12 | 15.11.12 | +| 6.11.11 | 15.11.11 | +| 6.11.10 | 15.11.10 | +| 6.11.9 | 15.11.9 | +| 6.11.8 | 15.11.8 | +| 6.11.7 | 15.11.7 | +| 6.11.6 | 15.11.6 | +| 6.11.5 | 15.11.5 | +| 6.11.4 | 15.11.4 | +| 6.11.3 | 15.11.3 | +| 6.11.2 | 15.11.2 | +| 6.11.1 | 15.11.1 | +| 6.11.0 | 15.11.0 | +| 6.10.8 | 15.10.8 | +| 6.10.7 | 15.10.7 | +| 6.10.6 | 15.10.6 | +| 6.10.5 | 15.10.5 | +| 6.10.4 | 15.10.4 | +| 6.10.3 | 15.10.3 | +| 6.10.2 | 15.10.2 | +| 6.10.1 | 15.10.1 | +| 6.10.0 | 15.10.0 | +| 6.9.8 | 15.9.8 | +| 6.9.7 | 15.9.7 | +| 6.9.6 | 15.9.6 | +| 6.9.5 | 15.9.5 | +| 6.9.4 | 15.9.4 | +| 6.9.3 | 15.9.3 | +| 6.9.2 | 15.9.2 | +| 6.9.1 | 15.9.1 | +| 6.9.0 | 15.9.0 | +| 6.8.6 | 15.8.6 | +| 6.8.5 | 15.8.5 | +| 6.8.4 | 15.8.4 | +| 6.8.3 | 15.8.3 | +| 6.8.2 | 15.8.2 | +| 6.8.1 | 15.8.1 | +| 6.8.0 | 15.8.0 | +| 6.7.9 | 15.7.9 | +| 6.7.8 | 15.7.8 | +| 6.7.7 | 15.7.7 | +| 6.7.6 | 15.7.6 | +| 6.7.5 | 15.7.5 | +| 6.7.3 | 15.7.3 | +| 6.7.2 | 15.7.2 | +| 6.7.1 | 15.7.1 | +| 6.7.0 | 15.7.0 | +| 6.6.8 | 15.6.8 | +| 6.6.7 | 15.6.7 | +| 6.6.6 | 15.6.6 | +| 6.6.4 | 15.6.4 | +| 6.6.3 | 15.6.3 | +| 6.6.2 | 15.6.2 | +| 6.6.1 | 15.6.1 | +| 6.6.0 | 15.6.0 | +| 6.5.9 | 15.5.9 | +| 6.5.8 | 15.5.7 | +| 6.5.7 | 15.5.6 | +| 6.5.6 | 15.5.5 | +| 6.5.5 | 15.5.4 | +| 6.5.4 | 15.5.3 | +| 6.5.3 | 15.5.3 | +| 6.5.2 | 15.5.2 | +| 6.5.1 | 15.5.1 | +| 6.5.0 | 15.5.0 | +| 6.4.6 | 15.4.6 | +| 6.4.5 | 15.4.5 | +| 6.4.4 | 15.4.4 | +| 6.4.3 | 15.4.3 | +| 6.4.2 | 15.4.2 | +| 6.4.1 | 15.4.1 | +| 6.4.0 | 15.4.0 | +| 6.3.5 | 15.3.5 | +| 6.3.4 | 15.3.4 | +| 6.3.3 | 15.3.3 | +| 6.3.2 | 15.3.2 | +| 6.3.1 | 15.3.1 | +| 6.3.0 | 15.3.0 | +| 6.2.5 | 15.2.5 | +| 6.2.4 | 15.2.4 | +| 6.2.3 | 15.2.3 | +| 6.2.2 | 15.2.2 | +| 6.2.1 | 15.2.1 | +| 6.2.0 | 15.2.0 | +| 6.1.6 | 15.1.6 | +| 6.1.5 | 15.1.5 | +| 6.1.4 | 15.1.4 | +| 6.1.3 | 15.1.3 | +| 6.1.2 | 15.1.2 | +| 6.1.1 | 15.1.1 | +| 6.1.0 | 15.1.0 | +| 6.0.5 | 15.0.5 | +| 6.0.4 | 15.0.4 | +| 6.0.3 | 15.0.3 | +| 6.0.2 | 15.0.2 | +| 6.0.1 | 15.0.1 | +| 6.0.0 | 15.0.0 | +>>>>>>> update "chart" (https://gitlab.com/gitlab-org/charts/gitlab) from "v8.6.1" (444b06a2195c8f8932847de2b727b63cbc3b8836) to "v8.6.1" (0a325d09171fcfa4a3e828052cb273f148a8ff04) To see the full list, you can issue the following command with Helm: diff --git a/chart/doc/releases/8_0.md b/chart/doc/releases/8_0.md index 502254537..9bb2a83f3 100644 --- a/chart/doc/releases/8_0.md +++ b/chart/doc/releases/8_0.md @@ -20,13 +20,23 @@ See [GitLab 17 changes](https://docs.gitlab.com/ee/update/versions/gitlab_17_cha To upgrade to the `8.0` version of the chart, you first need to upgrade to the latest `7.11.x` release of the chart. Check the [version mapping details](../installation/version_mappings.md) for the latest patch. -### Upgrade to 8.5.x +### Upgrade to 8.6.0 + +The `app` label of the Job that performs the database migrations for the registry metadata database has +been changed from `registry` to `registry-migrations` to address issues with the selectors of the +container registry `Deployment` and `PodDisruptionBudget`. + +If you don't have the registry metadata database enabled, or don't use it in any external tools +such as monitoring or logging solutions, you don't need to do anything. If you do use this label, +please update it accordingly. + +### Upgrade to 8.6.x, 8.5.1, 8.4.3, 8.3.6 If you haven't modified the GitLab chart `nginx-ingress.rbac.create` value, or it's set to `true`, you can skip this section. -In v8.5.0, the Ingress NGINX Controller image was bumped to v1.11.2, but the Ingress NGINX Controller chart version is -still on 4.0.6. The old `v1.3.1` controller image is now deprecated and schedule for removal in GitLab chart 8.8. +In these versions, the Ingress NGINX Controller image was bumped to v1.11.2, but the Ingress NGINX Controller chart version is +still on 4.0.6. The old `v1.3.1` controller image is now deprecated and schedule for removal in GitLab chart 9.0. By default the `v1.11.2` will be set. The chart will automatically fallback to `v1.3.1` if the you're setting `nginx-ingress.rbac.create` to `false`. This is because `v1.11.2` requires new RBAC rules, which we added to our diff --git a/chart/doc/troubleshooting/index.md b/chart/doc/troubleshooting/index.md index b93aff3e1..943203227 100644 --- a/chart/doc/troubleshooting/index.md +++ b/chart/doc/troubleshooting/index.md @@ -106,7 +106,7 @@ to ensure that the application does not malfunction to the schema not matching expectations of the codebase. 1. Find the `migrations` Job. `kubectl get job -lapp=migrations` -1. Find the Pod being run by the Job. `kubectl get pod -ljob-name=<job-name>` +1. Find the Pod being run by the Job. `kubectl get pod -lbatch.kubernetes.io/job-name=<job-name>` 1. Examine the output, checking the `STATUS` column. If the `STATUS` is `Running`, continue. If the `STATUS` is `Completed`, the application containers should start shortly after the next check passes. diff --git a/chart/requirements.lock b/chart/requirements.lock index e80fb74f4..46d6c2488 100644 --- a/chart/requirements.lock +++ b/chart/requirements.lock @@ -13,7 +13,7 @@ dependencies: version: '*.*.*' - name: cert-manager repository: https://charts.jetstack.io/ - version: v1.12.13 + version: v1.12.14 - name: prometheus repository: https://prometheus-community.github.io/helm-charts version: 15.18.0 @@ -22,7 +22,7 @@ dependencies: version: 12.5.2 - name: gitlab-runner repository: https://charts.gitlab.io/ - version: 0.70.0 + version: 0.71.0 - name: redis repository: https://charts.bitnami.com/bitnami version: 16.13.2 @@ -34,7 +34,7 @@ dependencies: version: '*.*.*' - name: gitlab-zoekt repository: https://charts.gitlab.io/ - version: 1.4.1 + version: 1.4.2 - name: gluon repository: oci://registry1.dso.mil/bigbang version: 0.5.3 @@ -44,5 +44,5 @@ dependencies: - name: kubernetes-ingress repository: https://haproxytech.github.io/helm-charts version: 1.32.0 -digest: sha256:229c6b103fdb12ad42d13a565912f9a3aa5d5c426f4c7be6559e2dd765ad796c -generated: "2024-11-12T12:11:32.508232-06:00" +digest: sha256:208bdd8f1c59e101010235eb006510a3eb4ff24677f7fb1ec0d93b888d242792 +generated: "2024-12-06T12:04:32.305073916-06:00" diff --git a/chart/requirements.yaml b/chart/requirements.yaml index 3fa2f53e1..7848c3248 100644 --- a/chart/requirements.yaml +++ b/chart/requirements.yaml @@ -8,7 +8,7 @@ dependencies: - name: registry version: '*.*.*' - name: cert-manager - version: v1.12.13 + version: v1.12.14 repository: https://charts.jetstack.io/ condition: certmanager.install alias: certmanager @@ -21,7 +21,7 @@ dependencies: repository: https://charts.bitnami.com/bitnami condition: postgresql.install - name: gitlab-runner - version: 0.70.1 + version: 0.71.0 repository: https://charts.gitlab.io/ condition: gitlab-runner.install - name: redis @@ -36,7 +36,7 @@ dependencies: version: '*.*.*' alias: nginx-ingress-geo - name: gitlab-zoekt - version: 1.4.1 + version: 1.4.2 repository: https://charts.gitlab.io/ condition: gitlab-zoekt.install - name: gluon diff --git a/chart/scripts/ci/arm_nodeselectors.yaml b/chart/scripts/ci/arm_nodeselectors.yaml new file mode 100644 index 000000000..9ab65e631 --- /dev/null +++ b/chart/scripts/ci/arm_nodeselectors.yaml @@ -0,0 +1,39 @@ +--- + +global: + nodeSelector: + kubernetes.io/arch: arm64 + +minio: + nodeSelector: + kubernetes.io/arch: amd64 + +gitlab-runner: + nodeSelector: + kubernetes.io/arch: arm64 + +postgresql: + primary: + nodeSelector: + kubernetes.io/arch: arm64 + readReplicas: + nodeSelector: + kubernetes.io/arch: arm64 + backup.cronjob.labels: + nodeSelector: + kubernetes.io/arch: arm64 + +# Redis fails with arm64 +# redis: +# master: +# nodeSelector: +# kubernetes.io/arch: arm64 +# replica: +# nodeSelector: +# kubernetes.io/arch: arm64 + + +nginx-ingress: + nodeSelector: + kubernetes.io/arch: amd64 + diff --git a/chart/scripts/ci/autodevops.sh b/chart/scripts/ci/autodevops.sh index a50bde0b9..804203ea0 100644 --- a/chart/scripts/ci/autodevops.sh +++ b/chart/scripts/ci/autodevops.sh @@ -8,15 +8,26 @@ export CI_CONTAINER_NAME=ci_job_build_${CI_JOB_ID} # Derive the Helm RELEASE argument from CI_ENVIRONMENT_SLUG if [[ $CI_ENVIRONMENT_SLUG =~ ^[^-]+-review ]]; then + # if multiarch deployment is on - we will be deploying *two* + # charts - one for "amd64" and second for "arm64" thus the need + # to avoid name collision: + if [ "${DEPLOY_MULTIARCH}" == "true" ]; then + RELEASE_NAME="rvw-a-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA}" + else + RELEASE_NAME=rvw-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA} + fi # if a "review", use $REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - RELEASE_NAME=rvw-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA} # Trim release name to leave room for prefixes/suffixes RELEASE_NAME=${RELEASE_NAME:0:30} # Trim any hyphens in the suffix RELEASE_NAME=${RELEASE_NAME%-} else # otherwise, use CI_ENVIRONMENT_SLUG - RELEASE_NAME=$CI_ENVIRONMENT_SLUG + if [ "${DEPLOY_MULTIARCH}" == "true" ]; then + RELEASE_NAME="a-${CI_ENVIRONMENT_SLUG}" + else + RELEASE_NAME=$CI_ENVIRONMENT_SLUG + fi fi export RELEASE_NAME @@ -43,6 +54,7 @@ function previousDeployFailed() { } function deploy() { + echo "DEPLOY_MULTIARCH: $DEPLOY_MULTIARCH" # Cleanup and previous installs, as FAILED and PENDING_UPGRADE will cause errors with `upgrade` if [ "$RELEASE_NAME" != "production" ] && previousDeployFailed ; then echo "Deployment in bad state, cleaning up $RELEASE_NAME" @@ -154,10 +166,14 @@ CIYAML SENTRY_CONFIGURATION="-f ci.sentry.yaml" fi - + MULTIARCH_CONFIGURATION="" + if [ "${DEPLOY_MULTIARCH}" == "true" ]; then + MULTIARCH_CONFIGURATION="-f scripts/ci/arm_nodeselectors.yaml" + fi helm upgrade --install \ $WAIT \ ${SENTRY_CONFIGURATION} \ + ${MULTIARCH_CONFIGURATION} \ -f ci.details.yaml \ -f ci.scale.yaml \ -f ci.psql.yaml \ diff --git a/chart/spec/configuration/gitlab_shell_spec.rb b/chart/spec/configuration/gitlab_shell_spec.rb index 8db825143..7588cbd78 100644 --- a/chart/spec/configuration/gitlab_shell_spec.rb +++ b/chart/spec/configuration/gitlab_shell_spec.rb @@ -264,4 +264,69 @@ describe 'gitlab-shell configuration' do end end end + + context 'for PAT' do + let(:enabled) { nil } + let(:allowed_scopes) { nil } + + let(:values) do + YAML.safe_load(%( + gitlab: + gitlab-shell: + config: + pat: + enabled: #{enabled} + allowedScopes: #{allowed_scopes} + )).deep_merge(default_values) + end + + let(:config) { t.dig('ConfigMap/test-gitlab-shell', 'data', 'config.yml.tpl') } + + let(:rendered_config) do + rendered = RuntimeTemplate.gomplate(raw_template: config) + YAML.safe_load(rendered, aliases: true) + end + + context 'when unset' do + it 'renders default settings for pat' do + expect_successful_exit_code + + expect(rendered_config['pat']['enabled']).to eq(true) + expect(rendered_config['pat']['allowed_scopes']).to eq([]) + end + end + + context 'when PAT disabled' do + let(:enabled) { false } + + it 'renders pat.enabled as disabled' do + expect_successful_exit_code + + expect(rendered_config['pat']['enabled']).to eq(false) + expect(rendered_config['pat']['allowed_scopes']).to eq([]) + end + end + + context 'when PAT enabled' do + let(:enabled) { true } + + it 'renders pat.enabled as enabled' do + expect_successful_exit_code + + expect(rendered_config['pat']['enabled']).to eq(true) + expect(rendered_config['pat']['allowed_scopes']).to eq([]) + end + end + + context 'when PAT allowed_scopes are set' do + let(:allowed_scopes) { ['read_repository', 'read_api'] } + + it 'renders pat.allowed_scopes' do + expect_successful_exit_code + + expect(rendered_config['pat']['enabled']).to eq(true) + expect(rendered_config['pat']['allowed_scopes']).to match_array(['read_repository', 'read_api']) + end + end + end end diff --git a/chart/spec/configuration/mailroom_spec.rb b/chart/spec/configuration/mailroom_spec.rb index 143dcc125..1b94ccc49 100644 --- a/chart/spec/configuration/mailroom_spec.rb +++ b/chart/spec/configuration/mailroom_spec.rb @@ -453,6 +453,22 @@ describe 'Mailroom configuration' do end end + context 'When customer provides additional annotations' do + let(:values) do + YAML.safe_load(%( + gitlab: + mailroom: + annotations: + test-annotation: mailroom-annotation-value + )).deep_merge(default_values) + end + it 'Populates the additional annotations in the expected manner' do + t = HelmTemplate.new(values) + expect(t.exit_code).to eq(0), "Unexpected error code #{t.exit_code} -- #{t.stderr}" + expect(t.dig('Deployment/test-mailroom', 'spec', 'template', 'metadata', 'annotations')).to include('test-annotation' => 'mailroom-annotation-value') + end + end + context 'When customer provides additional labels' do let(:values) do YAML.safe_load(%( diff --git a/chart/spec/configuration/registry_spec.rb b/chart/spec/configuration/registry_spec.rb index 92bb95f44..2c0210d97 100644 --- a/chart/spec/configuration/registry_spec.rb +++ b/chart/spec/configuration/registry_spec.rb @@ -427,6 +427,140 @@ describe 'registry configuration' do end end end + + describe 'database loadBalancing config' do + context 'when replicaCheckInterval is provided' do + let(:values) do + YAML.safe_load(%( + registry: + redis: + cache: + enabled: true + database: + enabled: true + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + replicaCheckInterval: 1s + )).deep_merge(default_values) + end + + it 'populates the replicacheckinterval setting correctly' do + t = HelmTemplate.new(values) + expect(t.exit_code).to eq(0), "Unexpected error code #{t.exit_code} -- #{t.stderr}" + + expect(t.dig('ConfigMap/test-registry', 'data', 'config.yml.tpl')).to include( + <<~CONFIG + database: + enabled: true + host: "test-postgresql.default.svc" + port: 5432 + user: registry + password: "DB_PASSWORD_FILE" + dbname: registry + sslmode: disable + loadbalancing: + enabled: true + record: "db-replica-registry.service.consul" + replicacheckinterval: "1s" + CONFIG + ) + end + end + + context 'when replicaCheckInterval is not provided' do + let(:values) do + YAML.safe_load(%( + registry: + redis: + cache: + enabled: true + database: + enabled: true + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + )).deep_merge(default_values) + end + + it 'does not include the replicaCheckInterval setting' do + t = HelmTemplate.new(values) + expect(t.exit_code).to eq(0), "Unexpected error code #{t.exit_code} -- #{t.stderr}" + + expect(t.dig('ConfigMap/test-registry', 'data', 'config.yml.tpl')).not_to include('replicacheckinterval') + end + end + + context 'when nameserver.host and nameserver.port are provided' do + let(:values) do + YAML.safe_load(%( + registry: + redis: + cache: + enabled: true + database: + enabled: true + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + nameserver: + host: "nameserver.example.com" + port: 5353 + )).deep_merge(default_values) + end + + it 'populates the nameserver host and port settings correctly' do + t = HelmTemplate.new(values) + expect(t.exit_code).to eq(0), "Unexpected error code #{t.exit_code} -- #{t.stderr}" + + expect(t.dig('ConfigMap/test-registry', 'data', 'config.yml.tpl')).to include( + <<~CONFIG + database: + enabled: true + host: "test-postgresql.default.svc" + port: 5432 + user: registry + password: "DB_PASSWORD_FILE" + dbname: registry + sslmode: disable + loadbalancing: + enabled: true + nameserver: "nameserver.example.com" + port: 5353 + record: "db-replica-registry.service.consul" + CONFIG + ) + end + end + + context 'when nameserver.host and nameserver.port are not provided' do + let(:values) do + YAML.safe_load(%( + registry: + redis: + cache: + enabled: true + database: + enabled: true + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + )).deep_merge(default_values) + end + + it 'does not include the nameserver or port settings' do + t = HelmTemplate.new(values) + expect(t.exit_code).to eq(0), "Unexpected error code #{t.exit_code} -- #{t.stderr}" + + # there are other `port` attributes in the output, so we need to isolate the `loadbalancing` section prior to validations + loadbalancing_block = t.dig('ConfigMap/test-registry', 'data', 'config.yml.tpl').match(/loadbalancing:\n(?:.*\n)*?/) + + expect(loadbalancing_block).not_to be_nil + expect(loadbalancing_block.to_s).not_to include('nameserver') + expect(loadbalancing_block.to_s).not_to include('port') + end + end + end end describe 'redis cache config' do diff --git a/chart/spec/features/backups_spec.rb b/chart/spec/features/backups_spec.rb index 3aa9bce53..8e7595a36 100644 --- a/chart/spec/features/backups_spec.rb +++ b/chart/spec/features/backups_spec.rb @@ -28,7 +28,7 @@ describe "Restoring a backup" do stdout, status = restore_from_backup(skip: 'db') fail stdout unless status.success? - stdout, status = set_runner_token + stdout, status = update_application_settings fail stdout unless status.success? stdout, status = enable_legacy_runner_registration diff --git a/chart/spec/gitlab_test_helper.rb b/chart/spec/gitlab_test_helper.rb index 3474abbc0..2b3aa2b64 100644 --- a/chart/spec/gitlab_test_helper.rb +++ b/chart/spec/gitlab_test_helper.rb @@ -198,15 +198,35 @@ module Gitlab return [stdout, status] end - def set_runner_token + def update_application_settings cmd = full_command( - "gitlab-rails runner \"" \ - "settings = ApplicationSetting.current_without_cache; " \ - "settings.update_columns(encrypted_customers_dot_jwt_signing_key_iv: nil, encrypted_customers_dot_jwt_signing_key: nil, encrypted_ci_jwt_signing_key_iv: nil, encrypted_ci_jwt_signing_key: nil, error_tracking_access_token_encrypted: nil); " \ - "settings.set_runners_registration_token('#{runner_registration_token}'); " \ - "settings.save!; " \ - "Ci::Runner.delete_all" \ - "\"" + <<~RAILS_RUNNER + gitlab-rails runner " + settings = ApplicationSetting.current_without_cache; + + # Reset runner token + settings.update_columns( + encrypted_customers_dot_jwt_signing_key_iv: nil, + encrypted_customers_dot_jwt_signing_key: nil, + encrypted_ci_jwt_signing_key_iv: nil, + encrypted_ci_jwt_signing_key: nil, + error_tracking_access_token_encrypted: nil); + settings.set_runners_registration_token('#{runner_registration_token}'); + + # Set FIPS restrictions + if File.file?('/etc/system-fips') + settings.rsa_key_restriction=3072; + settings.dsa_key_restriction=-1; + settings.ecdsa_key_restriction=256; + settings.ed25519_key_restriction=256; + settings.ecdsa_sk_key_restriction=256; + settings.ed25519_sk_key_restriction=256; + end + + settings.save!; + Ci::Runner.delete_all; + " + RAILS_RUNNER ) stdout, status = Open3.capture2e(cmd) diff --git a/chart/spec/integration/check_config/registry_spec.rb b/chart/spec/integration/check_config/registry_spec.rb index d4210a2ea..1974a055b 100644 --- a/chart/spec/integration/check_config/registry_spec.rb +++ b/chart/spec/integration/check_config/registry_spec.rb @@ -70,6 +70,137 @@ describe 'checkConfig registry' do error_description: 'when when database.sslmode is not valid' end + describe 'registry.database.loadBalancing (record)' do + let(:success_values) do + YAML.safe_load(%( + postgresql: + image: + tag: 13 + + registry: + redis: + cache: + enabled: true + database: + enabled: true + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + )).merge(default_required_values) + end + + let(:error_values) do + YAML.safe_load(%( + postgresql: + image: + tag: 13 + + registry: + redis: + cache: + enabled: true + database: + enabled: true + loadBalancing: + enabled: true + )).merge(default_required_values) + end + + let(:error_output) { '`database.loadBalancing` requires `record` to be provided' } + + include_examples 'config validation', + success_description: 'when database load balancing is enabled, with record', + error_description: 'when database load balancing is enabled, with no record' + end + + describe 'registry.database.loadBalancing requires database.enabled to be true' do + let(:success_values) do + YAML.safe_load(%( + postgresql: + image: + tag: 13 + + registry: + redis: + cache: + enabled: true + database: + enabled: true + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + )).merge(default_required_values) + end + + let(:error_values) do + YAML.safe_load(%( + postgresql: + image: + tag: 13 + + registry: + redis: + cache: + enabled: true + database: + enabled: false + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + )).merge(default_required_values) + end + + let(:error_output) { 'Enabling database load balancing requires the metadata database to be enabled.' } + + include_examples 'config validation', + success_description: 'when database load balancing is enabled, with database enabled', + error_description: 'when database load balancing is enabled, with database disabled' + end + + describe 'registry.database.loadBalancing requires redis.cache.enabled to be true' do + let(:success_values) do + YAML.safe_load(%( + postgresql: + image: + tag: 13 + + registry: + redis: + cache: + enabled: true + database: + enabled: true + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + )).merge(default_required_values) + end + + let(:error_values) do + YAML.safe_load(%( + postgresql: + image: + tag: 13 + + registry: + redis: + cache: + enabled: false + database: + enabled: true + loadBalancing: + enabled: true + record: db-replica-registry.service.consul + )).merge(default_required_values) + end + + let(:error_output) { 'Enabling database load balancing requires Redis caching to be enabled.' } + + include_examples 'config validation', + success_description: 'when database load balancing is enabled, with redis cache enabled', + error_description: 'when database load balancing is enabled, with redis cache disabled' + end + describe 'gitlab.checkConfig.registry.sentry.dsn' do let(:success_values) do YAML.safe_load(%( diff --git a/chart/templates/NOTES.txt b/chart/templates/NOTES.txt index 5678cc4b8..1db16bc7d 100644 --- a/chart/templates/NOTES.txt +++ b/chart/templates/NOTES.txt @@ -26,6 +26,12 @@ Carefully review the documentation https://docs.gitlab.com/charts/charts/registr If you encounter a problem with either the import or operation of the registry, please add a comment in the feedback issue https://gitlab.com/gitlab-org/gitlab/-/issues/423459#supported-feature-status. {{- end }} +{{- /* If the Container Registry database load balancing is enabled */}} +{{- if eq .Values.registry.database.loadBalancing.enabled true }} +{{ $WARNING }} +The Container Registry database load balancing feature has been enabled. This is an experimental feature under active development and must not be used in production. +{{- end }} + {{- /* Notifications endpoint threshold should use maxretries instead */ -}} {{- $usesThreshold := false }} {{- range $v := .Values.global.registry.notifications.endpoints }} @@ -155,7 +161,7 @@ NGINX Ingress Controller: Default RBAC rules creation has been disabled. Updates to NGINX Ingress Controller require RBAC changes. Without these, the installation will fallback to version v1.3.1. -Read more on https://docs.gitlab.com/charts/releases/8_0.html#upgrade-to-85x +Read more on https://docs.gitlab.com/charts/releases/8_0.html#upgrade-to-86x-851-843-836 From GitLab chart 8.8+ the NGINX controller image 1.11.2+ will be the default for any configuration. diff --git a/chart/templates/_checkConfig.tpl b/chart/templates/_checkConfig.tpl index 4a595a8f4..a4ecd1f75 100644 --- a/chart/templates/_checkConfig.tpl +++ b/chart/templates/_checkConfig.tpl @@ -74,6 +74,7 @@ Due to gotpl scoping, we can't make use of `range`, so we have to add action lin {{- $messages = append $messages (include "gitlab.checkConfig.registry.sentry.dsn" .) -}} {{- $messages = append $messages (include "gitlab.checkConfig.registry.notifications" .) -}} {{- $messages = append $messages (include "gitlab.checkConfig.registry.database" .) -}} +{{- $messages = append $messages (include "gitlab.checkConfig.registry.database.loadBalancing" .) -}} {{- $messages = append $messages (include "gitlab.checkConfig.registry.redis.cache" .) -}} {{- $messages = append $messages (include "gitlab.checkConfig.registry.redis.rateLimiting" .) -}} {{- $messages = append $messages (include "gitlab.checkConfig.registry.tls" .) -}} diff --git a/chart/templates/_checkConfig_registry.tpl b/chart/templates/_checkConfig_registry.tpl index 1b4415503..71f75e15e 100644 --- a/chart/templates/_checkConfig_registry.tpl +++ b/chart/templates/_checkConfig_registry.tpl @@ -45,6 +45,31 @@ registry: {{- end -}} {{/* END gitlab.checkConfig.registry.database */}} +{{/* +Ensure Registry database load balancing is configured properly and dependencies are met +*/}} +{{- define "gitlab.checkConfig.registry.database.loadBalancing" -}} +{{- if $.Values.registry.database.loadBalancing.enabled }} + {{- if not $.Values.registry.database.enabled }} +registry: + Enabling database load balancing requires the metadata database to be enabled. + See https://docs.gitlab.com/charts/charts/registry#load-balancing + {{- end }} + {{- if not $.Values.registry.redis.cache.enabled }} +registry: + Enabling database load balancing requires Redis caching to be enabled. + See https://docs.gitlab.com/charts/charts/registry/#redis-cache + {{- end }} + {{- if and (kindIs "string" $.Values.registry.database.loadBalancing.record) (empty $.Values.registry.database.loadBalancing.record) }} +registry: + Enabling database load balancing requires the record to not be empty. + See https://docs.gitlab.com/charts/charts/registry#load-balancing + {{- end }} +{{- end -}} + +{{- end -}} +{{/* END gitlab.checkConfig.registry.database.loadBalancing */}} + {{/* Ensure Registry Redis cache is configured properly and dependencies are met */}} diff --git a/chart/templates/_runcheck.tpl b/chart/templates/_runcheck.tpl index 7185cf985..6d17a7651 100644 --- a/chart/templates/_runcheck.tpl +++ b/chart/templates/_runcheck.tpl @@ -35,8 +35,8 @@ if [ -d "${secrets_dir}" ]; then fi fi fi -MIN_VERSION=17.3 -CHART_MIN_VERSION=8.3 +MIN_VERSION=17.5 +CHART_MIN_VERSION=8.5 # Remove 'v' prefix from GitLab version if present (set in Chart.yaml appVersions) GITLAB_VERSION=${GITLAB_VERSION#v} diff --git a/chart/values.yaml b/chart/values.yaml index c39f3e84e..216e49449 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -57,7 +57,7 @@ global: edition: ee ## https://docs.gitlab.com/charts/charts/globals#gitlab-version - gitlabVersion: "17.5.2" + gitlabVersion: "17.6.1" ## https://docs.gitlab.com/charts/charts/globals#application-resource application: @@ -825,7 +825,7 @@ global: certificates: image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/certificates - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry init: @@ -874,7 +874,7 @@ global: kubectl: image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/kubectl - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry securityContext: @@ -891,7 +891,7 @@ global: # 1. UBI does not have the newly required /scripts/set-config template generator in its entrypoint. # a. trying gitlab-base per https://repo1.dso.mil/dsop/gitlab/gitlab/gitlab-base/-/issues/77 repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-base - tag: "17.5.2" + tag: "17.6.1" pullSecrets: - name: private-registry @@ -1389,7 +1389,7 @@ postgresql: image: registry: registry1.dso.mil repository: ironbank/opensource/postgres/postgresql - tag: "14.14" + tag: "14.15" pullSecrets: - private-registry auth: @@ -1478,7 +1478,7 @@ registry: memory: 1024Mi image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-container-registry - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry ingress: @@ -1618,7 +1618,7 @@ gitlab: app: gitaly image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-toolbox - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry init: @@ -1695,7 +1695,7 @@ gitlab: - ALL image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-exporter - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry metrics: @@ -1740,7 +1740,7 @@ gitlab: memory: 1.5G image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-toolbox - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry securityContext: @@ -1789,7 +1789,7 @@ gitlab: memory: 2.5G # = 2 * 1.25G assuming there are 2 workerProcesses configured image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-webservice - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry workhorse: @@ -1802,7 +1802,7 @@ gitlab: cpu: 600m memory: 2.5G image: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-workhorse - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry metrics: @@ -1826,7 +1826,7 @@ gitlab: sidekiq: image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-sidekiq - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry init: @@ -1863,7 +1863,7 @@ gitlab: gitaly: image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitaly - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry init: @@ -1904,7 +1904,7 @@ gitlab: gitlab-shell: image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-shell - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry init: @@ -1948,7 +1948,7 @@ gitlab: mailroom: image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-mailroom - tag: 17.5.2 + tag: 17.6.1 pullSecrets: - name: private-registry containerSecurityContext: @@ -1965,7 +1965,7 @@ gitlab: type: ClusterIP image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-pages - tag: 17.5.2 + tag: 17.6.1 containerSecurityContext: capabilities: drop: @@ -1976,7 +1976,7 @@ gitlab: praefect: image: repository: registry1.dso.mil/ironbank/gitlab/gitlab/gitaly - tag: 17.5.2 + tag: 17.6.1 init: resources: limits: diff --git a/docs/DEVELOPMENT_MAINTENANCE.md b/docs/DEVELOPMENT_MAINTENANCE.md index 81176ffbe..514b4b591 100644 --- a/docs/DEVELOPMENT_MAINTENANCE.md +++ b/docs/DEVELOPMENT_MAINTENANCE.md @@ -104,7 +104,7 @@ BigBang makes modifications to the upstream helm chart. The full list of changes helm upgrade -n bigbang --create-namespace --install \ bigbang ./chart \ -f https://repo1.dso.mil/big-bang/bigbang/-/raw/master/tests/test-values.yaml \ - -f https://repo1.dso.mil/big-bang/product/packages/gitlab/-/blob/main/docs/dev-overrides.yaml \ + -f https://repo1.dso.mil/big-bang/product/packages/gitlab/-/raw/main/docs/dev-overrides.yaml \ --set addons.gitlab.git.branch=YOUR-WORKING-BRANCH-NAME-HERE ``` diff --git a/tests/images.txt b/tests/images.txt index d7778c8c1..ca6855a2d 100644 --- a/tests/images.txt +++ b/tests/images.txt @@ -1,2 +1,2 @@ -registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-exporter:17.5.2 -registry1.dso.mil/ironbank/gitlab/gitlab/kubectl:17.5.2 +registry1.dso.mil/ironbank/gitlab/gitlab/gitlab-exporter:17.6.1 +registry1.dso.mil/ironbank/gitlab/gitlab/kubectl:17.6.1 -- GitLab