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