You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
@@ -34,22 +34,27 @@ The latest `dind` versions output a deprecation warning in the build log each ti
34
34
- Requires script execution and manual review
35
35
36
36
Example warning in logs:
37
+
37
38
```
38
39
[DEPRECATION NOTICE] Docker Image Format v1 and Docker Image manifest version 2, schema 1 support is disabled by default...
39
40
```
40
41
41
42
Use the following script to scan your build logs and extract deprecated images:
42
43
👉[Find deprecated images used in previous builds](https://gist.github.com/francisco-cocozza/6046028184cc12b5ee4513bdcb4217c5)
43
44
44
-
>💡 For large-scale environments, see[Appendix I](#appendix-i-monitor-engine-metrics) fora metrics-based approach.
45
+
>💡 For large-scale environments with thousands of builds, we offer a more scalable, metrics-based detection method. See[Appendix I](#appendix-i-monitor-engine-metrics) fordetails.
45
46
46
47
---
47
48
48
49
##Step 2: Upgrade Deprecated Docker Images
49
50
50
-
Once you've identified deprecated images, re-push them using a modern Docker client to convert the manifest format.
51
+
Once you’ve identified deprecated images using engine metrics, the next step is to upgrade those images to a modern format (OCI or Docker manifest v2, schema 2). This is required to ensure compatibility with docker-27 and future releases.
52
+
53
+
###How It Works
54
+
55
+
Re-pushing an image using a modern Docker client will automatically convert its manifest to a supported version.
51
56
52
-
###Sample Codefresh Pipeline
57
+
###Sample Codefresh Pipeline to Upgrade an Image
53
58
54
59
```yaml
55
60
version:"1.0"
@@ -64,76 +69,69 @@ steps:
64
69
image_name:<target-image-name>
65
70
```
66
71
67
-
**Example:**
68
72
```yaml
69
-
push:
70
-
title:"Re-pushing deprecated image"
71
-
type:push
72
-
candidate:docker/whalesay:latest
73
-
registry:docker
74
-
tag:new-manifest
75
-
image_name:codefresh/whalesay
73
+
# Example:
74
+
# push:
75
+
# title: "Re-pushing deprecated image"
76
+
# type: push
77
+
# candidate: docker/whalesay:latest
78
+
# registry: docker
79
+
# tag: new-manifest
80
+
# image_name: codefresh/whalesay
76
81
```
77
82
78
-
Thispipeline steppulls theoriginal image and re-pushes it with acompatible manifest.
83
+
This pulls thedeprecated image and re-pushes itunder a new name/tagwith acompliant manifest format.
79
84
80
-
>🔁 Repeatthis for each deprecated image.
85
+
>💡 You can repeatthisprocessfor each deprecated image discovered via metrics or logs.
81
86
82
87
---
83
88
84
89
##Appendix I: Monitor Engine Metrics
85
90
86
-
A scalable way to detectdeprecatedimage pulls usingPrometheus engine metrics.Requires Codefresh Runtime version`v7.5.0`orlater.
91
+
This method enables scalable detection ofdeprecatedimages by usingreal-time engine metrics.Recommended for high-volumeorautomated environments.
> 📝 Please consult the [officialHelmdocs](https://artifacthub.io/packages/helm/prometheus-community/kube-prometheus-stack?modal=values&path=prometheus.prometheusSpec.storageSpec) for additional configuration.
1. Log into Grafana (port-forward to localhost:3000 if needed).
175
-
2. Navigate to **Explore → Metrics**.
176
-
3. Search for `codefresh_engine_deprecated_images_pulled_total`.
198
+
Open[http://localhost:3000](http://localhost:3000) and log in using the admin password retrieved above.
177
199
178
-
You should see metrics if deprecated images were pulled.
200
+
###Verifying metrics
201
+
202
+
To ensure that engine metrics are collected correctly, run a build on the monitored Runtime. In Grafana:
203
+
204
+
- Go to**Explore → Metrics**
205
+
- Search for`codefresh_`
206
+
- Make sure the time range includes a running build
179
207
180
208
---
181
209
182
-
## Appendix II: Grafana Dashboard
210
+
##Appendix II: Grafana dashboard
211
+
212
+
###How to use/understand metrics
213
+
214
+
The metric`codefresh_engine_deprecated_images_pulled_total` is a counter increased by 1 each time Docker daemon pulls a deprecated image. Labels`{account_name, pipeline_id, workflow, image_name}` allow grouping results.
183
215
184
-
You can visualize deprecated image pulls using a prebuilt Grafana dashboard:
216
+
###Dashboard setup
185
217
186
-
1. Download the dashboard JSON from [this gist](https://gist.github.com/francisco-cocozza/6046028184cc12b5ee4513bdcb4217c5).
187
-
2. In Grafana, go to **Dashboards → New → Import**.
188
-
3. Upload the JSON and select `Mimir API` as the data source.
189
-
4. Click **Import**.
218
+
1. Download Dashboard JSON in APPENDIX II
219
+
2. Log in to Grafana
220
+
3. Go to**Dashboards → New → Import**
221
+
4. Upload the JSON
222
+
5. Select`Mimir API` as data source → Click**Import**