From c73a74147b07c0e900a6a487eeb4398a3f5fae76 Mon Sep 17 00:00:00 2001 From: malmor <62105800+malmor@users.noreply.github.com> Date: Sun, 3 Nov 2024 18:51:27 +0100 Subject: [PATCH] docs(manager/dockerfile): Document supported dependencies for Dockerfile manager (#32288) Signed-off-by: malmor <62105800+malmor@users.noreply.github.com> Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com> --- lib/modules/manager/dockerfile/readme.md | 50 +++++++++++++++++++++++- lib/modules/manager/flux/readme.md | 4 +- 2 files changed, 51 insertions(+), 3 deletions(-) diff --git a/lib/modules/manager/dockerfile/readme.md b/lib/modules/manager/dockerfile/readme.md index c9f1ba919a..8e0a82be56 100644 --- a/lib/modules/manager/dockerfile/readme.md +++ b/lib/modules/manager/dockerfile/readme.md @@ -1,4 +1,52 @@ -Extracts image references in a `Dockerfile` and/or `Containerfile`. +### Supported dependencies + +This manager extracts image references in a `Dockerfile` and/or `Containerfile` and supports: + +- [`FROM`](https://docs.docker.com/reference/dockerfile/#from) images +- [`COPY --from`](https://docs.docker.com/reference/dockerfile/#copy---from) images +- [`syntax`](https://docs.docker.com/reference/dockerfile/#syntax) images + +#### `FROM` support + +Renovate can update images referenced in `FROM` directives. +This even works for multi-stage builds with many `FROM` directives in one Dockerfile. + +```dockerfile +FROM node:20.9.0 +``` + +Advanced `FROM` flags like `--platform` or `AS <name>` are also supported: + +```dockerfile +FROM --platform=linux/amd64 node:20.9.0 AS installer +``` + +Also, Renovate will automatically expand variables and [`ARG` directives](https://docs.docker.com/reference/dockerfile/#understand-how-arg-and-from-interact): + +```dockerfile +ARG TAG=3.19.4 +FROM alpine:${TAG} +``` + +#### `COPY --from` support + +Renovate can update images referenced in `COPY --from` directives. + +```dockerfile +FROM node:20.9.0 +COPY --from alpine:3.19.4 /bin/sh /usr/local/sh +``` + +#### `syntax` support + +Renovate can update `syntax` references. + +```dockerfile +# syntax=docker/dockerfile:1.9.0 +FROM alpine:3.19.4 +``` + +### Versioning Renovate's managers does not understand versioning, that's up to Renovate's versioning modules. The default `docker` versioning for container image datasources treats suffixes as "compatibility", for example: `-alpine`. diff --git a/lib/modules/manager/flux/readme.md b/lib/modules/manager/flux/readme.md index f13c99c7eb..bb1777f3bd 100644 --- a/lib/modules/manager/flux/readme.md +++ b/lib/modules/manager/flux/readme.md @@ -1,8 +1,8 @@ This manager parses [Flux](https://fluxcd.io/) YAML manifests and supports: 1. [`HelmRelease`](https://fluxcd.io/docs/components/helm/helmreleases/) resources -1. ['GitRepository'](https://fluxcd.io/flux/components/source/gitrepositories/) resources -1. ['OCIRepository'](https://fluxcd.io/flux/components/source/ocirepositories/) resources +1. [`GitRepository`](https://fluxcd.io/flux/components/source/gitrepositories/) resources +1. [`OCIRepository`](https://fluxcd.io/flux/components/source/ocirepositories/) resources 1. Flux [system](https://fluxcd.io/docs/installation) manifests ### HelmRelease support -- GitLab