diff --git a/.github/workflows/service-extensions-publish.yml b/.github/workflows/service-extensions-publish.yml new file mode 100644 index 0000000000..67b427bc04 --- /dev/null +++ b/.github/workflows/service-extensions-publish.yml @@ -0,0 +1,41 @@ +name: Publish Service Extensions Callout images packages + +# on push in the PR branch +on: + push: + branches: + - 'flavien/service-extensions' + +jobs: + publish-service-extensions: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Go 1.22 + uses: actions/setup-go@v5 + with: + go-version: 1.22 + id: go + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker + shell: bash + run: docker login -u publisher -p ${{ secrets.GITHUB_TOKEN }} ghcr.io + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: ./contrib/envoyproxy/envoy/cmd/serviceextensions/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ github.repository_owner }}/service-extensions-callout:latest + + diff --git a/contrib/envoyproxy/envoy/cmd/serviceextensions/Dockerfile b/contrib/envoyproxy/envoy/cmd/serviceextensions/Dockerfile new file mode 100644 index 0000000000..4047e356f1 --- /dev/null +++ b/contrib/envoyproxy/envoy/cmd/serviceextensions/Dockerfile @@ -0,0 +1,15 @@ +# Build stage +FROM golang:1.22-alpine AS builder +WORKDIR /app +COPY . . +RUN go build -o ./contrib/envoyproxy/envoy/cmd/serviceextensions/serviceextensions ./contrib/envoyproxy/envoy/cmd/serviceextensions + +# Runtime stage +FROM alpine:3.20.3 +WORKDIR /app +COPY --from=builder /app/contrib/envoyproxy/envoy/cmd/serviceextensions/serviceextensions /app/serviceextensions + +EXPOSE 80 +EXPOSE 443 + +CMD ["./serviceextensions"]