From 9ab8dab20f9e591f0bced20b1537c1a147e7890e Mon Sep 17 00:00:00 2001 From: belodetek <2033996+ab77@users.noreply.github.com> Date: Fri, 10 Nov 2023 07:57:12 -0800 Subject: [PATCH] build scaffold change-type: patch --- .github/workflows/build-operator.yml | 75 +++++++++++++++++++++++++++ .github/workflows/flowzone.yml | 42 +++++++++++++++ .github/workflows/workflow.yml | 11 ++++ .gitmodules | 3 ++ Dockerfile | 34 ++++++++++++ README.md | 4 ++ docker-bake.hcl | 6 +++ foo.zst | Bin 0 -> 38381 bytes repo.yml | 2 + src | 1 + 10 files changed, 178 insertions(+) create mode 100644 .github/workflows/build-operator.yml create mode 100644 .github/workflows/flowzone.yml create mode 100644 .github/workflows/workflow.yml create mode 100644 .gitmodules create mode 100644 Dockerfile create mode 100644 docker-bake.hcl create mode 100644 foo.zst create mode 100644 repo.yml create mode 160000 src diff --git a/.github/workflows/build-operator.yml b/.github/workflows/build-operator.yml new file mode 100644 index 0000000..e81ab19 --- /dev/null +++ b/.github/workflows/build-operator.yml @@ -0,0 +1,75 @@ +--- +name: Build operator + +on: + workflow_call: + +# https://docs.github.com/en/actions/using-jobs/using-concurrency +concurrency: + group: ${{ github.workflow }}-${{ github.event.number || github.ref }} + # cancel jobs in progress for updated PRs, but not merge or tag events + cancel-in-progress: ${{ github.event.action == 'synchronize' }} + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + platform: + - linux/amd64 + - linux/arm64 + include: + - platform: linux/amd64 + slug: linux-amd64 + goarch: amd64 + filearch: x86-64 + - platform: linux/arm64 + slug: linux-arm64 + goarch: arm64 + filearch: aarch64 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - uses: docker/setup-qemu-action@v3 + - uses: docker/setup-buildx-action@v3 + + - uses: actions/setup-go@v4 + with: + cache-dependency-path: | + src/go.sum + go-version-file: src/go.mod + + - id: build + run: | + set -x + + wget -qO /usr/local/bin/operator-sdk https://github.com/operator-framework/operator-sdk/releases/download/${OPERATOR_SDK_VERSION}/operator-sdk-${OPERATOR_SDK_VERSION}-$(uname -m)-linux-gnu + chmod +x /usr/local/bin/operator-sdk + + release_sha=$(cd src; git rev-parse HEAD) + SECRET_OPERATOR_VERSION=${release_sha::7} + + ln -s src ${DOCKER_IMAGE} + pushd ${DOCKER_IMAGE} + make build + [[ $(file -b build/_output/bin/kubernetes-secret-generator) =~ ${{ matrix.filearch }} ]] + echo "release_sha=${release_sha}" >> $GITHUB_OUTPUT + + env: + OPERATOR_SDK_VERSION: v0.19.1 + DOCKER_IMAGE: kubernetes-secret-generator # throw away image(s) + DOCKER_DEFAULT_PLATFORM: ${{ matrix.platform }} # throw away image(s) + GOARCH: ${{ matrix.goarch }} + + - run: | + cat ${{ runner.temp }}/kubernetes-secret-generator.zst + + - uses: actions/upload-artifact@v3 + with: + name: kubernetes-secret-generator-${{ steps.build.outputs.release_sha }}-${{ matrix.slug }} + path: ${{ runner.temp }}/kubernetes-secret-generator.zst + if-no-files-found: error + retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/flowzone.yml b/.github/workflows/flowzone.yml new file mode 100644 index 0000000..e0b6ece --- /dev/null +++ b/.github/workflows/flowzone.yml @@ -0,0 +1,42 @@ +--- +name: Flowzone + +on: + pull_request: + types: [opened, synchronize, closed] + branches: [main, master] + pull_request_target: + types: [opened, synchronize, closed] + branches: [main, master] + +jobs: + flowzone: + name: Flowzone + uses: product-os/flowzone/.github/workflows/flowzone.yml@master + # prevent duplicate workflow executions for pull_request and pull_request_target + if: | + ( + github.event.pull_request.head.repo.full_name == github.repository && + github.event_name == 'pull_request' + ) || ( + github.event.pull_request.head.repo.full_name != github.repository && + github.event_name == 'pull_request_target' + ) + secrets: + DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + GH_APP_PRIVATE_KEY: ${{ secrets.GH_APP_PRIVATE_KEY }} + with: + jobs_timeout_minutes: 60 + repo_config: true + repo_description: | + "Build scaffold for kubernetes-secret-generator (multi-arch)" + repo_homepage: "https://github.com/mittwald/kubernetes-secret-generator" + # FIXME: remove when https://github.com/mittwald/kubernetes-secret-generator/issues/80 is resolved + docker_images: | + ghcr.io/belodetek/kubernetes-secret-generator + docker_runs_on: > + { + "linux/amd64": ["ubuntu-22.04"], + "linux/arm64": ["ubuntu-22.04"] + } diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..8cfe345 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,11 @@ +--- +name: Build + +on: + pull_request: + types: [opened, synchronize] + branches: [main, master] + +jobs: + build: + uses: ./.github/workflows/build-operator.yml diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..3bbd60e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src"] + path = src + url = https://github.com/mittwald/kubernetes-secret-generator.git diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c3be633 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +FROM debian AS artefact + +ARG TARGETPLATFORM + +COPY . . + +RUN apt update && apt install -y git gnupg2 zstd file \ + && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 23F3D4EA75716059 \ + && echo "deb [arch=$(dpkg --print-architecture)] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list \ + && apt update && apt install gh -y + +RUN --mount=type=secret,id=GITHUB_TOKEN set -ax; \ + gh auth login --with-token kubernetes-secret-generator \ + && file kubernetes-secret-generator + + +# --- runtime +FROM registry.access.redhat.com/ubi8/ubi-minimal:8.8 + +ENV OPERATOR=/usr/local/bin/kubernetes-secret-generator \ + USER_UID=1001 \ + USER_NAME=kubernetes-secret-generator + +COPY --from=artefact kubernetes-secret-generator ${OPERATOR} +COPY src/build/bin /usr/local/bin +RUN /usr/local/bin/user_setup + +ENTRYPOINT ["/usr/local/bin/entrypoint"] + +USER ${USER_UID} diff --git a/README.md b/README.md index 90ef4ec..ecf2fca 100644 --- a/README.md +++ b/README.md @@ -1 +1,5 @@ # kubernetes-secret-generator +> [kubernetes-secret-generator] build scaffold to provide multi-arch images + + +[kubernetes-secret-generator]: https://github.com/mittwald/kubernetes-secret-generator \ No newline at end of file diff --git a/docker-bake.hcl b/docker-bake.hcl new file mode 100644 index 0000000..2bcedae --- /dev/null +++ b/docker-bake.hcl @@ -0,0 +1,6 @@ +target "default" { + platforms = [ + "linux/amd64", + "linux/arm64" + ] +} diff --git a/foo.zst b/foo.zst new file mode 100644 index 0000000000000000000000000000000000000000..5cf04566427e1f47b4522cc1b0f4854c92016603 GIT binary patch literal 38381 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