Skip to content

Commit

Permalink
Add arm64 support (#267)
Browse files Browse the repository at this point in the history
* Add Multiarch Support to build ARM images.

Updated dependencies

* Configure pipeline for arm64 builds

Update version refs to 4.5.0

* Update .github/workflows/ghcr-build.yml

Co-authored-by: Felix Schumacher <felix.schumacher@internetallee.de>

* Update .github/workflows/ghcr-build.yml

Co-authored-by: Felix Schumacher <felix.schumacher@internetallee.de>

* Update .github/workflows/ghcr-build.yml

Co-authored-by: Felix Schumacher <felix.schumacher@internetallee.de>

---------

Co-authored-by: Felix Schumacher <felix.schumacher@internetallee.de>
  • Loading branch information
Jaydee94 and FSchumacher authored Nov 29, 2024
1 parent 12ea6fb commit b7057b2
Show file tree
Hide file tree
Showing 11 changed files with 1,173 additions and 1,600 deletions.
33 changes: 21 additions & 12 deletions .github/workflows/ghcr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
strategy:
fail-fast: false
matrix:
include:
- context: .
dockerfile: Dockerfile.api
image: ghcr.io/${{ github.repository }}/api
- context: .
dockerfile: Dockerfile.ui
image: ghcr.io/${{ github.repository }}/ui
fail-fast: false
matrix:
include:
- context: .
dockerfile: Dockerfile.api
image: ghcr.io/${{ github.repository }}/api
- context: .
dockerfile: Dockerfile.ui
image: ghcr.io/${{ github.repository }}/ui
permissions:
contents: read
packages: write
Expand All @@ -35,24 +35,33 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up QEMU for cross-platform builds
uses: docker/setup-qemu-action@v3
with:
platforms: all

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

- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
uses: docker/metadata-action@v5
with:
images: ${{ matrix.image }}

- name: Build and push Docker image
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
uses: docker/build-push-action@v5
with:
context: ${{ matrix.context }}
file: ${{ matrix.dockerfile }}
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
6 changes: 3 additions & 3 deletions Dockerfile.api
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FROM debian:latest as deps
FROM debian:latest AS deps

ARG KUBESEAL_VERSION=0.27.2
ARG KUBESEAL_ARCH=amd64
ARG TARGETARCH
ENV KUBESEAL_BINARY=/deps/kubeseal \
PRIVATE_KEY=/dev/null \
PUBLIC_KEY=/deps/cert.pem
Expand All @@ -13,7 +13,7 @@ RUN apt-get update && \
apt-get install -y openssl curl && \
apt-get clean
RUN openssl req -x509 -days 365 -nodes -newkey rsa:4096 -keyout "$PRIVATE_KEY" -out "$PUBLIC_KEY" -subj "/CN=sealed-secret/O=sealed-secret"
RUN curl -Lsf -o - "https://github.com/bitnami-labs/sealed-secrets/releases/download/v${KUBESEAL_VERSION}/kubeseal-${KUBESEAL_VERSION}-linux-${KUBESEAL_ARCH}.tar.gz" | \
RUN curl -Lsf -o - "https://github.com/bitnami-labs/sealed-secrets/releases/download/v${KUBESEAL_VERSION}/kubeseal-${KUBESEAL_VERSION}-linux-${TARGETARCH}.tar.gz" | \
tar -xzf - && \
chmod 0755 "${KUBESEAL_BINARY}"

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.ui
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ COPY ui/ /ui
WORKDIR /ui
RUN npm install --legacy-peer-deps && npm run build

FROM nginxinc/nginx-unprivileged:stable-alpine as ui-production-stage
FROM nginxinc/nginx-unprivileged:stable-alpine AS ui-production-stage
USER root
RUN apk update && apk upgrade
USER nginx
Expand Down
358 changes: 183 additions & 175 deletions api/poetry.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion api/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "kubeseal-webgui-api"
version = "4.4.1"
version = "4.5.0"
description = "A python based backend for the kubeseal binary."
authors = ["Jan Herber <janherber@gmx.de>"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion chart/kubeseal-webgui/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ apiVersion: v2
name: kubeseal-webgui
description: A Helm chart for installing kubeseal-webgui
version: 5.2.4
appVersion: 4.4.1
appVersion: 4.5.0
4 changes: 2 additions & 2 deletions chart/kubeseal-webgui/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ The command removes all the Kubernetes components associated with the chart and
| `replicaCount` | Number of nodes | `1` |
| `annotations` | Optional annotations for the pods | `{}` |
| `api.image.repository` | Image-Repository and name of the api image. | `kubesealwebgui/api` |
| `api.image.tag` | Image Tag of the api image. | `4.4.1` |
| `api.image.tag` | Image Tag of the api image. | `4.5.0` |
| `api.environment` | Additional env variables for the api image. | `{}` |
| `api.loglevel` | Loglevel for the api image. | `INFO` |
| `ui.image.repository` | Image-Repository and name of the ui image. | `kubesealwebgui/ui` |
| `ui.image.tag` | Image Tag of the ui image. | `4.4.1` |
| `ui.image.tag` | Image Tag of the ui image. | `4.5.0` |
| `image.pullPolicy` | Image Pull Policy | `Always` |
| `nameOverride` | Name-Override for the objects | `""` |
| `fullnameOverride` | Fullname-Override for the objects | `""` |
Expand Down
4 changes: 2 additions & 2 deletions chart/kubeseal-webgui/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ api:
url: http://localhost:8080
image:
repository: kubesealwebgui/api
tag: 4.4.0
tag: 4.5.0
environment: {}
loglevel: "INFO"
ui:
image:
repository: kubesealwebgui/ui
tag: 4.4.0
tag: 4.5.0
image:
pullPolicy: Always

Expand Down
Loading

0 comments on commit b7057b2

Please sign in to comment.