From 606c1e4aa8e01a016d171fa617ebbfd3996b5275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=AE=89=E5=AE=B6?= Date: Wed, 29 Dec 2021 19:05:27 +0800 Subject: [PATCH] init --- .github/ISSUE_TEMPLATE/gcr-io_porter.md | 18 + .../workflows/ISSUE_TEMPLATE/gcr.io_porter.md | 18 + .github/workflows/gcr.io_mirror.yml | 94 ++++ .gitignore | 5 + CHANGES.md | 443 ++++++++++++++++++ LICENSE | 21 + README.md | 134 ++++++ 7 files changed, 733 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/gcr-io_porter.md create mode 100644 .github/workflows/ISSUE_TEMPLATE/gcr.io_porter.md create mode 100644 .github/workflows/gcr.io_mirror.yml create mode 100644 .gitignore create mode 100644 CHANGES.md create mode 100644 LICENSE create mode 100644 README.md diff --git a/.github/ISSUE_TEMPLATE/gcr-io_porter.md b/.github/ISSUE_TEMPLATE/gcr-io_porter.md new file mode 100644 index 0000000..0b192e5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/gcr-io_porter.md @@ -0,0 +1,18 @@ +--- +name: gcr.io_porter +about: docker镜像搬运工 +title: "[PORTER]" +labels: porter +assignees: '' + +--- + +标题必须为 `[PORTER]镜像名:tag` 的格式,例如`[PORTER]k8s.gcr.io/federation-controller-manager-arm64:v1.3.1-beta.1`,`[PORTER]gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1` + +issues的内容无所谓,可以为空 + +可以参考 [已搬运镜像集锦](https://github.com/anjia0532/gcr.io_mirror/issues?q=is%3Aissue+label%3Aporter+) + +**注意:** + +本项目目前仅支持 gcr.io 镜像 diff --git a/.github/workflows/ISSUE_TEMPLATE/gcr.io_porter.md b/.github/workflows/ISSUE_TEMPLATE/gcr.io_porter.md new file mode 100644 index 0000000..0b192e5 --- /dev/null +++ b/.github/workflows/ISSUE_TEMPLATE/gcr.io_porter.md @@ -0,0 +1,18 @@ +--- +name: gcr.io_porter +about: docker镜像搬运工 +title: "[PORTER]" +labels: porter +assignees: '' + +--- + +标题必须为 `[PORTER]镜像名:tag` 的格式,例如`[PORTER]k8s.gcr.io/federation-controller-manager-arm64:v1.3.1-beta.1`,`[PORTER]gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1` + +issues的内容无所谓,可以为空 + +可以参考 [已搬运镜像集锦](https://github.com/anjia0532/gcr.io_mirror/issues?q=is%3Aissue+label%3Aporter+) + +**注意:** + +本项目目前仅支持 gcr.io 镜像 diff --git a/.github/workflows/gcr.io_mirror.yml b/.github/workflows/gcr.io_mirror.yml new file mode 100644 index 0000000..bbb65be --- /dev/null +++ b/.github/workflows/gcr.io_mirror.yml @@ -0,0 +1,94 @@ +name: gcr.io_mirror + +on: + issues: + types: [opened] + label: + types: [created] + workflow_dispatch: + +env: + REPO_NAME: ${{ github.event.repository.name }} + GH_USER: ${{ github.actor }} + +jobs: + build: + runs-on: ubuntu-latest + + outputs: + GCR_IMAGE: ${{ steps.pullIssuesPorter.outputs.GCR_IMAGE }} + ISSUE_NUMBER: ${{ steps.pullIssuesPorter.outputs.ISSUE_NUMBER }} + MY_DOCKER_IMAGE_NAME: ${{ steps.transferImage.outputs.MY_DOCKER_IMAGE_NAME }} + + steps: + - name: Log into docker hub + uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + + - name: get porter issues + id: pullIssuesPorter + uses: actions/github-script@v3.1.0 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const issuesResponse = await github.issues.listForRepo({ + owner: '${{ env.GH_USER }}', + repo: '${{ env.REPO_NAME }}', + state: "open", + labels: "porter", + sort: "created", + direction: "desc", + per_page: 1 + }) + let gcr_image + let issue_number = -1 + if (Array.isArray(issuesResponse["data"]) && issuesResponse["data"].length) { + let title = issuesResponse["data"][0]["title"] + let start = 0 + if (title.includes("[PORTER]")){ + start = 8 + } + gcr_image = issuesResponse["data"][0]["title"].substring(start).trim() + issue_number = issuesResponse["data"][0]["number"] + } + console.log("gcr_image from issues is ", gcr_image,", issue_number is ",issue_number) + core.setOutput('GCR_IMAGE', gcr_image) + core.setOutput('ISSUE_NUMBER', issue_number) + + - name: Retrieve transfer image name + run: | + echo "::set-output name=MY_DOCKER_IMAGE_NAME::$(echo ${{ steps.pullIssuesPorter.outputs.GCR_IMAGE }} | sed 's/k8s\.gcr\.io/${{ secrets.DOCKER_HUB_USERNAME }}\/google-containers/g;s/gcr\.io/${{ secrets.DOCKER_HUB_USERNAME }}/g;s/\//\./g;s/ /\n/g;s/${{ secrets.DOCKER_HUB_USERNAME }}\./${{ secrets.DOCKER_HUB_USERNAME }}\//g')" + id: transferImage + + - name: pull from gcr.io and push to docker hub + shell: bash + run: | + docker pull ${{ steps.pullIssuesPorter.outputs.GCR_IMAGE }} + echo ${{ steps.transferImage.outputs.MY_DOCKER_IMAGE_NAME }} + docker tag ${{ steps.pullIssuesPorter.outputs.GCR_IMAGE }} ${{ steps.transferImage.outputs.MY_DOCKER_IMAGE_NAME }} + docker push ${{ steps.transferImage.outputs.MY_DOCKER_IMAGE_NAME }} + + - name: Close Porter Issues + id: closePorterIssues + uses: actions/github-script@v3.1.0 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + if (${{ steps.pullIssuesPorter.outputs.ISSUE_NUMBER }} > 0){ + const issuesResponse = await github.issues.update({ + owner: '${{ env.GH_USER }}', + repo: '${{ env.REPO_NAME }}', + issue_number: ${{ steps.pullIssuesPorter.outputs.ISSUE_NUMBER }}, + state: 'closed' + }) + console.log("update issues resp:", issuesResponse["status"] == 200 ? "success" : "failed" ) + const issuesComment = await github.issues.createComment({ + owner: '${{ env.GH_USER }}', + repo: '${{ env.REPO_NAME }}', + issue_number: ${{ steps.pullIssuesPorter.outputs.ISSUE_NUMBER }}, + body: '转换完成
\n```bash \n#原镜像\n\n\n${{ steps.pullIssuesPorter.outputs.GCR_IMAGE }}\n\n\n#转换后镜像\n\n\n${{ steps.transferImage.outputs.MY_DOCKER_IMAGE_NAME }}\n\n\n#下载并重命名镜像\n\n\ndocker pull ${{ steps.transferImage.outputs.MY_DOCKER_IMAGE_NAME }}\n\n\ndocker tag ${{ steps.transferImage.outputs.MY_DOCKER_IMAGE_NAME }} ${{ steps.pullIssuesPorter.outputs.GCR_IMAGE }}\n\n\ndocker images | grep $(echo ${{ steps.pullIssuesPorter.outputs.GCR_IMAGE }}|awk -F":" "{print $1}")\n\n\n```' + }); + console.log("create issues comment resp:", issuesComment["status"] == 201 ? "success" : "failed" ) + } diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16e54e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +###################### +# Project Specific +###################### +*.lck +.idea/ \ No newline at end of file diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 0000000..f4882d1 --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,443 @@ +## 2018-11-19 01:27 + +[gcr.io/kubeflow-images-public/tensorflow-1.6.0-notebook-gpu:v20180604-b3733835](https://hub.docker.com/r/anjia0532/kubeflow-images-public.tensorflow-1.6.0-notebook-gpu/tags/) + + +[gcr.io/kubeflow-images-public/tensorflow-1.6.0-notebook-gpu:v-base-1c46aec-891](https://hub.docker.com/r/anjia0532/kubeflow-images-public.tensorflow-1.6.0-notebook-gpu/tags/) + + +## 2018-11-16 12:37 + +[gcr.io/cloud-datalab/datalab-gpu:commit-847720b19daebe266c24ee67fb541527bbfd2628](https://hub.docker.com/r/anjia0532/cloud-datalab.datalab-gpu/tags/) + + +[gcr.io/cloud-datalab/datalab-gpu:cloud_datalab_release_20180202_0202_RC00](https://hub.docker.com/r/anjia0532/cloud-datalab.datalab-gpu/tags/) + + +[gcr.io/cloud-datalab/datalab-gpu:cloud_datalab_release_20180106_1615_RC00](https://hub.docker.com/r/anjia0532/cloud-datalab.datalab-gpu/tags/) + + +[gcr.io/cloud-datalab/datalab-gpu:commit-a78ea30f4918bf02bc5a03f034f3a09ffb6ddf60](https://hub.docker.com/r/anjia0532/cloud-datalab.datalab-gpu/tags/) + + +## 2018-11-09 22:38 + +[gcr.io/kubeflow-images-public/tf-model-server-gpu:v20180707-5a11c84d](https://hub.docker.com/r/anjia0532/kubeflow-images-public.tf-model-server-gpu/tags/) + + +[gcr.io/kubeflow-images-public/tf-model-server-gpu:v20180803-4ec73180](https://hub.docker.com/r/anjia0532/kubeflow-images-public.tf-model-server-gpu/tags/) + + +[gcr.io/kubeflow-images-public/tf-model-server-gpu:v20180608-cc3566da](https://hub.docker.com/r/anjia0532/kubeflow-images-public.tf-model-server-gpu/tags/) + + +## 2018-10-29 09:15 + +[gcr.io/google-containers/kube-apiserver-ppc64le:v1.11.4](https://hub.docker.com/r/anjia0532/google-containers.kube-apiserver-ppc64le/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-1eb9d019](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/proxy:git-c59f43d8](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/linkerd-io/web:git-1eb9d019](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/google-containers/hyperkube-arm:v1.11.4](https://hub.docker.com/r/anjia0532/google-containers.hyperkube-arm/tags/) + + +[gcr.io/spinnaker-marketplace/orca:1.2.0-20181026022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.orca/tags/) + + +[gcr.io/spinnaker-marketplace/deck:2.6.0-20181023163851](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.deck/tags/) + + +[gcr.io/spinnaker-marketplace/kayenta:0.5.0-20181027022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.kayenta/tags/) + + +[gcr.io/linkerd-io/grafana:git-c59f43d8](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/spinnaker-marketplace/igor:0.13.1-20181025141030](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.igor/tags/) + + +[gcr.io/spinnaker-marketplace/fiat:1.2.0-20181026022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.fiat/tags/) + + +[gcr.io/spinnaker-marketplace/front50:0.14.0-20181025141030](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.front50/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-0e91dbb1](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/controller:master](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-1eb9d019](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/spinnaker-marketplace/orca:1.2.0-20181025022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.orca/tags/) + + +[gcr.io/linkerd-io/proxy:git-1eb9d019](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/spinnaker-marketplace/gate:1.3.0-20181024022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.gate/tags/) + + +[gcr.io/linkerd-io/web:git-148d7bc6](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/grafana:git-1eb9d019](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/spinnaker-marketplace/deck:2.6.0-20181025141030](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.deck/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-148d7bc6](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/spinnaker-marketplace/kayenta:0.5.0-20181025141030](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.kayenta/tags/) + + +[gcr.io/spinnaker-marketplace/igor:0.14.0-20181026022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.igor/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-0e91dbb1](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/proxy:git-148d7bc6](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/linkerd-io/controller:git-6cffad27](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/spinnaker-marketplace/front50:0.14.0-20181025022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.front50/tags/) + + +[gcr.io/spinnaker-marketplace/orca:1.2.0-20181023163851](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.orca/tags/) + + +[gcr.io/linkerd-io/web:git-39b80b11](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/grafana:git-148d7bc6](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/spinnaker-marketplace/gate:1.3.0-20181025141030](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.gate/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-8ed75322](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-148d7bc6](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/proxy:git-39b80b11](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/spinnaker-marketplace/echo:2.2.0-20181025022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.echo/tags/) + + +[gcr.io/linkerd-io/web:git-58255f56](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/grafana:git-8ed75322](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/controller:git-c59f43d8](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/spinnaker-marketplace/orca:1.2.0-20181027022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.orca/tags/) + + +[gcr.io/spinnaker-marketplace/gate:1.3.0-20181024130441](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.gate/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-8ed75322](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/spinnaker-marketplace/halyard:1.12.0-20181023123733](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.halyard/tags/) + + +[gcr.io/linkerd-io/proxy:git-58255f56](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/spinnaker-marketplace/front50:0.14.0-20181026022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.front50/tags/) + + +[gcr.io/linkerd-io/grafana:git-39b80b11](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-39b80b11](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/web:dev-0e91dbb1-alex](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.0.1-20181024042809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + +[gcr.io/spinnaker-marketplace/echo:2.2.0-20181024022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.echo/tags/) + + +[gcr.io/linkerd-io/controller:git-1eb9d019](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-39b80b11](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/spinnaker-marketplace/orca:1.2.0-20181023152542](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.orca/tags/) + + +[gcr.io/linkerd-io/proxy:git-b0b30ce7](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/linkerd-io/grafana:git-58255f56](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/spinnaker-marketplace/gate:1.3.0-20181026022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.gate/tags/) + + +[gcr.io/linkerd-io/web:edge-18.10.4](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/k8s-minikube/minikube-e2e:latest](https://hub.docker.com/r/anjia0532/k8s-minikube.minikube-e2e/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-58255f56](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-58255f56](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/spinnaker-marketplace/echo:2.2.0-20181023152542](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.echo/tags/) + + +[gcr.io/linkerd-io/grafana:dev-0e91dbb1-alex](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/proxy:edge-18.10.4](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/linkerd-io/controller:git-0e91dbb1](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/spinnaker-marketplace/halyard:1.12.0](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.halyard/tags/) + + +[gcr.io/linkerd-io/web:git-1922dc0a](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-b0b30ce7](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/grafana:edge-18.10.4](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/cli-bin:dev-0e91dbb1-alex](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/proxy:git-cf7a532e](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.1.0-20181027022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + +[gcr.io/linkerd-io/proxy-init:edge-18.10.4](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/web:git-715e8ff2](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/grafana:git-1922dc0a](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/controller:git-148d7bc6](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/proxy:git-907140bc](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-b0b30ce7](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/controller:git-8ed75322](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/web:git-cf7a532e](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-1922dc0a](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/grafana:git-715e8ff2](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/proxy:git-d2f847a4](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/linkerd-io/controller:git-39b80b11](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/cli-bin:edge-18.10.4](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/web:git-e1671397](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-cf7a532e](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/grafana:git-cf7a532e](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/controller:git-58255f56](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/proxy:git-83333d01](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/spinnaker-marketplace/gradle_cache:latest](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.gradle_cache/tags/) + + +[gcr.io/spinnaker-marketplace/halyard:1.12.0-20181023152542](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.halyard/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-e1671397](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/web:git-907140bc](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/grafana:git-907140bc](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-cf7a532e](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/proxy:git-8393aed0](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-907140bc](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/controller:dev-0e91dbb1-alex](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/web:git-d2f847a4](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/grafana:git-d2f847a4](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-d2f847a4](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.1.0-20181026022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + +[gcr.io/linkerd-io/grafana:git-83333d01](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/proxy-init:dev-1922dc0a-alex](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-907140bc](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/web:git-83333d01](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/proxy:git-c661b00f](https://hub.docker.com/r/anjia0532/linkerd-io.proxy/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-83333d01](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/controller:git-b0b30ce7](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/controller:edge-18.10.4](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/grafana:git-8393aed0](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-8393aed0](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/web:git-8393aed0](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-4486d543](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-d2f847a4](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/grafana:git-4486d543](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/proxy-init:git-c661b00f](https://hub.docker.com/r/anjia0532/linkerd-io.proxy-init/tags/) + + +[gcr.io/linkerd-io/web:git-c661b00f](https://hub.docker.com/r/anjia0532/linkerd-io.web/tags/) + + +[gcr.io/linkerd-io/grafana:git-c661b00f](https://hub.docker.com/r/anjia0532/linkerd-io.grafana/tags/) + + +[gcr.io/linkerd-io/controller:git-cf7a532e](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-83333d01](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/controller:git-907140bc](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-8393aed0](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.0.2-20181026042809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + +[gcr.io/linkerd-io/controller:git-d2f847a4](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-4486d543](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/controller:git-83333d01](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/cli-bin:git-c661b00f](https://hub.docker.com/r/anjia0532/linkerd-io.cli-bin/tags/) + + +[gcr.io/linkerd-io/controller:git-8393aed0](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/controller:git-4486d543](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/linkerd-io/controller:git-c661b00f](https://hub.docker.com/r/anjia0532/linkerd-io.controller/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.1.0-20181025141030](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.1.0-20181025022809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.0.2-20181027042809](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.1.0-20181023163851](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + +[gcr.io/spinnaker-marketplace/clouddriver:4.1.0-20181023123733](https://hub.docker.com/r/anjia0532/spinnaker-marketplace.clouddriver/tags/) + + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7838cda --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 AnJia + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..ad4b991 --- /dev/null +++ b/README.md @@ -0,0 +1,134 @@ +Google Container Registry Mirror [last sync 2018-11-19 16:26 UTC] +------- +[![Sync Status](https://travis-ci.org/anjia0532/gcr.io_mirror.svg?branch=sync)](https://travis-ci.org/anjia0532/gcr.io_mirror) + +**Oops** + +![](http://ww1.sinaimg.cn/large/afaffa71ly1fxe8g1k4jwj20gt0850t1.jpg) + +**Azure Mirrors** + +thanks for @zebang li share this news! + +![](http://ww1.sinaimg.cn/large/afaffa71ly1g0l50nuqjlj20fo0aa3z5.jpg) + +Syntax +------- + +```bash +gcr.io/namespace/image_name:image_tag +#eq +gcr.azk8s.cn/namespace/image_name:image_tag + +# special +k8s.gcr.io/{image}/{tag} <==> gcr.io/google-containers/{image}/{tag} <==> gcr.azk8s.cn/namespace/image_name:image_tag +``` + +~~Add new namespace~~ +------- +[Fork and edit sync branch file gcr_namespaces](https://github.com/anjia0532/gcr.io_mirror/edit/sync/gcr_namespaces) + +append new line about namespace(e.g. `gcr.io/google-containers` u should append `google-containers`,`k8s.gcr.io` eq `gcr.io/google-containers`) + +save and commit a PR for this repo. + +Example +------- + +```bash + +docker pull gcr.azk8s.cn/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1 +# eq +docker pull gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1 + +# special +# eq +docker pull k8s.gcr.io/federation-controller-manager-arm64:v1.3.1-beta.1 +``` + +~~ReTag anjia0532 images to gcr.io~~ +------- + +```bash +# replace gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1 to real image +# this will convert gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1 +# to anjia0532/google-containers.federation-controller-manager-arm64:v1.3.1-beta.1 and pull it +# k8s.gcr.io/{image}/{tag} <==> gcr.io/google-containers/{image}/{tag} <==> anjia0532/google-containers.{image}/{tag} + +images=$(cat img.txt) +#or +#images=$(cat < gcr.io/google-containers/{image}/{tag} <==> anjia0532/google-containers.{image}/{tag} + +for img in $(docker images --format "{{.Repository}}:{{.Tag}}"| grep "anjia0532"); do + n=$(echo ${img}| awk -F'[/.:]' '{printf "gcr.io/%s",$2}') + image=$(echo ${img}| awk -F'[/.:]' '{printf "/%s",$3}') + tag=$(echo ${img}| awk -F'[:]' '{printf ":%s",$2}') + docker tag $img "${n}${image}${tag}" + [[ ${n} == "gcr.io/google-containers" ]] && docker tag $img "k8s.gcr.io${image}${tag}" +done +``` + +[Changelog](./CHANGES.md) +------- + +~~Mirror 14 namespaces image from gcr.io~~ +----- + + +[gcr.io/runconduit/*](./runconduit/README.md) + + +[gcr.io/google-samples/*](./google-samples/README.md) + + +[gcr.io/kubernetes-helm/*](./kubernetes-helm/README.md) + + +[gcr.io/k8s-minikube/*](./k8s-minikube/README.md) + + +[gcr.io/tf-on-k8s-dogfood/*](./tf-on-k8s-dogfood/README.md) + + +[gcr.io/spinnaker-marketplace/*](./spinnaker-marketplace/README.md) + + +[gcr.io/google-containers/*](./google-containers/README.md) + + +[gcr.io/distroless/*](./distroless/README.md) + + +[gcr.io/istio-release/*](./istio-release/README.md) + + +[gcr.io/linkerd-io/*](./linkerd-io/README.md) + + +[gcr.io/cloud-datalab/*](./cloud-datalab/README.md) + + +[gcr.io/kubeflow-images-public/*](./kubeflow-images-public/README.md) + + +[gcr.io/cloudsql-docker/*](./cloudsql-docker/README.md) + + +[gcr.io/google-appengine/*](./google-appengine/README.md) + +