begin tooling recommendation for resource backup/restore #160
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: images | ||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| jobs: | ||
| lint: | ||
| uses: ./.github/workflows/lint.yaml | ||
|
Check failure on line 10 in .github/workflows/images.yaml
|
||
| docker: | ||
| needs: lint | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| packages: write | ||
| steps: | ||
| - | ||
| name: Checkout | ||
| uses: actions/checkout@v5.0.0 | ||
| - | ||
| name: Set up QEMU | ||
| uses: docker/setup-qemu-action@v4.0.0 | ||
| - | ||
| name: Set up Docker Buildx | ||
| uses: docker/setup-buildx-action@v4.0.0 | ||
| - | ||
| name: Login to GitHub Container Registry | ||
| uses: docker/login-action@v4.1.0 | ||
| with: | ||
| registry: ghcr.io | ||
| username: ${{ github.repository_owner }} | ||
| password: ${{ secrets.GITHUB_TOKEN }} | ||
| - | ||
| name: Build and push runner | ||
| uses: docker/build-push-action@v7.1.0 | ||
| env: | ||
| SOURCE_DATE_EPOCH: 0 | ||
| BUILDKIT_PROGRESS: plain | ||
| DOCKER_BUILDKIT: 1 | ||
| with: | ||
| context: . | ||
| file: runner.Dockerfile | ||
| tags: | | ||
| ghcr.io/yolean/ystack-runner:${{ github.sha }} | ||
| platforms: linux/amd64,linux/arm64/v8 | ||
| push: true | ||
| cache-from: type=gha,scope=runner-latest | ||
| cache-to: type=gha,mode=max,scope=runner-latest | ||
| continue-on-error: false | ||
| timeout-minutes: 45 | ||
| - | ||
| uses: imjasonh/setup-crane@v0.5 | ||
| - | ||
| name: Get registry image tag | ||
| id: imageRegistryTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.images[0].newTag | sub("(.*)@.*", "${1}")' registry/images/kustomization.yaml | ||
| - | ||
| name: Mirror registry image from hub | ||
| run: | | ||
| TAG_REGISTRY=${{ steps.imageRegistryTag.outputs.result }} | ||
| crane cp registry:$TAG_REGISTRY ghcr.io/yolean/registry:$TAG_REGISTRY | ||
| - | ||
| name: Get buildkit image tag | ||
| id: imageBuildkitTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.images[0].newTag | sub("(.*)@.*", "${1}")' buildkit/kustomization.yaml | ||
| - | ||
| name: Mirror buildkit image from hub | ||
| run: | | ||
| TAG_BUILDKIT=${{ steps.imageBuildkitTag.outputs.result }} | ||
| crane cp docker.io/moby/buildkit:$TAG_BUILDKIT ghcr.io/yolean/buildkit:$TAG_BUILDKIT | ||
| - | ||
| name: Get dockerd image tag | ||
| id: imageDockerdTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.images[0].newTag | sub("(.*)@.*", "${1}")' docker/kustomization.yaml | ||
| - | ||
| name: Mirror dockerd image from hub | ||
| run: | | ||
| TAG_DOCKERD=${{ steps.imageDockerdTag.outputs.result }} | ||
| crane cp docker:$TAG_DOCKERD ghcr.io/yolean/dockerd:$TAG_DOCKERD | ||
| crane cp docker:$TAG_DOCKERD-rootless ghcr.io/yolean/dockerd:$TAG_DOCKERD-rootless | ||
| - | ||
| name: Get gitea image tag | ||
| id: imageGiteaTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.images[0].newTag | sub("(.*)@.*", "${1}")' git-source/base/kustomization.yaml | ||
| - | ||
| name: Mirror gitea image from hub | ||
| run: | | ||
| TAG_GITEA=${{ steps.imageGiteaTag.outputs.result }} | ||
| crane cp docker.io/gitea/gitea:$TAG_GITEA ghcr.io/yolean/gitea:$TAG_GITEA | ||
| - | ||
| name: Get grafana image tag | ||
| id: imageGrafanaTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.images[0].newTag | sub("(.*)@.*", "${1}")' monitoring/grafana/kustomization.yaml | ||
| - | ||
| name: Mirror grafana image from hub | ||
| run: | | ||
| TAG_GRAFANA=${{ steps.imageGrafanaTag.outputs.result }} | ||
| crane cp docker.io/grafana/grafana:$TAG_GRAFANA ghcr.io/yolean/grafana:$TAG_GRAFANA | ||
| - | ||
| name: Get grafana-image-renderer image tag | ||
| id: imageGrafanaImageRendererTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.images[1].newTag | sub("(.*)@.*", "${1}")' monitoring/grafana/kustomization.yaml | ||
| - | ||
| name: Mirror grafana-image-renderer image from hub | ||
| run: | | ||
| TAG_GRAFANAIMG=${{ steps.imageGrafanaImageRendererTag.outputs.result }} | ||
| crane cp docker.io/grafana/grafana-image-renderer:$TAG_GRAFANAIMG ghcr.io/yolean/grafana-image-renderer:$TAG_GRAFANAIMG | ||
| - | ||
| name: Get redpanda image tag | ||
| id: imageRedpandaTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.images[0].newTag | sub("(.*)@.*", "${1}")' kafka/redpanda-image/kustomization.yaml | ||
| - | ||
| name: Mirror redpanda image | ||
| run: | | ||
| TAG_REDPANDA=${{ steps.imageRedpandaTag.outputs.result }} | ||
| crane cp docker.redpanda.com/redpandadata/redpanda:$TAG_REDPANDA ghcr.io/yolean/redpanda:$TAG_REDPANDA | ||
| - | ||
| name: Get versitygw image tag | ||
| id: imageVersitygwTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.spec.template.spec.containers[0].image | sub("[^:]+:(.+)@.*", "${1}")' blobs-versitygw/standalone/deployment.yaml | ||
| - | ||
| name: Mirror versitygw image from hub | ||
| run: | | ||
| TAG_VERSITYGW=${{ steps.imageVersitygwTag.outputs.result }} | ||
| crane cp docker.io/versity/versitygw:$TAG_VERSITYGW ghcr.io/yolean/versitygw:$TAG_VERSITYGW | ||
| - | ||
| name: Get static-web-server image tag | ||
| id: imageStaticWebServerTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '."static-web-server".version' bin/y-bin.optional.yaml | ||
| - | ||
| name: Mirror static-web-server image from hub | ||
| run: | | ||
| TAG_SWS=${{ steps.imageStaticWebServerTag.outputs.result }} | ||
| crane cp docker.io/joseluisq/static-web-server:$TAG_SWS ghcr.io/yolean/static-web-server:$TAG_SWS | ||
| - | ||
| name: Get velero image tag | ||
| id: imageVeleroTag | ||
| uses: mikefarah/yq@v4.53.2 | ||
| with: | ||
| cmd: yq '.images[0].newTag | sub("(.*)@.*", "${1}")' backup/images/kustomization.yaml | ||
| - | ||
| name: Mirror velero image from hub | ||
| run: | | ||
| TAG_VELERO=${{ steps.imageVeleroTag.outputs.result }} | ||
| crane cp docker.io/velero/velero:$TAG_VELERO ghcr.io/yolean/velero:$TAG_VELERO | ||