Skip to content
Merged
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
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,16 @@ jobs:

- uses: docker/setup-buildx-action@v3

# cache-from/cache-to: type=gha rejoue sinon indéfiniment la couche
# apt-get de chaque Dockerfile, gelant les paquets Debian installés à
# leur version du premier build mis en cache — c'est ce qui a laissé
# passer un correctif de sécurité (libpcre2-8-0) malgré apt-get
# update. CACHEBUST change une fois par jour pour forcer sa
# réexécution au moins quotidiennement.
- name: Calcule le cache-bust journalier
id: cachebust
run: echo "value=$(date -u +%Y-%m-%d)" >> "$GITHUB_OUTPUT"

- name: Construit l'image de la CA (sans publication)
uses: docker/build-push-action@v6
with:
Expand All @@ -106,6 +116,7 @@ jobs:
cache-to: type=gha,mode=max
build-args: |
VERSION=${{ github.sha }}
CACHEBUST=${{ steps.cachebust.outputs.value }}

- name: Vérifie que le binaire de la CA démarre
# SoftHSM exige un PIN de 4 à 255 caractères, comme pour la TSA et le
Expand Down Expand Up @@ -134,6 +145,7 @@ jobs:
cache-to: type=gha,mode=max
build-args: |
VERSION=${{ github.sha }}
CACHEBUST=${{ steps.cachebust.outputs.value }}

- name: Vérifie que le binaire TSA démarre
# SoftHSM exige un PIN de 4 à 255 caractères.
Expand All @@ -160,6 +172,7 @@ jobs:
cache-to: type=gha,mode=max
build-args: |
VERSION=${{ github.sha }}
CACHEBUST=${{ steps.cachebust.outputs.value }}

- name: Vérifie que le binaire du répondeur OCSP démarre
run: docker run --rm -e OPENEIDAS_PIN=1234 openeidas-ocsp-responder:ci version
Expand Down Expand Up @@ -209,6 +222,13 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Voir le commentaire équivalent du job build : sans cache-bust, le
# cache GHA gèlerait les paquets Debian installés à leur version du
# premier build en cache.
- name: Calcule le cache-bust journalier
id: cachebust
run: echo "value=$(date -u +%Y-%m-%d)" >> "$GITHUB_OUTPUT"

- name: Construit et publie l'image
uses: docker/build-push-action@v6
with:
Expand All @@ -222,6 +242,7 @@ jobs:
cache-to: type=gha,mode=max
build-args: |
VERSION=${{ github.sha }}
CACHEBUST=${{ steps.cachebust.outputs.value }}

helm-lint:
name: Lint du chart Helm
Expand All @@ -243,6 +264,10 @@ jobs:

- uses: docker/setup-buildx-action@v3

- name: Calcule le cache-bust journalier
id: cachebust
run: echo "value=$(date -u +%Y-%m-%d)" >> "$GITHUB_OUTPUT"

- name: Construit l'image de la CA
uses: docker/build-push-action@v6
with:
Expand All @@ -253,6 +278,8 @@ jobs:
tags: openeidas-ca:ci
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
CACHEBUST=${{ steps.cachebust.outputs.value }}

- name: Construit l'image TSA
uses: docker/build-push-action@v6
Expand All @@ -264,6 +291,8 @@ jobs:
tags: openeidas-tsa:ci
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
CACHEBUST=${{ steps.cachebust.outputs.value }}

- name: Construit l'image du répondeur OCSP
uses: docker/build-push-action@v6
Expand All @@ -275,6 +304,8 @@ jobs:
tags: openeidas-ocsp-responder:ci
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
CACHEBUST=${{ steps.cachebust.outputs.value }}

- name: Crée un cluster kind
uses: helm/kind-action@v1
Expand Down
10 changes: 9 additions & 1 deletion deploy/ca-server/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,15 @@ RUN cargo build --release --bin ca-server \

FROM debian:bookworm-slim

RUN apt-get update \
# Invalide volontairement le cache Docker de cette couche une fois par jour
# (CACHEBUST passé par la CI, voir .github/workflows/ci.yml) : sans ça,
# `cache-from: type=gha` rejoue indéfiniment le même `apt-get upgrade`,
# gelant les paquets installés à leur version du premier build en cache —
# exactement ce qui a laissé passer libpcre2-8-0 non corrigé.
ARG CACHEBUST=unset
RUN echo "cachebust=${CACHEBUST}" \
&& apt-get update \
&& apt-get upgrade -y \
Comment thread
PhilippeVienne marked this conversation as resolved.
&& apt-get install -y --no-install-recommends softhsm2 opensc ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
&& useradd --system --uid 10003 --create-home --home-dir /var/lib/open-eidas --groups softhsm ca \
Expand Down
9 changes: 8 additions & 1 deletion deploy/ocsp-responder/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,14 @@ RUN cargo build --release --bin ocsp-responder \

FROM debian:bookworm-slim

RUN apt-get update \
# Invalide volontairement le cache Docker de cette couche une fois par jour
# (CACHEBUST passé par la CI, voir .github/workflows/ci.yml) : sans ça,
# `cache-from: type=gha` rejoue indéfiniment le même `apt-get upgrade`,
# gelant les paquets installés à leur version du premier build en cache.
ARG CACHEBUST=unset
RUN echo "cachebust=${CACHEBUST}" \
&& apt-get update \
&& apt-get upgrade -y \
Comment thread
PhilippeVienne marked this conversation as resolved.
&& apt-get install -y --no-install-recommends softhsm2 opensc ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
&& useradd --system --uid 10002 --create-home --home-dir /var/lib/open-eidas --groups softhsm ocsp \
Expand Down
9 changes: 8 additions & 1 deletion deploy/tsa/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,14 @@ RUN cargo build --release --bin tsa-server \

FROM debian:bookworm-slim

RUN apt-get update \
# Invalide volontairement le cache Docker de cette couche une fois par jour
# (CACHEBUST passé par la CI, voir .github/workflows/ci.yml) : sans ça,
# `cache-from: type=gha` rejoue indéfiniment le même `apt-get upgrade`,
# gelant les paquets installés à leur version du premier build en cache.
ARG CACHEBUST=unset
RUN echo "cachebust=${CACHEBUST}" \
&& apt-get update \
&& apt-get upgrade -y \
Comment thread
PhilippeVienne marked this conversation as resolved.
&& apt-get install -y --no-install-recommends softhsm2 opensc ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
&& useradd --system --uid 10001 --create-home --home-dir /var/lib/open-eidas --groups softhsm tsa \
Expand Down
Loading