Skip to content

Commit abead1b

Browse files
committed
Add git actions to build multi arch images
1 parent c066075 commit abead1b

17 files changed

+401
-46
lines changed
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Build consumerui
2+
3+
on:
4+
push:
5+
branches:
6+
- "master"
7+
8+
jobs:
9+
docker:
10+
runs-on: ubuntu-latest
11+
steps:
12+
-
13+
name: Checkout
14+
uses: actions/checkout@v3
15+
-
16+
name: Set up QEMU
17+
uses: docker/setup-qemu-action@v2
18+
-
19+
name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@v2
21+
-
22+
name: Login to Container Registry
23+
uses: docker/login-action@v2
24+
with:
25+
registry: ${{ secrets.REGISTRY }}
26+
username: ${{ secrets.REGISTRY_USERNAME }}
27+
password: ${{ secrets.REGISTRY_PASSWORD }}
28+
-
29+
name: Set Version
30+
run: echo "VERSION=$(tail -1 deploy/versions.txt)" >> $GITHUB_ENV
31+
32+
-
33+
name: Build and push consumerui
34+
uses: docker/build-push-action@v4
35+
with:
36+
context: .
37+
file: consumerui/Dockerfile
38+
platforms: linux/amd64,linux/arm64
39+
push: true
40+
tags: |
41+
${{ secrets.REGISTRY }}/${{ secrets.REGISTRY_USERNAME }}/consumerui:latest

