Skip to content

Commit

Permalink
Merge pull request #1 from zeeke/us/publish-images-test
Browse files Browse the repository at this point in the history
Us/publish images test
  • Loading branch information
zeeke authored Nov 19, 2024
2 parents 62a775e + 4c0a569 commit 02ddc84
Show file tree
Hide file tree
Showing 6 changed files with 160 additions and 0 deletions.
20 changes: 20 additions & 0 deletions .github/workflows/image-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Image build
on: [pull_request]
jobs:
build:
name: Image plugin
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build container image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: ghcr.io/${{ github.repository }}:latest
file: images/Dockerfile
36 changes: 36 additions & 0 deletions .github/workflows/image-push-master.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Image push for master
on:
push:
branches:
- master
env:
image-push-owner: 'zeeke'
jobs:

push-thin:
name: Image push thin image
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
if: ${{ github.repository_owner == env.image-push-owner }}
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Push container image
if: ${{ github.repository_owner == env.image-push-owner }}
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
ghcr.io/${{ github.repository }}:latest
file: images/Dockerfile
44 changes: 44 additions & 0 deletions .github/workflows/image-push-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Image push release
on:
push:
tags:
- v*
env:
image-push-owner: 'zeeke'
jobs:
push-thin:
name: Image push thin image/amd64
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
if: ${{ github.repository_owner == env.image-push-owner }}
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Docker meta
id: docker_meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/${{ github.repository }}
flavor: |
latest=false
- name: Push container image
if: ${{ github.repository_owner == env.image-push-owner }}
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
ghcr.io/${{ github.repository }}:stable
${{ steps.docker_meta.outputs.tags }}
file: images/Dockerfile
15 changes: 15 additions & 0 deletions images/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This Dockerfile is used to build the image available on DockerHub
FROM golang:1.23 AS build

WORKDIR /usr/src/bond-cni
COPY . .
RUN make build-bin

FROM alpine:latest
LABEL org.opencontainers.image.source=https://github.com/k8snetworkplumbingwg/bond-cni
WORKDIR /
COPY --from=build /usr/src/bond-cni/bin .
COPY --from=build /usr/src/bond-cni/LICENSE .
COPY --from=build /usr/src/bond-cni/images/entrypoint.sh .

CMD ["/entrypoint.sh"]
7 changes: 7 additions & 0 deletions images/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/sh

set -u -e -x

CNI_BIN_DIR=${CNI_BIN_DIR:-"/host/opt/cni/bin/"}

cp -f /bond $CNI_BIN_DIR
38 changes: 38 additions & 0 deletions manifests/bond-cni.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: bond-cni
labels:
tier: node
app: bond-cni
spec:
selector:
matchLabels:
app: bond-cni
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 10%
template:
metadata:
labels:
tier: node
app: bond-cni
spec:
nodeSelector:
kubernetes.io/arch: amd64
kubernetes.io/os: linux
tolerations:
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
containers:
- name: bond-cni-plugin
image: ghcr.io/k8snetworkplumbingwg/bond-cni:latest
resources:
requests:
cpu: "10m"
memory: "15Mi"
volumeMounts:
- name: cnibin
mountPath: /host/opt/cni/bin/

0 comments on commit 02ddc84

Please sign in to comment.