This commit is contained in:
赵安家 2021-12-29 19:05:27 +08:00
commit 606c1e4aa8
7 changed files with 733 additions and 0 deletions

18
.github/ISSUE_TEMPLATE/gcr-io_porter.md vendored Normal file
View File

@ -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 镜像

View File

@ -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 镜像

94
.github/workflows/gcr.io_mirror.yml vendored Normal file
View File

@ -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: '转换完成 <br/>\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" )
}

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
######################
# Project Specific
######################
*.lck
.idea/

443
CHANGES.md Normal file
View File

@ -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/)

21
LICENSE Normal file
View File

@ -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.

134
README.md Normal file
View File

@ -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 <<EOF
# gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1
# gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1
# gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1
#EOF
#)
eval $(echo ${images}|
sed 's/k8s\.gcr\.io/anjia0532\/google-containers/g;s/gcr\.io/anjia0532/g;s/\//\./g;s/ /\n/g;s/anjia0532\./anjia0532\//g' |
uniq |
awk '{print "docker pull "$1";"}'
)
# this code will retag all of anjia0532's image from local e.g. anjia0532/google-containers.federation-controller-manager-arm64:v1.3.1-beta.1
# to gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1
# k8s.gcr.io/{image}/{tag} <==> 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)