.github/workflows/build-deploy.yaml

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Build deploy utils
2+
3+
on:
4+
push:
5+
branches:
6+
- "master"
7+
8+
jobs:
9+
docker:
10+
runs-on: ubuntu-latest
11+
steps:
12+
-
13+
name: Checkout
14+
uses: actions/checkout@v3
15+
-
16+
name: Set up QEMU
17+
uses: docker/setup-qemu-action@v2
18+
-
19+
name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@v2
21+
-
22+
name: Login to Container Registry
23+
uses: docker/login-action@v2
24+
with:
25+
registry: ${{ secrets.REGISTRY }}
26+
username: ${{ secrets.REGISTRY_USERNAME }}
27+
password: ${{ secrets.REGISTRY_PASSWORD }}
28+
-
29+
name: Set Version
30+
run: echo "VERSION=$(tail -1 deploy/versions.txt)" >> $GITHUB_ENV
31+
-
32+
name: Build and push webhook-tls-getter
33+
uses: docker/build-push-action@v4
34+
with:
35+
context: .
36+
file: deploy/Dockerfile
37+
platforms: linux/amd64,linux/arm64
38+
push: true
39+
tags: |
40+
${{ secrets.REGISTRY }}/${{ secrets.REGISTRY_USERNAME }}/webhook-tls-getter:latest
41+
-
42+
name: Build and push delete-kubeplus-resources
43+
uses: docker/build-push-action@v4
44+
with:
45+
context: .
46+
file: deploy/Dockerfile.cleanup
47+
platforms: linux/amd64,linux/arm64
48+
push: true
49+
tags: |
50+
${{ secrets.REGISTRY }}/${{ secrets.REGISTRY_USERNAME }}/delete-kubeplus-resources:latest
51+
-
52+
name: Build and push kubeconfiggenerator
53+
uses: docker/build-push-action@v4
54+
with:
55+
context: .
56+
file: deploy/Dockerfile.kubeconfiggenerator
57+
platforms: linux/amd64,linux/arm64
58+
push: true
59+
tags: |
60+
${{ secrets.REGISTRY }}/${{ secrets.REGISTRY_USERNAME }}/kubeconfiggenerator:latest
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Build mutating-webhook-helper
2+
3+
on:
4+
push:
5+
branches:
6+
- "master"
7+
8+
jobs:
9+
docker:
10+
runs-on: ubuntu-latest
11+
steps:
12+
-
13+
name: Checkout
14+
uses: actions/checkout@v3
15+
-
16+
name: Set up QEMU
17+
uses: docker/setup-qemu-action@v2
18+
-
19+
name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@v2
21+
-
22+
name: Login to Container Registry
23+
uses: docker/login-action@v2
24+
with:
25+
registry: ${{ secrets.REGISTRY }}
26+
username: ${{ secrets.REGISTRY_USERNAME }}
27+
password: ${{ secrets.REGISTRY_PASSWORD }}
28+
-
29+
name: Set Version
30+
run: echo "VERSION=$(tail -1 deploy/versions.txt)" >> $GITHUB_ENV
31+
-
32+
name: Build and push mutating-webhook-helper
33+
uses: docker/build-push-action@v4
34+
with:
35+
context: .
36+
file: mutating-webhook-helper/Dockerfile
37+
platforms: linux/amd64,linux/arm64
38+
push: true
39+
tags: |
40+
${{ secrets.REGISTRY }}/${{ secrets.REGISTRY_USERNAME }}/mutating-webhook-helper:latest
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Build mutating-webhook
2+
3+
on:
4+
push:
5+
branches:
6+
- "master"
7+
8+
jobs:
9+
docker:
10+
runs-on: ubuntu-latest
11+
steps:
12+
-
13+
name: Checkout
14+
uses: actions/checkout@v3
15+
-
16+
name: Set up QEMU
17+
uses: docker/setup-qemu-action@v2
18+
-
19+
name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@v2
21+
-
22+
name: Login to Container Registry
23+
uses: docker/login-action@v2
24+
with:
25+
registry: ${{ secrets.REGISTRY }}
26+
username: ${{ secrets.REGISTRY_USERNAME }}
27+
password: ${{ secrets.REGISTRY_PASSWORD }}
28+
-
29+
name: Set Version
30+
run: echo "VERSION=$(tail -1 deploy/versions.txt)" >> $GITHUB_ENV
31+
-
32+
name: Build and push mutating-webhook
33+
uses: docker/build-push-action@v4
34+
with:
35+
context: .
36+
file: mutating-webhook/Dockerfile
37+
platforms: linux/amd64,linux/arm64
38+
push: true
39+
tags: |
40+
${{ secrets.REGISTRY }}/${{ secrets.REGISTRY_USERNAME }}/pac-mutating-admission-webhook:latest
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Build platform-operator and helmer
2+
3+
on:
4+
push:
5+
branches:
6+
- "master"
7+
8+
jobs:
9+
docker:
10+
runs-on: ubuntu-latest
11+
steps:
12+
-
13+
name: Checkout
14+
uses: actions/checkout@v3
15+
-
16+
name: Set up QEMU
17+
uses: docker/setup-qemu-action@v2
18+
-
19+
name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@v2
21+
-
22+
name: Login to Container Registry
23+
uses: docker/login-action@v2
24+
with:
25+
registry: ${{ secrets.REGISTRY }}
26+
username: ${{ secrets.REGISTRY_USERNAME }}
27+
password: ${{ secrets.REGISTRY_PASSWORD }}
28+
-
29+
name: Set Version
30+
run: echo "VERSION=$(tail -1 deploy/versions.txt)" >> $GITHUB_ENV
31+
-
32+
name: Build and push platform-operator
33+
uses: docker/build-push-action@v4
34+
with:
35+
context: .
36+
file: platform-operator/artifacts/deployment/Dockerfile
37+
platforms: linux/amd64,linux/arm64
38+
push: true
39+
tags: |
40+
${{ secrets.REGISTRY }}/${{ secrets.REGISTRY_USERNAME }}/platform-operator:latest
41+
-
42+
name: Build and push helm pod
43+
uses: docker/build-push-action@v4
44+
with:
45+
context: .
46+
file: platform-operator/helm-pod/Dockerfile
47+
platforms: linux/amd64,linux/arm64
48+
push: true
49+
tags: |
50+
${{ secrets.REGISTRY }}/${{ secrets.REGISTRY_USERNAME }}/helm-pod:latest

