Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 26 additions & 10 deletions .github/workflows/push-auto-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,20 +121,15 @@ jobs:
python-version: [ "3.11", "3.12", "3.13", "3.14" ]
info:
- dockerfile: Dockerfile.alpine
suffix: alpine
os_version: ""
flavor: alpine
- dockerfile: Dockerfile.debian
suffix: bookworm
os_version: bookworm
flavor: bookworm
- dockerfile: Dockerfile.debian
suffix: trixie
os_version: trixie
flavor: trixie
- dockerfile: Dockerfile.debian
suffix: bookworm-slim
os_version: bookworm-slim
flavor: bookworm-slim
- dockerfile: Dockerfile.debian
suffix: trixie-slim
os_version: trixie-slim
flavor: trixie-slim

steps:
- name: ⬇️ Checkout repository
Expand All @@ -153,13 +148,34 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.11.1

- name: 📦 Add docker metadata
uses: docker/metadata-action@v5.8.0
id: meta
with:
images: |
ghcr.io/happn-app/esctl
flavor: |
latest=auto
suffix=-${{ matrix.info.flavor }}
tags: |
type=semver,pattern={{raw}}-py${{ matrix.python-version }},value=${{ needs.release.outputs.version }}
labels: |
org.opencontainers.image.source="https://github.com/happn-app/esctl"
org.opencontainers.image.description="esctl is a CLI tool to manage Elasticsearch clusters on any infrastructure."
org.opencontainers.image.licenses="Apache-2.0"
org.opencontainers.image.authors="Happn <ops@happn.fr>"
org.opencontainers.image.vendor="Happn"
org.opencontainers.image.created=${{ github.event.head_commit.timestamp }}
org.opencontainers.image.revision=${{ github.sha }}

- name: 🐳 Build and push Docker image
uses: docker/build-push-action@v6.18.0
with:
context: .
file: ./${{ matrix.info.dockerfile }}
platforms: linux/amd64,linux/arm64
push: true
annotations: ${{ steps.meta.outputs.annotations }}
tags: ghcr.io/happn-app/esctl:${{ needs.release.outputs.version }}-py${{ matrix.python-version }}-${{ matrix.info.suffix }}
build-args: |
OS_VERSION=${{ matrix.info.os_version }}
Expand Down
10 changes: 0 additions & 10 deletions Dockerfile.alpine
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
ARG PYTHON_VERSION=3.14
FROM ghcr.io/astral-sh/uv:python${PYTHON_VERSION}-alpine

ARG CREATED_AT=""
ARG GIT_REV="dirty"
LABEL org.opencontainers.image.source="https://github.com/happn-app/esctl"
LABEL org.opencontainers.image.description="esctl is a CLI tool to manage Elasticsearch clusters on any infrastructure."
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.authors="Happn <ops@happn.fr>"
LABEL org.opencontainers.image.vendor="Happn"
LABEL org.opencontainers.image.created=${CREATED_AT}
LABEL org.opencontainers.image.revision=${GIT_REV}

RUN addgroup -S esctl && adduser -S esctl -G esctl
RUN mkdir -p /home/esctl/.local/bin && chown -R esctl:esctl /home/esctl
RUN mkdir -p /etc/esctl && chown -R esctl:esctl /etc/esctl
Expand Down
10 changes: 0 additions & 10 deletions Dockerfile.debian
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,6 @@ ARG OS_VERSION=bookworm
ARG PYTHON_VERSION=3.14
FROM ghcr.io/astral-sh/uv:python${PYTHON_VERSION}-${OS_VERSION}

ARG CREATED_AT=""
ARG GIT_REV="dirty"
LABEL org.opencontainers.image.source="https://github.com/happn-app/esctl"
LABEL org.opencontainers.image.description="esctl is a CLI tool to manage Elasticsearch clusters on any infrastructure."
LABEL org.opencontainers.image.licenses="Apache-2.0"
LABEL org.opencontainers.image.authors="Happn <ops@happn.fr>"
LABEL org.opencontainers.image.vendor="Happn"
LABEL org.opencontainers.image.created=${CREATED_AT}
LABEL org.opencontainers.image.revision=${GIT_REV}

RUN groupadd --system esctl && useradd --system --gid esctl --create-home esctl
RUN mkdir -p /home/esctl/.local/bin && chown -R esctl:esctl /home/esctl
RUN mkdir -p /etc/esctl && chown -R esctl:esctl /etc/esctl
Expand Down
Loading