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
2 changes: 1 addition & 1 deletion .docker/clamav.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# @see https://hub.docker.com/r/uselagoon/commons/tags
# @see https://github.com/uselagoon/lagoon-images/tree/main/images/commons

FROM uselagoon/commons:26.3.0 AS commons
FROM uselagoon/commons:26.4.0 AS commons

FROM clamav/clamav-debian:1.5.2-37

Expand Down
2 changes: 1 addition & 1 deletion .docker/cli.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# @see https://hub.docker.com/r/uselagoon/php-8.4-cli-drupal/tags
# @see https://github.com/uselagoon/lagoon-images/tree/main/images/php-cli-drupal

FROM uselagoon/php-8.4-cli-drupal:26.3.0
FROM uselagoon/php-8.4-cli-drupal:26.4.0

# Add missing variables.
# @todo Remove once https://github.com/uselagoon/lagoon/issues/3121 is resolved.
Expand Down
2 changes: 1 addition & 1 deletion .docker/database.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#
# The ARG value will be updated with a value passed from docker-compose.yml

ARG IMAGE=uselagoon/mysql-8.4:26.3.0
ARG IMAGE=uselagoon/mysql-8.4:26.4.0
# hadolint ignore=DL3006
FROM ${IMAGE}

Expand Down
2 changes: 1 addition & 1 deletion .docker/nginx-drupal.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ARG CLI_IMAGE
# hadolint ignore=DL3006
FROM ${CLI_IMAGE:-cli} AS cli

FROM uselagoon/nginx-drupal:26.3.0
FROM uselagoon/nginx-drupal:26.4.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

repos=(
  "commons"
  "mysql-8.4"
  "nginx-drupal"
  "php-8.4-cli-drupal"
  "php-8.4-fpm"
  "solr-9-drupal"
)
tag="26.4.0"

for repo in "${repos[@]}"; do
  token="$(curl -fsSL "https://auth.docker.io/token?service=registry.docker.io&scope=repository:uselagoon/${repo}:pull" | jq -r '.token')"
  headers="$(curl -fsSI \
    -H "Authorization: Bearer ${token}" \
    -H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
    "https://registry-1.docker.io/v2/uselagoon/${repo}/manifests/${tag}")"

  code="$(printf '%s\n' "${headers}" | awk 'NR==1 {print $2}')"
  digest="$(printf '%s\n' "${headers}" | awk -F': ' 'tolower($1)=="docker-content-digest"{print $2}' | tr -d '\r')"
  echo "uselagoon/${repo}:${tag} -> HTTP ${code}, digest=${digest}"
done

Repository: drevops/vortex

Length of output: 787


🏁 Script executed:

find .docker -name "*.dockerfile" -o -name "Dockerfile*" | head -20

Repository: drevops/vortex

Length of output: 213


🏁 Script executed:

cat -n .docker/nginx-drupal.dockerfile | head -20

Repository: drevops/vortex

Length of output: 670


🏁 Script executed:

rg "FROM uselagoon/" .docker

Repository: drevops/vortex

Length of output: 372


Pin immutable digest alongside tag for reproducible builds.

Line 14 uses a mutable tag reference. To ensure reproducible and secure builds, pin the immutable digest: FROM uselagoon/nginx-drupal:26.4.0@sha256:04496e376d154c2de7213d41671d1e3c1c60378c928970ce07e096a04e90e83c.

Note: Multiple other Dockerfiles in .docker/ follow the same pattern (cli.dockerfile, php.dockerfile, solr.dockerfile, clamav.dockerfile) and should be updated similarly.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.docker/nginx-drupal.dockerfile at line 14, The Dockerfile uses a mutable
image tag in the FROM instruction ("uselagoon/nginx-drupal:26.4.0"); replace
that tag with the pinned immutable digest form (append
`@sha256`:04496e376d154c2de7213d41671d1e3c1c60378c928970ce07e096a04e90e83c) so the
FROM line becomes the digest-pinned reference to ensure reproducible builds, and
apply the same change to the other dockerfiles that use the same image pattern
(cli.dockerfile, php.dockerfile, solr.dockerfile, clamav.dockerfile) by updating
their FROM lines to use the corresponding `@sha256` digest.


# Webroot is used for Nginx web root configuration.
ARG WEBROOT=web
Expand Down
2 changes: 1 addition & 1 deletion .docker/php.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ARG CLI_IMAGE
# hadolint ignore=DL3006
FROM ${CLI_IMAGE:-cli} AS cli

FROM uselagoon/php-8.4-fpm:26.3.0
FROM uselagoon/php-8.4-fpm:26.4.0

RUN apk add --no-cache tzdata

Expand Down
2 changes: 1 addition & 1 deletion .docker/solr.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# @see https://hub.docker.com/r/uselagoon/solr-9-drupal/tags
# @see https://github.com/uselagoon/lagoon-images/blob/main/images/solr-drupal/9.Dockerfile

FROM uselagoon/solr-9-drupal:26.3.0
FROM uselagoon/solr-9-drupal:26.4.0

# Solr jump-start config needs to be manually copied from the search_api_solr
# Drupal module to .docker/config/solr/config-set.
Expand Down
Loading