consumerui/Dockerfile

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ RUN curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packa
66

77
RUN wget https://github.com/cloud-ark/kubeplus/raw/master/kubeplus-kubectl-plugins.tar.gz && gunzip kubeplus-kubectl-plugins.tar.gz && tar -xvf kubeplus-kubectl-plugins.tar && cp -r /plugins/* bin/
88

9-
ADD requirements.txt /root/requirements.txt
10-
ADD consumerui.py /root/consumerui.py
11-
ADD grapher.py /root/grapher.py
12-
ADD templates /root/templates
13-
ADD static /root/static
9+
ADD consumerui/requirements.txt /root/requirements.txt
10+
ADD consumerui/consumerui.py /root/consumerui.py
11+
ADD consumerui/grapher.py /root/grapher.py
12+
ADD consumerui/templates /root/templates
13+
ADD consumerui/static /root/static
1414
RUN cd /root; pip install -r requirements.txt
1515
RUN mkdir /root/.kube/
1616

deploy/Dockerfile

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
FROM ubuntu:20.04
2-
RUN apt-get update && apt-get install -y openssl jq python3 python3-pip && pip3 install pyyaml
3-
ADD webhook-create-self-signed-ca-cert.sh /
4-
COPY kubectl /root/
5-
COPY kubeplus-non-pod-resources.yaml /root/.
6-
COPY mutatingwebhook.yaml /root/.
2+
RUN apt-get update && apt-get install -y openssl curl jq python3 python3-pip && pip3 install pyyaml
3+
ADD deploy/webhook-create-self-signed-ca-cert.sh /
4+
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && cd /root/ && curl -LO "https://dl.k8s.io/release/v1.26.0/bin/linux/${arch}/kubectl"
5+
COPY deploy/kubeplus-non-pod-resources.yaml /root/.
6+
COPY deploy/mutatingwebhook.yaml /root/.
77
#COPY webhook-patch-ca-bundle-new.sh /root/.
8-
COPY kubeconfiggenerator.py /root/.
8+
COPY deploy/kubeconfiggenerator.py /root/.
99
RUN cp /root/kubectl bin/. && chmod +x /root/kubectl && chmod +x bin/kubectl
1010
ENTRYPOINT ["/webhook-create-self-signed-ca-cert.sh"]

deploy/Dockerfile.cleanup

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM ubuntu:20.04
2-
ADD delete-kubeplus-components.sh /root/.
3-
COPY kubectl /root/
4-
RUN apt-get update && apt-get install -y openssl jq python3 python3-pip && pip3 install pyyaml
2+
ADD deploy/delete-kubeplus-components.sh /root/.
3+
RUN apt-get update && apt-get install -y openssl curl jq python3 python3-pip && pip3 install pyyaml
4+
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && cd /root/ && curl -LO "https://dl.k8s.io/release/v1.26.0/bin/linux/${arch}/kubectl"
55
RUN cp /root/kubectl bin/. && chmod +x /root/kubectl && chmod +x bin/kubectl
66
ENTRYPOINT ["/root/delete-kubeplus-components.sh"]

deploy/Dockerfile.kubeconfiggenerator

+11-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
FROM ubuntu:20.04
2-
RUN apt-get update && apt-get install -y openssl jq python3 python3-pip wget && pip3 install pyyaml
3-
COPY kubectl /root/
4-
COPY helm /root/
5-
COPY kubeconfiggenerator.py /root/.
6-
COPY kubeconfiggenerator.sh /root/.
7-
ADD requirements.txt /root/requirements.txt
8-
RUN cd /root; pip install -r requirements.txt
2+
RUN apt-get update && apt-get install -y curl wget openssl jq python3 python3-pip && pip3 install pyyaml Flask
3+
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
4+
wget "https://get.helm.sh/helm-v3.11.1-linux-${arch}.tar.gz" && \
5+
tar xvf "helm-v3.11.1-linux-${arch}.tar.gz" && \
6+
mv "linux-${arch}/helm" /root/ && rm "helm-v3.11.1-linux-${arch}.tar.gz" && \
7+
rm -rf "linux-${arch}"/
8+
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && cd /root/ && curl -LO "https://dl.k8s.io/release/v1.26.0/bin/linux/${arch}/kubectl"
9+
COPY deploy/kubeconfiggenerator.sh /root/.
10+
COPY deploy/kubeconfiggenerator.py /root/.
911
RUN cp /root/kubectl bin/. && chmod +x /root/kubectl && chmod +x bin/kubectl && chmod +x /root/kubeconfiggenerator.sh && cp /root/helm bin/. && chmod +x /root/helm && chmod +x bin/helm
1012

