diff --git a/.gitea/actions/buildkit_build_push.yaml b/.gitea/actions/buildkit_build_push.yaml new file mode 100644 index 0000000..6b119ad --- /dev/null +++ b/.gitea/actions/buildkit_build_push.yaml @@ -0,0 +1,50 @@ +name: BuildKit Build and Deploys +description: "Build and deploy images" + +inputs: + registry_addr: + description: "" + required: true + registry_username: + description: "" + required: true + registry_password: + registry_description: "" + required: true + buildkit_addr: + description: "" + required: true + default: "false" + name: + description: "" + required: true + default: "false" + context: + description: "" + required: true + default: "false" + dokerfile: + description: "" + required: true + default: "false" +runs: + using: "composite" + steps: + - name: Create kubeconfig + shell: bash + run: | + + - name: Authenticate to Gitea registry + run: | + mkdir -p ~/.docker + AUTH=$(printf "%s" "${{ inputs.registry_username }}:${{ inputs.registry_password }}" | base64 -w 0) + printf '{"auths":{"${{ inputs.registry_addr }}":{"auth":"%s"}}}' "$AUTH" > ~/.docker/config.json + + buildctl \ + --addr ${{ inputs.buildkit_addr }} \ + build \ + --frontend=dockerfile.v0 \ + --local context=${{ inputs.context }} \ + --local dockerfile=${{ inputs.dockerfile }} \ + --opt filename=Dockerfile \ + --output type=image,name=${{ inputs.tags }},push=true diff --git a/.gitea/workflows/ docker-image.deploy.yml b/.gitea/workflows/ docker-image.deploy.yml index 880278f..dacdb42 100644 --- a/.gitea/workflows/ docker-image.deploy.yml +++ b/.gitea/workflows/ docker-image.deploy.yml @@ -11,28 +11,19 @@ jobs: build-image: runs-on: oci-image-builder - steps: - + - name: Checkout code uses: actions/checkout@v4 + - name: Build and Push Image + uses: ./.gitea/actions/buildkit_build_push.yaml + with: + registry_addr: git.limbosolutions.com + registry_username: ${{ secrets.GITLIMBO_DOCKER_REGISTRY_USERNAME }} + registry_password: ${{ secrets.GITLIMBO_DOCKER_REGISTRY_PASSWORD }} + buildkit_addr: tcp://buildkitd.buildkit.svc.cluster.local:1234 + context: ./pbsclient + dockerfile: ./pbsclient/docker + name: git.limbosolutions.com/kb/pbsclient:latest - - name: Authenticate to Gitea registry - run: | - mkdir -p ~/.docker - AUTH=$(printf "%s" "${{ secrets.GITLIMBO_DOCKER_REGISTRY_USERNAME }}:${{ secrets.GITLIMBO_DOCKER_REGISTRY_PASSWORD }}" | base64 -w 0) - printf '{"auths":{"git.limbosolutions.com":{"auth":"%s"}}}' "$AUTH" > ~/.docker/config.json - - - - - name: Build and push image - run: | - buildctl \ - --addr tcp://buildkitd.buildkit.svc.cluster.local:1234 \ - build \ - --frontend=dockerfile.v0 \ - --local context=./pbsclient \ - --local dockerfile=./pbsclient/docker \ - --opt filename=Dockerfile \ - --output type=image,name=git.limbosolutions.com/kb/pbsclient:latest,push=true