From 954c500e91d38af23f36ba85e59300ff25c4329a Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Sun, 12 Jan 2025 10:03:51 +0800 Subject: [PATCH 1/2] add workflows: sync-images for apollo kafka mysql redis --- .github/workflows/sync-images-apollo.yaml | 60 +++++++++++++++++++++++ .github/workflows/sync-images-kafka.yaml | 42 ++++++++++++++++ .github/workflows/sync-images-mysql.yaml | 44 +++++++++++++++++ .github/workflows/sync-images-redis.yaml | 42 ++++++++++++++++ 4 files changed, 188 insertions(+) create mode 100644 .github/workflows/sync-images-apollo.yaml create mode 100644 .github/workflows/sync-images-kafka.yaml create mode 100644 .github/workflows/sync-images-mysql.yaml create mode 100644 .github/workflows/sync-images-redis.yaml diff --git a/.github/workflows/sync-images-apollo.yaml b/.github/workflows/sync-images-apollo.yaml new file mode 100644 index 0000000..349d8d3 --- /dev/null +++ b/.github/workflows/sync-images-apollo.yaml @@ -0,0 +1,60 @@ +name: Sync Images for Apollo + +on: + schedule: + - cron: "0 0 * * *" + pull_request: + paths: + - '.github/workflows/sync-images-apollo.yaml' + workflow_dispatch: + branches: + - main + +jobs: + apollo-adminservice: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Initialize and Sync Apollo-adminservice image + env: + USER: ${{ secrets.IMAGES_REPO_USER }} + PASSWORD: ${{ secrets.IMAGES_REPO_PASSWORD }} + shell: bash + run: | + sudo apt update && sudo apt install -y git + echo "$PASSWORD" | docker login --username=$USER --password-stdin global-images.onwalk.net + docker pull docker.io/apolloconfig/apollo-adminservice:2.3.0 + docker tag docker.io/apolloconfig/apollo-adminservice:2.3.0 global-images.onwalk.net/public/apolloconfig/apollo-adminservice:2.3.0 + docker push global-images.onwalk.net/public/apolloconfig/apollo-adminservice:2.3.0 + + apollo-configservice: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Initialize and Sync Harbor DB + env: + USER: ${{ secrets.IMAGES_REPO_USER }} + PASSWORD: ${{ secrets.IMAGES_REPO_PASSWORD }} + shell: bash + run: | + sudo apt update && sudo apt install -y git + echo "$PASSWORD" | docker login --username=$USER --password-stdin global-images.onwalk.net + docker pull docker.io/apolloconfig/apollo-configservice:2.3.0 + docker tag docker.io/apolloconfig/apollo-configservice:2.3.0 global-images.onwalk.net/public/apolloconfig/apollo-configservice:2.3.0 + docker push global-images.onwalk.net/public/apolloconfig/apollo-configservice:2.3.0 + + apollo-portal: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Initialize and Sync Harbor Jobservice + env: + USER: ${{ secrets.IMAGES_REPO_USER }} + PASSWORD: ${{ secrets.IMAGES_REPO_PASSWORD }} + shell: bash + run: | + sudo apt update && sudo apt install -y git + echo "$PASSWORD" | docker login --username=$USER --password-stdin global-images.onwalk.net + docker pull docker.io/apolloconfig/apollo-portal:2.3.0 + docker tag docker.io/apolloconfig/apollo-portal:2.3.0 global-images.onwalk.net/public/apolloconfig/apollo-portal:2.3.0 + docker push global-images.onwalk.net/public/apolloconfig/apollo-portal:2.3.0 diff --git a/.github/workflows/sync-images-kafka.yaml b/.github/workflows/sync-images-kafka.yaml new file mode 100644 index 0000000..033b609 --- /dev/null +++ b/.github/workflows/sync-images-kafka.yaml @@ -0,0 +1,42 @@ +name: sync images for Kafka + +on: + schedule: + - cron: "0 0 * * *" + pull_request: + paths: + - '.github/workflows/sync-images-nginx.yaml' + workflow_dispatch: + branches: + - main + +jobs: + sync-images: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Initialization environment + env: + USER: ${{ secrets.IMAGES_REPO_USER }} + PASSWORD: ${{ secrets.IMAGES_REPO_PASSWORD }} + shell: bash + run: | + sudo apt update + sudo apt install git -y + echo "$PASSWORD" | docker login --username=$USER --password-stdin images.onwalk.net + + - name: sync images + shell: bash + run: | + function sync_image() + { + local src_image=$1 + local dest_image=$2 + docker pull $src_image + docker tag $src_image $dest_image + docker push $dest_image + } + sync_image "docker.io/bitnami/kafka:3.9.0-debian-12-r4" "images.onwalk.net/public/kafka:3.9.0-debian-12-r4" + sync_image "docker.io/bitnami/kubectl:1.32.0-debian-12-r0" "images.onwalk.net/public/kubectl:1.32.0-debian-12-r0" \ No newline at end of file diff --git a/.github/workflows/sync-images-mysql.yaml b/.github/workflows/sync-images-mysql.yaml new file mode 100644 index 0000000..a06ec77 --- /dev/null +++ b/.github/workflows/sync-images-mysql.yaml @@ -0,0 +1,44 @@ +name: sync images for Mysql + +on: + schedule: + - cron: "0 0 * * *" + pull_request: + paths: + - '.github/workflows/sync-images-mysql.yaml' + workflow_dispatch: + branches: + - main + +jobs: + sync-images: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Initialization environment + env: + USER: ${{ secrets.IMAGES_REPO_USER }} + PASSWORD: ${{ secrets.IMAGES_REPO_PASSWORD }} + shell: bash + run: | + sudo apt update + sudo apt install git -y + echo "$PASSWORD" | docker login --username=$USER --password-stdin images.onwalk.net + + - name: sync images + shell: bash + run: | + function sync_image() + { + local src_image=$1 + local dest_image=$2 + docker pull $src_image + docker tag $src_image $dest_image + docker push $dest_image + } + sync_image "docker.io/library/redis:alpine" "images.onwalk.net/public/redis:alpine" + sync_image "docker.io/otel/opentelemetry-collector-contrib:0.62.0" "images.onwalk.net/public/opentelemetry-collector-contrib:0.62.0" + #sync_image "busybox:1.32" "images.onwalk.net/public/busybox:1.32" + #sync_image "docker.io/mysql:5.7.30" "images.onwalk.net/public/database/mysql:5.7.30" diff --git a/.github/workflows/sync-images-redis.yaml b/.github/workflows/sync-images-redis.yaml new file mode 100644 index 0000000..f5f85fa --- /dev/null +++ b/.github/workflows/sync-images-redis.yaml @@ -0,0 +1,42 @@ +name: sync images for Redis + +on: + schedule: + - cron: "0 0 * * *" + pull_request: + paths: + - '.github/workflows/sync-images-redis.yaml' + workflow_dispatch: + branches: + - main + +jobs: + sync-images: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Initialization environment + env: + USER: ${{ secrets.IMAGES_REPO_USER }} + PASSWORD: ${{ secrets.IMAGES_REPO_PASSWORD }} + shell: bash + run: | + sudo apt update + sudo apt install git -y + echo "$PASSWORD" | docker login --username=$USER --password-stdin images.onwalk.net + + - name: sync images + shell: bash + run: | + function sync_image() + { + local src_image=$1 + local dest_image=$2 + docker pull $src_image + docker tag $src_image $dest_image + docker push $dest_image + } + sync_image "docker.io/bitnami/redis-cluster:7.4.1-debian-12-r3" "images.onwalk.net/public/redis-cluster:7.4.1-debian-12-r3" + sync_image "docker.io/bitnami/redis:7.4.1-debian-12-r3" "images.onwalk.net/public/redis:7.4.1-debian-12-r3" From 96baf3bab16e173ad45a6b1d174c62b55b817077 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Sun, 12 Jan 2025 10:13:53 +0800 Subject: [PATCH 2/2] add workflows: sync images prometheus-community -> images.onwalk.net --- .../sync-images-prometheus-community.yaml | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/sync-images-prometheus-community.yaml diff --git a/.github/workflows/sync-images-prometheus-community.yaml b/.github/workflows/sync-images-prometheus-community.yaml new file mode 100644 index 0000000..259afbb --- /dev/null +++ b/.github/workflows/sync-images-prometheus-community.yaml @@ -0,0 +1,70 @@ +name: sync images for Prometheus-community + +on: + schedule: + - cron: "0 0 * * *" + pull_request: + paths: + - '.github/workflows/sync-images-prometheus-community.yaml' + workflow_dispatch: + branches: + - main + +jobs: + kube-state-metrics: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Initialization environment + env: + USER: ${{ secrets.IMAGES_REPO_USER }} + PASSWORD: ${{ secrets.IMAGES_REPO_PASSWORD }} + shell: bash + run: | + sudo apt update + sudo apt install git -y + echo "$PASSWORD" | docker login --username=$USER --password-stdin images.onwalk.net + + - name: sync images + shell: bash + run: | + function sync_image() + { + local src_image=$1 + local dest_image=$2 + docker pull $src_image + docker tag $src_image $dest_image + docker push $dest_image + } + sync_image "registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0" "images.onwalk.net/public/prometheus/kube-state-metrics:v2.14.0" + + node-exporter: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Initialization environment + env: + USER: ${{ secrets.IMAGES_REPO_USER }} + PASSWORD: ${{ secrets.IMAGES_REPO_PASSWORD }} + shell: bash + run: | + sudo apt update + sudo apt install git -y + echo "$PASSWORD" | docker login --username=$USER --password-stdin images.onwalk.net + + - name: sync images + shell: bash + run: | + function sync_image() + { + local src_image=$1 + local dest_image=$2 + docker pull $src_image + docker tag $src_image $dest_image + docker push $dest_image + } + sync_image "quay.io/prometheus/node-exporter:v1.8.2" "images.onwalk.net/public/prometheus/node-exporter:v1.8.2"