1113
#ENTRYPOINT ["/root/kubeconfiggenerator.sh"]
1214

15+
#ENTRYPOINT ["/root/kubeconfiggenerator.sh"]
16+
1317
EXPOSE 5005
1418
CMD ["python3", "/root/kubeconfiggenerator.py"]
1519

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{{- define "webhooktlsGetterImage" -}}
2+
{{- $registryName := .Values.webhooktlsGetter.image.registry -}}
3+
{{- $imageName := .Values.webhooktlsGetter.image.repository -}}
4+
{{- $tag := .Values.webhooktlsGetter.image.tag -}}
5+
{{- printf "%s/%s:%s" $registryName $imageName $tag -}}
6+
{{- end -}}
7+
8+
{{- define "kubeconfiggeneratorImage" -}}
9+
{{- $registryName := .Values.kubeconfiggenerator.image.registry -}}
10+
{{- $imageName := .Values.kubeconfiggenerator.image.repository -}}
11+
{{- $tag := .Values.kubeconfiggenerator.image.tag -}}
12+
{{- printf "%s/%s:%s" $registryName $imageName $tag -}}
13+
{{- end -}}
14+
15+
{{- define "mutatingAdmissionWebhookImage" -}}
16+
{{- $registryName := .Values.mutatingAdmissionWebhook.image.registry -}}
17+
{{- $imageName := .Values.mutatingAdmissionWebhook.image.repository -}}
18+
{{- $tag := .Values.mutatingAdmissionWebhook.image.tag -}}
19+
{{- printf "%s/%s:%s" $registryName $imageName $tag -}}
20+
{{- end -}}
21+
22+
{{- define "platformOperatorImage" -}}
23+
{{- $registryName := .Values.platformOperator.image.registry -}}
24+
{{- $imageName := .Values.platformOperator.image.repository -}}
25+
{{- $tag := .Values.platformOperator.image.tag -}}
26+
{{- printf "%s/%s:%s" $registryName $imageName $tag -}}
27+
{{- end -}}
28+
29+
30+
{{- define "consumeruiImage" -}}
31+
{{- $registryName := .Values.consumerui.image.registry -}}
32+
{{- $imageName := .Values.consumerui.image.repository -}}
33+
{{- $tag := .Values.consumerui.image.tag -}}
34+
{{- printf "%s/%s:%s" $registryName $imageName $tag -}}
35+
{{- end -}}
36+
37+
{{- define "helmerImage" -}}
38+
{{- $registryName := .Values.helmer.image.registry -}}
39+
{{- $imageName := .Values.helmer.image.repository -}}
40+
{{- $tag := .Values.helmer.image.tag -}}
41+
{{- printf "%s/%s:%s" $registryName $imageName $tag -}}
42+
{{- end -}}
43+
44+
{{- define "cleanupKubeplusComponentsImage" -}}
45+
{{- $registryName := .Values.cleanupKubeplusComponents.image.registry -}}
46+
{{- $imageName := .Values.cleanupKubeplusComponents.image.repository -}}
47+
{{- $tag := .Values.cleanupKubeplusComponents.image.tag -}}
48+
{{- printf "%s/%s:%s" $registryName $imageName $tag -}}
49+
{{- end -}}

0 commit comments

Comments
 (0)