diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index a4bc0289260934..ea0b7a8f5c66fc 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -93,7 +93,7 @@ ARG TARGETOS # Install dependencies USER root -ARG LEEWAY_VERSION=0.10.6 +ARG LEEWAY_VERSION=0.10.8 ENV LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE=8388608 ENV LEEWAY_WORKSPACE_ROOT=/workspace/gitpod ENV LEEWAY_REMOTE_CACHE_BUCKET=leeway-cache-dev-3ac8ef5 @@ -336,12 +336,6 @@ RUN curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | && nvm install v${NODE_VERSION} \ && nvm alias default v${NODE_VERSION}" -# Disable npm/yarn lifecycle scripts by default (security hardening) -# To allow specific packages, use: npm rebuild or yarn rebuild -RUN npm config set ignore-scripts true --location=global && \ - npm config set ignore-scripts true --location=user && \ - echo 'ignore-scripts true' >> ~/.yarnrc - # Disable npx (security hardening - prevents arbitrary package execution) # Remove npx from NVM and replace with stub that prints warning RUN rm -f /usr/bin/npx /usr/local/bin/npx && \ diff --git a/.github/actions/deploy-gitpod/Dockerfile b/.github/actions/deploy-gitpod/Dockerfile index bb3ccc9e7d0f3f..2a853f119d1e15 100644 --- a/.github/actions/deploy-gitpod/Dockerfile +++ b/.github/actions/deploy-gitpod/Dockerfile @@ -1,4 +1,4 @@ -FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 +FROM eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/deploy-monitoring-satellite/Dockerfile b/.github/actions/deploy-monitoring-satellite/Dockerfile index bb3ccc9e7d0f3f..2a853f119d1e15 100644 --- a/.github/actions/deploy-monitoring-satellite/Dockerfile +++ b/.github/actions/deploy-monitoring-satellite/Dockerfile @@ -1,4 +1,4 @@ -FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 +FROM eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/preview-create/Dockerfile b/.github/actions/preview-create/Dockerfile index bb3ccc9e7d0f3f..2a853f119d1e15 100644 --- a/.github/actions/preview-create/Dockerfile +++ b/.github/actions/preview-create/Dockerfile @@ -1,4 +1,4 @@ -FROM eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 +FROM eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/workflows/branch-build.yml b/.github/workflows/branch-build.yml index 8708e1f6631779..12a27afe020f6e 100644 --- a/.github/workflows/branch-build.yml +++ b/.github/workflows/branch-build.yml @@ -107,7 +107,7 @@ jobs: cancel-in-progress: ${{ needs.configuration.outputs.is_main_branch == 'false' }} runs-on: ubuntu-latest-16-cores container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root steps: - uses: actions/checkout@v4 @@ -122,6 +122,7 @@ jobs: shell: bash env: LEEWAY_REMOTE_CACHE_BUCKET: ${{needs.configuration.outputs.leeway_cache_bucket}} + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true run: | leeway build dev/preview/previewctl:cli --cache remote infrastructure: @@ -180,7 +181,7 @@ jobs: ports: - 6379:6379 container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root env: DB_HOST: "mysql" @@ -214,6 +215,7 @@ jobs: JAVA_HOME: /home/gitpod/.sdkman/candidates/java/current VERSION: ${{needs.configuration.outputs.version}} LEEWAY_REMOTE_CACHE_BUCKET: ${{needs.configuration.outputs.leeway_cache_bucket}} + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true IMAGE_REPO_BASE: ${{needs.configuration.outputs.image_repo_base}}/dev shell: bash run: | @@ -261,6 +263,7 @@ jobs: CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" LEEWAY_REMOTE_CACHE_BUCKET: ${{needs.configuration.outputs.leeway_cache_bucket}} IMAGE_REPO_BASE: ${{needs.configuration.outputs.image_repo_base}}/build + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true # SCM tokens for integration tests GITPOD_TEST_TOKEN_BITBUCKET: "${{ secrets.GITPOD_TEST_TOKEN_BITBUCKET }}" @@ -516,7 +519,7 @@ jobs: environment: branch-build runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root if: needs.configuration.outputs.with_integration_tests != '' && needs.configuration.outputs.is_scheduled_run != 'true' concurrency: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 20a90e3c5828a6..b8316d05e4b1ca 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -110,7 +110,7 @@ jobs: cancel-in-progress: ${{ needs.configuration.outputs.is_main_branch == 'false' }} runs-on: ubuntu-latest-16-cores container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root steps: - uses: actions/checkout@v4 @@ -125,6 +125,7 @@ jobs: shell: bash env: LEEWAY_REMOTE_CACHE_BUCKET: ${{needs.configuration.outputs.leeway_cache_bucket}} + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true run: | leeway build dev/preview/previewctl:cli --cache remote infrastructure: @@ -183,7 +184,7 @@ jobs: ports: - 6379:6379 container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root env: DB_HOST: "mysql" @@ -217,6 +218,7 @@ jobs: JAVA_HOME: /home/gitpod/.sdkman/candidates/java/current VERSION: ${{needs.configuration.outputs.version}} LEEWAY_REMOTE_CACHE_BUCKET: ${{needs.configuration.outputs.leeway_cache_bucket}} + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true IMAGE_REPO_BASE: ${{needs.configuration.outputs.image_repo_base}}/dev shell: bash run: | @@ -264,6 +266,7 @@ jobs: CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" LEEWAY_REMOTE_CACHE_BUCKET: ${{needs.configuration.outputs.leeway_cache_bucket}} IMAGE_REPO_BASE: ${{needs.configuration.outputs.image_repo_base}}/build + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true # SCM tokens for integration tests GITPOD_TEST_TOKEN_BITBUCKET: "${{ secrets.GITPOD_TEST_TOKEN_BITBUCKET }}" @@ -519,7 +522,7 @@ jobs: environment: main-build runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root if: needs.configuration.outputs.with_integration_tests != '' && needs.configuration.outputs.is_scheduled_run != 'true' concurrency: diff --git a/.github/workflows/code-nightly.yml b/.github/workflows/code-nightly.yml index 064d1aa6dc6ca2..e7c57dba47b6b0 100644 --- a/.github/workflows/code-nightly.yml +++ b/.github/workflows/code-nightly.yml @@ -11,7 +11,7 @@ jobs: build: runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root steps: - uses: actions/checkout@v4 @@ -26,6 +26,7 @@ jobs: PR_DESC: "${{ steps.pr-details.outputs.pr_body }}" MAIN_BRANCH: ${{ (github.head_ref || github.ref) == 'refs/heads/main' }} LEEWAY_REMOTE_CACHE_BUCKET: ${{ github.ref == 'refs/heads/main' && 'leeway-cache-main-c514a01' || 'leeway-cache-dev-3ac8ef5' }} + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true run: | export LEEWAY_WORKSPACE_ROOT=$GITHUB_WORKSPACE diff --git a/.github/workflows/ide-integration-tests.yml b/.github/workflows/ide-integration-tests.yml index 97d80aca45224e..8d63f7d1840200 100644 --- a/.github/workflows/ide-integration-tests.yml +++ b/.github/workflows/ide-integration-tests.yml @@ -36,7 +36,7 @@ jobs: name: Configuration runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root outputs: name: ${{ steps.configuration.outputs.name }} @@ -125,7 +125,7 @@ jobs: needs: [configuration, infrastructure] runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root volumes: - /var/tmp:/var/tmp diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index d29cd08266bf7d..c3673b2b01e8aa 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -15,7 +15,7 @@ jobs: update-jetbrains: runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root steps: - uses: actions/checkout@v2 @@ -47,6 +47,7 @@ jobs: env: LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE: "8388608" LEEWAY_REMOTE_CACHE_BUCKET: ${{ github.ref == 'refs/heads/main' && 'leeway-cache-main-c514a01' || 'leeway-cache-dev-3ac8ef5' }} + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true run: | echo "May upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" imageRepoBase=${{ github.ref == 'refs/heads/main' && 'eu.gcr.io/gitpod-core-dev/build' || 'eu.gcr.io/gitpod-dev-artifact/build' }} diff --git a/.github/workflows/jetbrains-integration-test.yml b/.github/workflows/jetbrains-integration-test.yml index f8dce4376ba57b..8890e5e78921ea 100644 --- a/.github/workflows/jetbrains-integration-test.yml +++ b/.github/workflows/jetbrains-integration-test.yml @@ -34,7 +34,7 @@ on: jobs: jetbrains-smoke-test-linux: container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root runs-on: ubuntu-latest steps: @@ -89,6 +89,7 @@ jobs: DISPLAY: ":10" LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE: "8388608" LEEWAY_REMOTE_CACHE_BUCKET: "${{ needs.configuration.outputs.leeway_cache_bucket }}" + LEEWAY_CACHE_UPLOAD_IMMEDIATE: true TEST_USE_LATEST: ${{ inputs.use_latest }} run: | export GATEWAY_LINK=$(jq -r '.inputs.secret_gateway_link' $GITHUB_EVENT_PATH) diff --git a/.github/workflows/preview-env-check-regressions.yml b/.github/workflows/preview-env-check-regressions.yml index adbd902ac7e90d..ce4dddb91bc6e6 100644 --- a/.github/workflows/preview-env-check-regressions.yml +++ b/.github/workflows/preview-env-check-regressions.yml @@ -92,7 +92,7 @@ jobs: if: ${{ needs.configuration.outputs.skip == 'false' }} runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root volumes: - /var/tmp:/var/tmp diff --git a/.github/workflows/preview-env-delete.yml b/.github/workflows/preview-env-delete.yml index 01d7dfdeeccd0b..96d5205187bde4 100644 --- a/.github/workflows/preview-env-delete.yml +++ b/.github/workflows/preview-env-delete.yml @@ -15,7 +15,7 @@ jobs: if: github.event.ref_type == 'branch' || github.event.inputs.name != '' runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/preview-env-gc.yml b/.github/workflows/preview-env-gc.yml index 0645b719be86b7..b3f2a45e7db76a 100644 --- a/.github/workflows/preview-env-gc.yml +++ b/.github/workflows/preview-env-gc.yml @@ -11,7 +11,7 @@ jobs: name: "Find stale preview environments" runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root outputs: names: ${{ steps.set-matrix.outputs.names }} diff --git a/.github/workflows/workspace-integration-tests.yml b/.github/workflows/workspace-integration-tests.yml index 340dfb271b78cb..551c64d9cdbcd9 100644 --- a/.github/workflows/workspace-integration-tests.yml +++ b/.github/workflows/workspace-integration-tests.yml @@ -52,7 +52,7 @@ jobs: name: Configuration runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root outputs: name: ${{ steps.configuration.outputs.name }} @@ -158,7 +158,7 @@ jobs: needs: [configuration, infrastructure] runs-on: ubuntu-latest container: - image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 + image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 options: --user root steps: - uses: actions/checkout@v4 diff --git a/.gitpod.yml b/.gitpod.yml index 565189aa16679c..0b24fcc1c4b3f3 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,4 +1,4 @@ -image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:main-gha.34181 +image: eu.gcr.io/gitpod-dev-artifact/dev/dev-environment:fix-skip-if-empty-env-vars-gha.29 workspaceLocation: gitpod/gitpod-ws.code-workspace checkoutLocation: gitpod ports: diff --git a/components/content-service/pkg/git/git_test.go b/components/content-service/pkg/git/git_test.go index de96b4aef47bde..03dd7041410c88 100644 --- a/components/content-service/pkg/git/git_test.go +++ b/components/content-service/pkg/git/git_test.go @@ -38,7 +38,7 @@ func TestGitStatus(t *testing.T) { &Status{ porcelainStatus: porcelainStatus{ BranchOID: "(initial)", - BranchHead: "master", + BranchHead: "main", }, }, nil, @@ -53,7 +53,7 @@ func TestGitStatus(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, }, LatestCommit: notEmpty, @@ -73,7 +73,7 @@ func TestGitStatus(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, UntrackedFiles: []string{"another-file"}, }, @@ -94,7 +94,7 @@ func TestGitStatus(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, UncommitedFiles: []string{"first-file"}, }, @@ -118,7 +118,7 @@ func TestGitStatus(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, }, UnpushedCommits: []string{notEmpty}, @@ -170,7 +170,7 @@ func TestGitStatus(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, UntrackedFiles: []string{"this/is/a/nested/test/first-file"}, }, @@ -247,7 +247,7 @@ func TestGitStatusFromFiles(t *testing.T) { &Status{ porcelainStatus: porcelainStatus{ BranchOID: "(initial)", - BranchHead: "master", + BranchHead: "main", }, }, nil, @@ -262,7 +262,7 @@ func TestGitStatusFromFiles(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, }, LatestCommit: notEmpty, @@ -282,7 +282,7 @@ func TestGitStatusFromFiles(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, UntrackedFiles: []string{"another-file"}, }, @@ -303,7 +303,7 @@ func TestGitStatusFromFiles(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, UncommitedFiles: []string{"first-file"}, }, @@ -327,7 +327,7 @@ func TestGitStatusFromFiles(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, }, UnpushedCommits: []string{notEmpty}, @@ -379,7 +379,7 @@ func TestGitStatusFromFiles(t *testing.T) { }, &Status{ porcelainStatus: porcelainStatus{ - BranchHead: "master", + BranchHead: "main", BranchOID: notEmpty, UntrackedFiles: []string{"this/is/a/nested/test/first-file"}, }, @@ -437,7 +437,7 @@ func TestGitStatusFromFiles(t *testing.T) { } gitout, err = client.GitWithOutput(ctx, &errNoCommitsYet, "log", "--pretty=%H", "-n", "1") - if err != nil && !strings.Contains(err.Error(), "fatal: your current branch 'master' does not have any commits yet") { + if err != nil && !strings.Contains(err.Error(), "fatal: your current branch 'main' does not have any commits yet") { t.Errorf("error calling GitWithOutput: %v", err) return } diff --git a/components/gitpod-protocol/src/util/skip-if.ts b/components/gitpod-protocol/src/util/skip-if.ts index c3585983aca028..8909babc8a3c1b 100644 --- a/components/gitpod-protocol/src/util/skip-if.ts +++ b/components/gitpod-protocol/src/util/skip-if.ts @@ -5,13 +5,14 @@ */ /** - * Skips a Mocha TestSuite if a certain env var is not set and prints its + * Skips a Mocha TestSuite if a certain env var is not set or empty * @param name The name of the env var the TestSuite depends on being present */ export function ifEnvVarNotSet(name: string): boolean { - const skip = process.env[name] === undefined; + const value = process.env[name]; + const skip = value === undefined || value === ""; if (skip) { - console.log(`Skipping suite because env var '${name}' is not set`); + console.log(`Skipping suite because env var '${name}' is not set or empty`); } return skip; } diff --git a/dev/image/Dockerfile b/dev/image/Dockerfile index 39432fb7543968..acbfbe02ae5d38 100644 --- a/dev/image/Dockerfile +++ b/dev/image/Dockerfile @@ -45,7 +45,7 @@ RUN cd /usr/bin && curl -fsSL https://github.com/cert-manager/cert-manager/relea RUN cd /usr/bin && curl -fsSL https://github.com/praetorian-inc/gokart/releases/download/v0.5.1/gokart_0.5.1_linux_x86_64.tar.gz | tar xzv --no-anchored gokart # leeway -ARG LEEWAY_VERSION=0.10.6 +ARG LEEWAY_VERSION=0.10.8 ENV LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE=8388608 ENV LEEWAY_WORKSPACE_ROOT=/workspace/gitpod ENV LEEWAY_REMOTE_CACHE_BUCKET=leeway-cache-dev-3ac8ef5 @@ -129,12 +129,6 @@ RUN bash -c ". .nvm/nvm.sh \ && nvm install $GITPOD_NODE_VERSION" ENV PATH=/home/gitpod/.nvm/versions/node/v${GITPOD_NODE_VERSION}/bin:$PATH -# Disable npm/yarn lifecycle scripts by default (security hardening) -# To allow specific packages, use: npm rebuild or yarn rebuild -RUN npm config set ignore-scripts true --location=global && \ - npm config set ignore-scripts true --location=user && \ - echo 'ignore-scripts true' >> ~/.yarnrc - # Disable npx (security hardening - prevents arbitrary package execution) RUN sudo rm -f /usr/bin/npx /usr/local/bin/npx /home/gitpod/.nvm/versions/node/v${GITPOD_NODE_VERSION}/bin/npx && \ echo '#!/bin/sh' | sudo tee /usr/local/bin/npx > /dev/null && \ diff --git a/install/installer/third_party/charts/docker-registry/Chart.yaml b/install/installer/third_party/charts/docker-registry/Chart.yaml index c64bb24866ca11..91e69f1c09883f 100644 --- a/install/installer/third_party/charts/docker-registry/Chart.yaml +++ b/install/installer/third_party/charts/docker-registry/Chart.yaml @@ -9,4 +9,4 @@ version: 1.0.0 dependencies: - name: docker-registry version: 2.2.2 - repository: https://helm.twun.io + repository: https://twuni.github.io/docker-registry.helm