Skip to content

sync-kube

sync-kube #15

Workflow file for this run

name: sync-kube
on:
# push:
# paths-ignore:
# - '**.md'
# - .github/workflows/copy.yml
schedule:
- cron: '0 4 * * 2,4,6'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
images:
- |
registry.k8s.io:
images-by-tag-regex:
kube-apiserver: ^(latest|v1.([3-9][0-9]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-controller-manager: ^(latest|v1.([3-9][0-9]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-scheduler: ^(latest|v1.([3-9][0-9]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-proxy: ^(latest|v1.([3-9][0-9]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-apiserver: ^(v1.(2[0-3]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-controller-manager: ^(v1.(2[0-3]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-scheduler: ^(v1.(2[0-3]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-proxy: ^(v1.(2[0-3]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-apiserver: ^(v1.(2[4-6]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-controller-manager: ^(v1.(2[4-6]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-scheduler: ^(v1.(2[4-6]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-proxy: ^(v1.(2[4-6]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-apiserver: ^(v1.(2[7-9]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-controller-manager: ^(v1.(2[7-9]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-scheduler: ^(v1.(2[7-9]).\d{1,2})$
- |
registry.k8s.io:
images-by-tag-regex:
kube-proxy: ^(v1.(2[7-9]).\d{1,2})$
steps:
-
name: Checkout
uses: actions/checkout@v4
# -
# name: Set up Docker Buildx
# id: buildx
# uses: docker/setup-buildx-action@v1
# -
# name: Inspect builder
# run: |
# echo "Name: ${{ steps.buildx.outputs.name }}"
# echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
# echo "Status: ${{ steps.buildx.outputs.status }}"
# echo "Flags: ${{ steps.buildx.outputs.flags }}"
# echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
# -
# name: Login to DockerHub
# uses: docker/login-action@v1
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
- name: Install dependencies
run: |
sudo apt-get -y update
sudo apt-get -y install ca-certificates curl jq libgpgme11
SKOPEO_VER=v1.15.1
sudo curl -# -fSL https://github.com/dyrnq/skopeo-binary/releases/download/${SKOPEO_VER}/skopeo.tar.xz | sudo tar -xvJ -C /usr/bin
sudo chmod +x /usr/bin/skopeo
skopeo -v && skopeo --help
- name: Images sync
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: |
sync_tmp=$(mktemp "sync_XXXXX.yml" --tmpdir=/tmp/)
echo ${sync_tmp}
cat >${sync_tmp}<<EOF
${{ matrix.images }}
EOF
cat < ${sync_tmp}
skopeo --insecure-policy sync --keep-going --src yaml --all --dest-creds $DOCKER_USERNAME:$DOCKER_PASSWORD --dest docker ${sync_tmp} docker.io/dyrnq