Merge ~valentinviennot/ubuntu-docker-images:update-22.04 into ~ubuntu-docker-images/ubuntu-docker-images/+git/templates:main

Proposed by Valentin Viennot
Status: Merged
Merged at revision: 9701ae195eed7d9197973234bc5821dab2d7b832
Proposed branch: ~valentinviennot/ubuntu-docker-images:update-22.04
Merge into: ~ubuntu-docker-images/ubuntu-docker-images/+git/templates:main
Diff against target: 4911 lines (+2007/-427)
76 files modified
.devcontainer/Dockerfile (+1/-1)
.gitignore (+1/-0)
data/apache2.yaml (+21/-7)
data/bind9.yaml (+15/-3)
data/cassandra.yaml (+33/-10)
data/cortex.yaml (+35/-12)
data/grafana.yaml (+31/-8)
data/kafka.yaml (+48/-0)
data/loki.yaml (+43/-0)
data/memcached.yaml (+18/-5)
data/mysql.yaml (+25/-8)
data/nginx.yaml (+23/-9)
data/postgres.yaml (+24/-10)
data/prometheus-alertmanager.yaml (+31/-7)
data/prometheus.yaml (+46/-9)
data/redis.yaml (+33/-13)
data/squid.yaml (+13/-4)
data/telegraf.yaml (+31/-13)
data/zookeeper.yaml (+36/-0)
dev/null (+0/-26)
docs/docker.io/ubuntu/apache2.md (+14/-7)
docs/docker.io/ubuntu/bind9.md (+15/-7)
docs/docker.io/ubuntu/cassandra.md (+16/-9)
docs/docker.io/ubuntu/cortex.md (+15/-8)
docs/docker.io/ubuntu/grafana.md (+14/-7)
docs/docker.io/ubuntu/kafka.md (+100/-0)
docs/docker.io/ubuntu/loki.md (+98/-0)
docs/docker.io/ubuntu/memcached.md (+13/-6)
docs/docker.io/ubuntu/mysql.md (+19/-12)
docs/docker.io/ubuntu/nginx.md (+14/-7)
docs/docker.io/ubuntu/postgres.md (+16/-9)
docs/docker.io/ubuntu/prometheus-alertmanager.md (+16/-9)
docs/docker.io/ubuntu/prometheus.md (+17/-9)
docs/docker.io/ubuntu/redis.md (+17/-9)
docs/docker.io/ubuntu/squid.md (+13/-7)
docs/docker.io/ubuntu/telegraf.md (+15/-8)
docs/docker.io/ubuntu/zookeeper.md (+95/-0)
docs/public.ecr.aws/lts/apache2.md (+6/-5)
docs/public.ecr.aws/lts/bind9.md (+7/-5)
docs/public.ecr.aws/lts/cassandra.md (+3/-3)
docs/public.ecr.aws/lts/cortex.md (+3/-3)
docs/public.ecr.aws/lts/grafana.md (+2/-2)
docs/public.ecr.aws/lts/kafka.md (+95/-0)
docs/public.ecr.aws/lts/loki.md (+93/-0)
docs/public.ecr.aws/lts/memcached.md (+3/-3)
docs/public.ecr.aws/lts/mysql.md (+9/-8)
docs/public.ecr.aws/lts/nginx.md (+6/-5)
docs/public.ecr.aws/lts/postgres.md (+7/-6)
docs/public.ecr.aws/lts/prometheus-alertmanager.md (+4/-4)
docs/public.ecr.aws/lts/prometheus.md (+4/-4)
docs/public.ecr.aws/lts/redis.md (+4/-3)
docs/public.ecr.aws/lts/squid.md (+5/-4)
docs/public.ecr.aws/lts/telegraf.md (+3/-3)
docs/public.ecr.aws/lts/zookeeper.md (+90/-0)
docs/public.ecr.aws/ubuntu/apache2.md (+19/-7)
docs/public.ecr.aws/ubuntu/bind9.md (+19/-7)
docs/public.ecr.aws/ubuntu/cassandra.md (+18/-7)
docs/public.ecr.aws/ubuntu/cortex.md (+17/-6)
docs/public.ecr.aws/ubuntu/grafana.md (+16/-5)
docs/public.ecr.aws/ubuntu/kafka.md (+100/-0)
docs/public.ecr.aws/ubuntu/loki.md (+98/-0)
docs/public.ecr.aws/ubuntu/memcached.md (+17/-6)
docs/public.ecr.aws/ubuntu/mysql.md (+23/-11)
docs/public.ecr.aws/ubuntu/nginx.md (+19/-7)
docs/public.ecr.aws/ubuntu/postgres.md (+20/-8)
docs/public.ecr.aws/ubuntu/prometheus-alertmanager.md (+18/-7)
docs/public.ecr.aws/ubuntu/prometheus.md (+19/-7)
docs/public.ecr.aws/ubuntu/redis.md (+19/-7)
docs/public.ecr.aws/ubuntu/squid.md (+17/-7)
docs/public.ecr.aws/ubuntu/telegraf.md (+17/-6)
docs/public.ecr.aws/ubuntu/zookeeper.md (+95/-0)
templates/README_DOCKERHUB.md (+40/-4)
templates/README_ECR.md (+44/-4)
templates/README_ECR_LTS.md (+11/-2)
templates/common_usage.md (+2/-1)
templates/header.md (+0/-1)
Reviewer Review Type Date Requested Status
Sergio Durigan Junior Needs Information
Review via email: mp+419703@code.launchpad.net

Commit message

Update for 22.04 release

* Update 22.04 tracks, docs, and versions
* Allow to customise the configmap name
* Replace 'Deprecated' with 'EOL'
* Update devcontainer after github username change
* Document Redis TLS mode

To post a comment you must log in.
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thanks for the MP, Valentin.

I noticed that the new track definitions (in the .yaml files) don't have versions yet. Is it because you're waiting for the final release before filling out this info?

Also, kudos for adding the "?h=MM.NN-XX.YY" prefix to the URLs. These changes seem to fix the following bugs:

https://bugs.launchpad.net/ubuntu-docker-images/+bug/1947865
https://bugs.launchpad.net/ubuntu-docker-images/+bug/1960283
https://bugs.launchpad.net/ubuntu-docker-images/+bug/1964171
https://bugs.launchpad.net/ubuntu-docker-images/+bug/1968411

which is great.

I see you've added documentation for loki and kafka too. Thanks!

Overall this LGTM. I will wait for your reply regarding the missing versions before going ahead.

Thanks again.

review: Needs Information
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Thanks, Valentin! LGTM

The kafka docs will need updating to reflect the changes in https://code.launchpad.net/~athos-ribeiro/ubuntu-docker-images/+git/kafka/+merge/419704

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Hey Valentin,

Due to bug #1969756, I have expanded bind9's image and it now supports a new environment variable: BIND9_USER, which can be used to specify the user that will own the named process. I was going to create an MP to adjust the documentation and reflect the change, but since we haven't merged this MP yet I thought it'd be easier to let you know and ask if it's possible for you to update your branch and add this new variable before we do the merge. Let me know if this works for you.

Thanks!

Revision history for this message
Valentin Viennot (valentinviennot) wrote :

Took me some time to understand the process was named “named”… but done!

About missing versions, the template uses either “version” or the “track” when “version" is not defined. Because I did not know the specific versions shipped, I didn’t specify them. As this is subject to change, I think keeping only the track works well. Feel free to document the specific versions if you want to.

I also pushed a fix with templates (and rebased all the changes with a force push to remove an unnecessary ‘generate docs’ commit).

Valentin

> On 23 Apr 2022, at 01:57, Sergio Durigan Junior <email address hidden> wrote:
>
> Hey Valentin,
>
> Due to bug #1969756, I have expanded bind9's image and it now supports a new environment variable: BIND9_USER, which can be used to specify the user that will own the named process. I was going to create an MP to adjust the documentation and reflect the change, but since we haven't merged this MP yet I thought it'd be easier to let you know and ask if it's possible for you to update your branch and add this new variable before we do the merge. Let me know if this works for you.
>
> Thanks!
> --
> https://code.launchpad.net/~valentinviennot/ubuntu-docker-images/+git/ubuntu-server-oci/+merge/419703
> You are the owner of ~valentinviennot/ubuntu-docker-images:update-22.04.
>

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thanks, Valentin.

Merged.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
2index 35db662..fa24741 100644
3--- a/.devcontainer/Dockerfile
4+++ b/.devcontainer/Dockerfile
5@@ -5,7 +5,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}
6 RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
7 && apt-get -y install --no-install-recommends python3-mako python3-yaml
8
9-RUN cd /usr/bin && git clone https://github.com/misterw97/RenderDown \
10+RUN cd /usr/bin && git clone https://github.com/valentinviennot/RenderDown \
11 && pip3 --disable-pip-version-check --no-cache-dir install -r /usr/bin/RenderDown/requirements.txt \
12 && rm -rf /tmp/pip-tmp
13 ENV RENDERDOWN /usr/bin/RenderDown/renderdown.py
14diff --git a/.gitignore b/.gitignore
15index 243201b..19cfae9 100644
16--- a/.gitignore
17+++ b/.gitignore
18@@ -1,2 +1,3 @@
19+.env
20 *.swp
21 RenderDown/
22diff --git a/data/apache2.yaml b/data/apache2.yaml
23index d0ddd7f..2f8133c 100644
24--- a/data/apache2.yaml
25+++ b/data/apache2.yaml
26@@ -4,9 +4,18 @@ description: >
27 The Apache HTTP Server Project's goal is to build a secure, efficient and extensible HTTP server as standards-compliant open source software. The result has long been the number one web server on the Internet. Read more on the [apache2 website](https://httpd.apache.org/).
28 releases:
29 - track: '2.4'
30+ base: '22.04'
31+ risk: beta
32+ type: LTS
33+ architectures:
34+ - amd64
35+ - arm64
36+ - ppc64el
37+ - s390x
38+ - track: '2.4'
39 risk: beta
40 version: '2.4.48'
41- base: 21.10
42+ base: '21.10'
43 architectures:
44 - amd64
45 - arm64
46@@ -15,7 +24,12 @@ releases:
47 - track: '2.4'
48 risk: beta
49 version: '2.4.46'
50- base: 21.04
51+ base: '21.04'
52+ deprecated:
53+ date: '01/2022'
54+ path:
55+ track: '2.4'
56+ base: '21.10'
57 architectures:
58 - amd64
59 - arm64
60@@ -40,14 +54,14 @@ parameters:
61 value: TZ=UTC
62 description: Timezone.
63 - type: -p
64- value: 8080:80
65+ value: '8080:80'
66 description: Expose Apache2 on `localhost:8080`.
67 - type: -v
68 value: /local/path/to/website:/var/www/html
69 description: Mount and serve a local website.
70 - type: -v
71 value: /path/to/apache2.conf:/etc/apache2/apache2.conf
72- description: Local [configuration file](https://httpd.apache.org/docs/2.4/) `apache2.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf)).
73+ description: Local [configuration file](https://httpd.apache.org/docs/2.4/) `apache2.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf?h=2.4-22.04)).
74 debug:
75 - nothing
76 microk8s:
77@@ -55,10 +69,10 @@ microk8s:
78 files:
79 - key: apache2
80 name: apache2.conf
81- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf
82+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf?h=2.4-22.04
83 - key: apache2-site
84 name: index.html
85- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/html/index.html
86+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/html/index.html?h=2.4-22.04
87 deploy:
88- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/apache2-deployment.yml
89+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/apache2-deployment.yml?h=2.4-22.04
90 access: You will now be able to connect to the apache2 server on `http://localhost:30080`.
91diff --git a/data/bind9.yaml b/data/bind9.yaml
92index 2855434..4a52e08 100644
93--- a/data/bind9.yaml
94+++ b/data/bind9.yaml
95@@ -5,6 +5,15 @@ description: >
96 In addition to BIND 9's DNS server itself, `named`, this container also includes tools for performing DNS queries and dynamic updates.
97 Read more on the [BIND 9 website](https://www.isc.org/bind/).
98 releases:
99+ - track: '9.18'
100+ base: '22.04'
101+ risk: beta
102+ type: LTS
103+ architectures:
104+ - amd64
105+ - arm64
106+ - ppc64el
107+ - s390x
108 - track: '9.16'
109 risk: beta
110 version: '9.16.15'
111@@ -33,11 +42,14 @@ parameters:
112 value: TZ=UTC
113 description: Timezone.
114 - type: -p
115- value: 30053:53
116+ value: '30053:53'
117 description: Expose bind9 on `localhost:30053`.
118+ - type: -e
119+ value: BIND9_USER=bind
120+ description: The user which will start the `named` process.
121 - type: -v
122 value: /path/to/bind/configuration:/etc/bind/named.conf
123- description: Local [configuration file](https://bind9.readthedocs.io/en/latest/reference.html) `named.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/caching-nameserver/named.conf.options)).
124+ description: Local [configuration file](https://bind9.readthedocs.io/en/latest/reference.html) `named.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/caching-nameserver/named.conf.options?h=9.18-22.04)).
125 - type: -v
126 value: /path/to/cached/data:/var/cache/bind
127 description: Location where locally cached data can be dumped.
128@@ -48,5 +60,5 @@ debug:
129 - nothing
130 microk8s:
131 deploy:
132- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/bind9-deployment.yml
133+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/bind9-deployment.yml?h=9.18-22.04
134 access: You will now be able to connect to the Bind9 server on localhost:30053`.
135diff --git a/data/cassandra.yaml b/data/cassandra.yaml
136index bda4737..48d9da3 100644
137--- a/data/cassandra.yaml
138+++ b/data/cassandra.yaml
139@@ -1,4 +1,4 @@
140-application: Cassandra
141+application: Apache Cassandra
142 repo: cassandra
143 description: >
144 Apache Cassandra is an open source NoSQL distributed database trusted by
145@@ -7,25 +7,48 @@ description: >
146 commodity hardware or cloud infrastructure make it a good platform for
147 mission-critical data.
148 releases:
149- - track: "4.0"
150+ - track: '4.0'
151+ base: '22.04'
152+ risk: beta
153+ architectures:
154+ - amd64
155+ - arm64
156+ - ppc64el
157+ - s390x
158+ - track: '4.0'
159 risk: beta
160 base: '21.10'
161+ deprecated:
162+ date: '04/2022'
163+ path:
164+ track: '4.0'
165+ base: '22.04'
166 architectures:
167 - amd64
168 - arm64
169 - ppc64el
170 - s390x
171- - track: "4.0"
172+ - track: '4.0'
173 risk: beta
174 base: '21.04'
175+ deprecated:
176+ date: '01/2022'
177+ path:
178+ track: '4.0'
179+ base: '21.10'
180 architectures:
181 - amd64
182 - arm64
183 - ppc64el
184 - s390x
185- - track: "4.0"
186+ - track: '4.0'
187 risk: beta
188 base: '20.04'
189+ deprecated:
190+ date: '01/2021'
191+ path:
192+ track: '4.0'
193+ base: '21.04'
194 architectures:
195 - amd64
196 - arm64
197@@ -44,19 +67,19 @@ parameters:
198 value: TZ=UTC
199 description: Timezone.
200 - type: -p
201- value: 7000:7000
202+ value: '7000:7000'
203 description: Expose itra-node communication
204 - type: -p
205- value: 7001:7001
206+ value: '7001:7001'
207 description: Expose TLS itra-node communication
208 - type: -p
209- value: 7199:7199
210+ value: '7199:7199'
211 description: Expose JMX
212 - type: -p
213- value: 9042:9042
214+ value: '9042:9042'
215 description: Expose CQL
216 - type: -p
217- value: 9160:9160
218+ value: '9160:9160'
219 description: Expose thrift service
220 - type: -v
221 value: /local/path/to/data:/var/lib/cassandra
222@@ -68,5 +91,5 @@ debug:
223 - nothing
224 microk8s:
225 deploy:
226- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml
227+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml?h=4.0-22.04
228 access: You can now access the cassandra server on port 9042 (e.g., cqlsh localhost 9042)
229diff --git a/data/cortex.yaml b/data/cortex.yaml
230index 74bbe0a..e6aa434 100644
231--- a/data/cortex.yaml
232+++ b/data/cortex.yaml
233@@ -10,28 +10,51 @@ description: |
234
235 Read more on the [Cortex website](https://cortexmetrics.io/).
236 releases:
237- - track: "1.10"
238+ - track: '1.11'
239+ base: '22.04'
240 risk: beta
241- version: "1.10.0"
242- base: 21.10
243 architectures:
244 - amd64
245 - arm64
246 - ppc64el
247 - s390x
248- - track: "1.7"
249+ - track: '1.10'
250 risk: beta
251- version: "1.7.0"
252- base: 21.04
253+ version: '1.10.0'
254+ base: '21.10'
255+ deprecated:
256+ date: '04/2022'
257+ path:
258+ track: '1.11'
259+ base: '22.04'
260 architectures:
261 - amd64
262 - arm64
263 - ppc64el
264 - s390x
265- - track: 1.4
266+ - track: '1.7'
267+ risk: beta
268+ version: '1.7.0'
269+ base: '21.04'
270+ deprecated:
271+ date: '01/2022'
272+ path:
273+ track: '1.10'
274+ base: '21.10'
275+ architectures:
276+ - amd64
277+ - arm64
278+ - ppc64el
279+ - s390x
280+ - track: '1.4'
281 risk: beta
282 version: '1.4.0'
283- base: 20.04
284+ base: '20.04'
285+ deprecated:
286+ date: '01/2021'
287+ path:
288+ track: '1.7'
289+ base: '21.04'
290 architectures:
291 - amd64
292 - arm64
293@@ -46,11 +69,11 @@ parameters:
294 value: TZ=UTC
295 description: Timezone.
296 - type: -p
297- value: 32709:9009
298+ value: '32709:9009'
299 description: Expose Cortex on `localhost:32709`.
300 - type: -v
301 value: /my/local/cortex.yaml:/etc/cortex/cortex.yaml
302- description: Local [configuration file](https://cortexmetrics.io/docs/configuration/) `cortex.yaml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml)).
303+ description: Local [configuration file](https://cortexmetrics.io/docs/configuration/) `cortex.yaml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml?h=1.11-22.04)).
304 debug:
305 - nothing
306 microk8s:
307@@ -58,7 +81,7 @@ microk8s:
308 files:
309 - key: main-config
310 name: cortex.yaml
311- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml
312+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml?h=1.11-22.04
313 deploy:
314- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/cortex-deployment.yml
315+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/cortex-deployment.yml?h=1.11-22.04
316 access: You will now be able to connect to the Cortex server on `localhost:32709`.
317diff --git a/data/grafana.yaml b/data/grafana.yaml
318index e01abc0..d000148 100644
319--- a/data/grafana.yaml
320+++ b/data/grafana.yaml
321@@ -4,10 +4,23 @@ description: >
322 Grafana is a feature rich metrics dashboard and graph editor for Cloudwatch, Elasticsearch, Graphite, InfluxDB, OpenTSB, Prometheus, and Hosted Metrics.
323 Read more on the [Grafana website](https://grafana.com/docs/).
324 releases:
325+ - track: '8.2'
326+ base: '22.04'
327+ risk: beta
328+ architectures:
329+ - amd64
330+ - arm64
331+ - ppc64el
332+ - s390x
333 - track: '8.1'
334 risk: beta
335 version: '8.1.0'
336- base: 21.10
337+ base: '21.10'
338+ deprecated:
339+ date: '04/2022'
340+ path:
341+ track: '8.2'
342+ base: '22.04'
343 architectures:
344 - amd64
345 - arm64
346@@ -16,7 +29,12 @@ releases:
347 - track: '7.4'
348 risk: beta
349 version: '7.4.0'
350- base: 21.04
351+ base: '21.04'
352+ deprecated:
353+ date: '01/2022'
354+ path:
355+ track: '8.1'
356+ base: '21.10'
357 architectures:
358 - amd64
359 - arm64
360@@ -25,7 +43,12 @@ releases:
361 - track: '7.2'
362 risk: beta
363 version: '7.2.0'
364- base: 20.04
365+ base: '20.04'
366+ deprecated:
367+ date: '01/2021'
368+ path:
369+ track: '7.4'
370+ base: '21.04'
371 architectures:
372 - amd64
373 - arm64
374@@ -40,7 +63,7 @@ parameters:
375 value: TZ=UTC
376 description: Timezone.
377 - type: -p
378- value: 30000:3000
379+ value: '30000:3000'
380 description: Expose Grafana on `localhost:30000`.
381 - type: -v
382 value: /path/to/grafana/provisioning/files/:/etc/grafana/provisioning/
383@@ -51,16 +74,16 @@ parameters:
384 debug: None
385 microk8s:
386 deploy:
387- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/grafana-deployment.yml
388+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/grafana-deployment.yml?h=8.2-22.04
389 access: You will now be able to connect to the Grafana on `http://localhost:30000`.
390 configmap:
391 files:
392 - key: grafana-datasource
393 name: datasource.yml
394- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/datasource.yml
395+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/datasource.yml?h=8.2-22.04
396 - key: grafana-dashboard-definition
397 name: dashboard.yml
398- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/dashboard.yml
399+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/dashboard.yml?h=8.2-22.04
400 - key: grafana-dashboard
401 name: system-stats-dashboard.json
402- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/system-stats-dashboard.json
403+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/system-stats-dashboard.json?h=8.2-22.04
404diff --git a/data/kafka.yaml b/data/kafka.yaml
405new file mode 100644
406index 0000000..c995b23
407--- /dev/null
408+++ b/data/kafka.yaml
409@@ -0,0 +1,48 @@
410+application: Apache Kafka
411+repo: kafka
412+description: >
413+ Apache Kafka is an open-source distributed event streaming platform for high-performance data pipelines, streaming analytics... Read more on the [Apache Kafka website](https://kafka.apache.org/). This image requires the Zookeeper image to run properly.
414+releases:
415+ - track: '3.1'
416+ base: '22.04'
417+ risk: beta
418+ version: '3.1.0'
419+ architectures:
420+ - amd64
421+ - arm64
422+ - ppc64el
423+ - s390x
424+docker:
425+ parameters:
426+ - -p 9092:9092
427+ - -e ZOOKEEPER_HOST=host.docker.internal
428+ access: >
429+ Apache Kafka service is now exposed at `localhost:9092` (**You first need to run a Zookeeper instance**: `docker run -d -p 2181:2181 ubuntu/zookeeper:edge`).
430+parameters:
431+ - type: -e
432+ value: TZ=UTC
433+ description: Timezone.
434+ - type: -e
435+ value: ZOOKEEPER_HOST=172.17.0.1
436+ description: Hostname for the related Zookeeper instance (default value is set to the default IP for the Docker host (host.docker.internal)).
437+ - type: -e
438+ value: ZOOKEEPER_PORT=2181
439+ description: Port for the related Zookeeper instance.
440+ - type: -p
441+ value: '9092:9092'
442+ description: Expose Apache Kafka service on `localhost:9092`.
443+ - type: -p
444+ value: '2181:2181'
445+ description: Expose Apache Zookeeper service on `localhost:2181`.
446+ - type: CMD
447+ value: kafka-server-start.sh /etc/kafka/server.properties --override zookeeper.connect=host.docker.internal:2181
448+ description: Start a Kafka instance, connecting to the Zookeeper instance accessible at `host.docker.internal:2181` from within the Kafka instance container.
449+ - type: CMD
450+ value: zookeeper-server-start.sh /etc/kafka/zookeeper.properties
451+ description: Start a Zookeeper instance.
452+debug:
453+ - nothing
454+microk8s:
455+ deploy:
456+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/kafka/plain/examples/kafka-deployment.yml?h=3.1-22.04
457+ access: Apache Kafka will be available on the K8s cluster as a `kafka-service` Service.
458diff --git a/data/loki.yaml b/data/loki.yaml
459new file mode 100644
460index 0000000..e81e6e8
461--- /dev/null
462+++ b/data/loki.yaml
463@@ -0,0 +1,43 @@
464+application: Grafana Loki™ software
465+repo: loki
466+description: >
467+ Loki is a horizontally scalable, highly available, multi-tenant log aggregation system inspired by Prometheus. Read more on the [Grafana website](https://grafana.com/oss/loki/).
468+releases:
469+ - track: '2.4'
470+ base: '22.04'
471+ risk: beta
472+ version: '2.4.2'
473+ architectures:
474+ - amd64
475+ - arm64
476+ - ppc64el
477+ - s390x
478+docker:
479+ parameters:
480+ - -p 3100:3100
481+ access: You can now use your Loki instance exposed at `http://localhost:3100`.
482+parameters:
483+ - type: -e
484+ value: TZ=UTC
485+ description: Timezone.
486+ - type: -p
487+ value: '3100:3100'
488+ description: Expose Grafana Loki on `localhost:3100`.
489+ - type: -v
490+ value: /local/path/to/config:/etc/loki/local-config.yaml
491+ description: Local Loki Promtail config file. Can be changed using CMD `--config.file=` argument. See an [example file](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/config/promtail-local-config.yaml?h=2.4-22.04).
492+ - type: -v
493+ value: lokidata:/loki
494+ description: Persist data in a docker volume named `lokidata`.
495+debug:
496+ - nothing
497+microk8s:
498+ configmap:
499+ name: promtail-config
500+ files:
501+ - key: promtail
502+ name: promtail-local-config-k8s.yaml
503+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/config/promtail-local-config-k8s.yaml?h=2.4-22.04
504+ deploy:
505+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/loki-deployment.yml?h=2.4-22.04
506+ access: You will now be able to connect to the Loki instance on `http://localhost:31000`.
507diff --git a/data/memcached.yaml b/data/memcached.yaml
508index 97dd683..257d74d 100644
509--- a/data/memcached.yaml
510+++ b/data/memcached.yaml
511@@ -5,9 +5,17 @@ description: >
512 Memcached allows to take memory from parts of a system where you have more than you need and make it accessible to areas where you have less than you need. Read more on the [memcached website](https://memcached.org/).
513 releases:
514 - track: '1.6'
515+ base: '22.04'
516+ risk: beta
517+ architectures:
518+ - amd64
519+ - arm64
520+ - ppc64el
521+ - s390x
522+ - track: '1.6'
523 risk: beta
524 version: '1.6.9'
525- base: 21.10
526+ base: '21.10'
527 architectures:
528 - amd64
529 - arm64
530@@ -16,7 +24,12 @@ releases:
531 - track: '1.6'
532 risk: beta
533 version: '1.6.9'
534- base: 21.04
535+ base: '21.04'
536+ deprecated:
537+ date: '01/2022'
538+ path:
539+ track: '1.6'
540+ base: '21.10'
541 architectures:
542 - amd64
543 - arm64
544@@ -25,7 +38,7 @@ releases:
545 - track: '1.5'
546 risk: beta
547 version: '1.5.22'
548- base: 20.04
549+ base: '20.04'
550 type: LTS
551 architectures:
552 - amd64
553@@ -54,7 +67,7 @@ parameters:
554 value: MEMCACHED_USERNAME
555 description: Define a new user. If this option is passed a password is needed to authenticate the new user.
556 - type: -p
557- value: 11211
558+ value: '11211:11211'
559 description: Memcached is exposed inside the container on port `11211`.
560 debug:
561 text: |
562@@ -88,5 +101,5 @@ debug:
563 In this case you can append the flags themselves or a shell script to the run command.
564 microk8s:
565 deploy:
566- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/memcached/plain/examples/memcached-deployment.yml
567+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/memcached/plain/examples/memcached-deployment.yml?h=1.6-22.04
568 access: Memcached will be listening on port `31211` in your host.
569diff --git a/data/mysql.yaml b/data/mysql.yaml
570index 93672a5..ad75ce0 100644
571--- a/data/mysql.yaml
572+++ b/data/mysql.yaml
573@@ -1,4 +1,4 @@
574-application: MySQL™
575+application: MySQL™ software
576 repo: mysql
577 description: >
578 MySQL is a fast, stable and true multi-user, multi-threaded SQL database
579@@ -7,29 +7,46 @@ description: >
580 of use. Read more on the [MySQL website](https://dev.mysql.com/doc/refman/8.0/en/).
581 releases:
582 - track: '8.0'
583+ base: '22.04'
584+ risk: beta
585+ type: LTS
586+ architectures:
587+ - amd64
588+ - arm64
589+ - ppc64el
590+ - s390x
591+ - track: '8.0'
592 risk: beta
593 version: '8.0.27'
594- base: 21.10
595+ base: '21.10'
596 architectures:
597 - amd64
598 - arm64
599+ - ppc64el
600 - s390x
601 - track: '8.0'
602 risk: beta
603 version: '8.0.27'
604- base: 21.04
605+ base: '21.04'
606+ deprecated:
607+ date: '01/2022'
608+ path:
609+ track: '8.0'
610+ base: '21.10'
611 architectures:
612 - amd64
613 - arm64
614+ - ppc64el
615 - s390x
616 - track: '8.0'
617 risk: beta
618 version: '8.0.22'
619- base: 20.04
620+ base: '20.04'
621 type: LTS
622 architectures:
623 - amd64
624 - arm64
625+ - ppc64el
626 - s390x
627 docker:
628 parameters:
629@@ -65,14 +82,14 @@ parameters:
630 value: MYSQL_INITSB_SKIP_TZINFO=yes
631 description: Timezone data is automatically loaded via entrypoint script, set this variable to any non-empty value to disable it.
632 - type: -p
633- value: 30306:3306
634+ value: '30306:3306'
635 description: Expose MySQL server on `localhost:30306`.
636 - type: -v
637 value: /path/to/data:/var/lib/mysql
638 description: Persist data instead of initializing a new database every time you launch a new container.
639 - type: -v
640 value: /path/to/config/files/:/etc/mysql/mysql.conf.d/
641- description: Local [configuration files](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html) (try this [example my.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my.cnf)).
642+ description: Local [configuration files](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html) (try this [example my.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf?h=8.0-22.04)).
643 debug:
644 extraparagraph: |
645 #### Initialization Scripts
646@@ -93,7 +110,7 @@ microk8s:
647 files:
648 - key: main-config
649 name: my-custom.cnf
650- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf
651+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf?h=8.0-22.04
652 deploy:
653- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/mysql-deployment.yml
654+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/mysql-deployment.yml?h=8.0-22.04
655 access: You will now be able to connect to the MySQL server on `localhost:30306`.
656diff --git a/data/nginx.yaml b/data/nginx.yaml
657index 1bed121..73febd5 100644
658--- a/data/nginx.yaml
659+++ b/data/nginx.yaml
660@@ -4,9 +4,18 @@ description: >
661 Nginx ("engine X") is a high-performance web and reverse proxy server created by Igor Sysoev. It can be used both as a standalone web server and as a proxy to reduce the load on back-end HTTP or mail servers. Read more on the [nginx website](https://www.nginx.com/).
662 releases:
663 - track: '1.18'
664+ base: '22.04'
665+ risk: beta
666+ type: LTS
667+ architectures:
668+ - amd64
669+ - arm64
670+ - ppc64el
671+ - s390x
672+ - track: '1.18'
673 risk: beta
674 version: '1.18.0'
675- base: 21.10
676+ base: '21.10'
677 architectures:
678 - amd64
679 - arm64
680@@ -15,16 +24,21 @@ releases:
681 - track: '1.18'
682 risk: beta
683 version: '1.18.0'
684- base: 21.04
685+ base: '21.04'
686+ deprecated:
687+ date: '01/2022'
688+ path:
689+ track: '1.18'
690+ base: '21.10'
691 architectures:
692 - amd64
693 - arm64
694 - ppc64el
695 - s390x
696- - track: 1.18
697+ - track: '1.18'
698 risk: beta
699 version: '1.18.0'
700- base: 20.04
701+ base: '20.04'
702 type: LTS
703 architectures:
704 - amd64
705@@ -40,7 +54,7 @@ parameters:
706 value: TZ=UTC
707 description: Timezone.
708 - type: -p
709- value: 8080:80
710+ value: '8080:80'
711 description: Expose Nginx on `localhost:8080`.
712 - type: -v
713 value: /local/path/to/website:/var/www/html
714@@ -50,7 +64,7 @@ parameters:
715 description: Mount template files inside `/etc/nginx/templates`. They will be processed and the results will be placed at `/etc/nginx/conf.d`. (e.g. `listen ${NGINX_PORT};` will generate `listen 80;`).
716 - type: -v
717 value: /path/to/nginx.conf:/etc/nginx/nginx.conf
718- description: Local [configuration file](https://nginx.org/en/docs/) `nginx.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf)).
719+ description: Local [configuration file](https://nginx.org/en/docs/) `nginx.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf?h=1.18-22.04)).
720 debug:
721 - nothing
722 microk8s:
723@@ -58,10 +72,10 @@ microk8s:
724 files:
725 - key: nginx
726 name: nginx.conf
727- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf
728+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf?h=1.18-22.04
729 - key: nginx-site
730 name: index.html
731- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/html/index.html
732+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/html/index.html?h=1.18-22.04
733 deploy:
734- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/nginx-deployment.yml
735+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/nginx-deployment.yml?h=1.18-22.04
736 access: You will now be able to connect to the nginx server on `http://localhost:31080`.
737diff --git a/data/postgres.yaml b/data/postgres.yaml
738index 916f4a7..375decc 100644
739--- a/data/postgres.yaml
740+++ b/data/postgres.yaml
741@@ -3,28 +3,42 @@ repo: postgres
742 description: >
743 PostgreSQL is a powerful, open source object-relational database system. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video. It has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation. Read more on the [PostgreSQL website](https://www.postgresql.org/docs/).
744 releases:
745- - track: '13.1'
746+ - track: '14'
747+ base: '22.04'
748+ risk: beta
749+ type: LTS
750+ architectures:
751+ - amd64
752+ - arm64
753+ - ppc64el
754+ - s390x
755+ - track: '13'
756 risk: beta
757 version: '13.1'
758- base: 21.10
759+ base: '21.10'
760 architectures:
761 - amd64
762 - arm64
763 - ppc64el
764 - s390x
765- - track: '13.1'
766+ - track: '13'
767 risk: beta
768 version: '13.1'
769- base: 21.04
770+ base: '21.04'
771+ deprecated:
772+ date: '01/2022'
773+ path:
774+ track: '13.1'
775+ base: '21.10'
776 architectures:
777 - amd64
778 - arm64
779 - ppc64el
780 - s390x
781- - track: '12.4'
782+ - track: '12'
783 risk: beta
784 version: '12.4'
785- base: 20.04
786+ base: '20.04'
787 type: LTS
788 architectures:
789 - amd64
790@@ -62,11 +76,11 @@ parameters:
791 value: PGDATA=/path/to/location
792 description: Set the location of the database files. The default is `/var/lib/postgresql/data`.
793 - type: -p
794- value: 30432:5432
795+ value: '30432:5432'
796 description: Expose Postgres on `localhost:30432`.
797 - type: -v
798 value: /path/to/postgresql.conf:/etc/postgresql/postgresql.conf
799- description: Local [configuration file](https://www.postgresql.org/docs/12/index.html) `postgresql.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf)).
800+ description: Local [configuration file](https://www.postgresql.org/docs/12/index.html) `postgresql.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf?h=14-22.04)).
801 - type: -v
802 value: /path/to/persisted/data:/var/lib/postgresql/data
803 description: Persist data instead of initializing a new database every time you launch a new container.
804@@ -90,7 +104,7 @@ microk8s:
805 files:
806 - key: main-config
807 name: postgresql.conf
808- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf
809+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf?h=14-22.04
810 deploy:
811- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/postgres-deployment.yml
812+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/postgres-deployment.yml?h=14-22.04
813 access: You will now be able to connect to the Postgres server on `localhost:30306`.
814diff --git a/data/prometheus-alertmanager.yaml b/data/prometheus-alertmanager.yaml
815index 62e38f7..234416d 100644
816--- a/data/prometheus-alertmanager.yaml
817+++ b/data/prometheus-alertmanager.yaml
818@@ -3,10 +3,23 @@ repo: prometheus-alertmanager
819 description: >
820 The Alertmanager handles alerts sent by client applications such as the Prometheus server. It takes care of deduplicating, grouping, and routing them to the correct receiver integration such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts. Read more on the [Prometheus Alertmanager website](https://prometheus.io/docs/alerting/latest/alertmanager/).
821 releases:
822+ - track: '0.23'
823+ base: '22.04'
824+ risk: beta
825+ architectures:
826+ - amd64
827+ - arm64
828+ - ppc64el
829+ - s390x
830 - track: '0.22'
831 risk: beta
832 version: '0.22.0'
833- base: 21.10
834+ base: '21.10'
835+ deprecated:
836+ date: '04/2022'
837+ path:
838+ track: '0.23'
839+ base: '22.04'
840 architectures:
841 - amd64
842 - arm64
843@@ -15,7 +28,12 @@ releases:
844 - track: '0.21'
845 risk: beta
846 version: '0.21.0'
847- base: 21.04
848+ base: '21.04'
849+ deprecated:
850+ date: '01/2022'
851+ path:
852+ track: '0.22'
853+ base: '21.10'
854 architectures:
855 - amd64
856 - arm64
857@@ -24,7 +42,12 @@ releases:
858 - track: '0.21'
859 risk: beta
860 version: '0.21.0'
861- base: 20.04
862+ base: '20.04'
863+ deprecated:
864+ date: '01/2021'
865+ path:
866+ track: '0.21'
867+ base: '21.04'
868 architectures:
869 - amd64
870 - arm64
871@@ -39,11 +62,11 @@ parameters:
872 value: TZ=UTC
873 description: Timezone.
874 - type: -p
875- value: 30093:9093
876+ value: '30093:9093'
877 description: Expose Prometheus Alertmanager on `localhost:30093`.
878 - type: -v
879 value: /path/to/alertmanager.yml:/etc/prometheus/alertmanager.yml
880- description: Local [configuration file](https://www.prometheus.io/docs/alerting/latest/configuration/) `alertmanager.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml)).
881+ description: Local [configuration file](https://www.prometheus.io/docs/alerting/latest/configuration/) `alertmanager.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/config/alertmanager.yml?h=0.23-22.04)).
882 - type: -v
883 value: /path/to/persisted/data:/alertmanager
884 description: "Persist data instead of initializing a new database for each newly launched container. **Important note**: the directory you will be using to persist the data needs to belong to `nogroup:nobody`. You can run `chown nogroup:nobody <path_to_persist_data>` before launching your container."
885@@ -51,10 +74,11 @@ debug:
886 - nothing
887 microk8s:
888 configmap:
889+ name: alertmanager-config
890 files:
891 - key: alertmanager
892 name: alertmanager.yml
893- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml
894+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/config/alertmanager.yml?h=0.23-22.04
895 deploy:
896- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/alertmanager-deployment.yml
897+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/alertmanager-deployment.yml?h=0.23-22.04
898 access: You will now be able to connect to the Prometheus Alertmanager server on `localhost:30093`.
899diff --git a/data/prometheus.yaml b/data/prometheus.yaml
900index 7b0e61e..2ce4e1e 100644
901--- a/data/prometheus.yaml
902+++ b/data/prometheus.yaml
903@@ -3,10 +3,37 @@ repo: prometheus
904 description: >
905 Prometheus is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true. Read more on the [Prometheus website](https://prometheus.io/).
906 releases:
907+ - track: '2.33'
908+ base: '22.04'
909+ risk: beta
910+ architectures:
911+ - amd64
912+ - arm64
913+ - ppc64el
914+ - s390x
915+ - track: '2.32'
916+ risk: beta
917+ version: '2.32.1'
918+ base: '20.04'
919+ deprecated:
920+ date: '04/2022'
921+ path:
922+ track: '2.33'
923+ base: '22.04'
924+ architectures:
925+ - amd64
926+ - arm64
927+ - ppc64el
928+ - s390x
929 - track: '2.28'
930 risk: beta
931 version: '2.28.1'
932- base: 21.10
933+ base: '21.10'
934+ deprecated:
935+ date: '02/2022'
936+ path:
937+ track: '2.32'
938+ base: '20.04'
939 architectures:
940 - amd64
941 - arm64
942@@ -15,7 +42,12 @@ releases:
943 - track: '2.25'
944 risk: beta
945 version: '2.25.1'
946- base: 21.04
947+ base: '21.04'
948+ deprecated:
949+ date: '01/2022'
950+ path:
951+ track: '2.28'
952+ base: '21.10'
953 architectures:
954 - amd64
955 - arm64
956@@ -24,7 +56,12 @@ releases:
957 - track: '2.20'
958 risk: beta
959 version: '2.20.1'
960- base: 20.04
961+ base: '20.04'
962+ deprecated:
963+ date: '01/2021'
964+ path:
965+ track: '2.25'
966+ base: '21.04'
967 architectures:
968 - amd64
969 - arm64
970@@ -39,14 +76,14 @@ parameters:
971 value: TZ=UTC
972 description: Timezone.
973 - type: -p
974- value: 30090:9090
975+ value: '30090:9090'
976 description: Expose Prometheus server on `localhost:30090`.
977 - type: -v
978 value: /path/to/prometheus.yml:/etc/prometheus/prometheus.yml
979- description: Local [configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `prometheus.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/prometheus.yml)).
980+ description: Local [configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `prometheus.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/prometheus.yml?h=2.33-22.04)).
981 - type: -v
982 value: /path/to/alerts.yml:/etc/prometheus/alerts.yml
983- description: Local [alert configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `alerts.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/alerts.yml)).
984+ description: Local [alert configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `alerts.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/alerts.yml?h=2.33-22.04)).
985 debug:
986 - nothing
987 microk8s:
988@@ -54,10 +91,10 @@ microk8s:
989 files:
990 - key: prometheus
991 name: prometheus.yml
992- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/prometheus.yml
993+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/prometheus.yml?h=2.33-22.04
994 - key: prometheus-alerts
995 name: alerts.yml
996- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/alerts.yml
997+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/alerts.yml?h=2.33-22.04
998 deploy:
999- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/prometheus-deployment.yml
1000+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/prometheus-deployment.yml?h=2.33-22.04
1001 access: You will now be able to connect to the Prometheus on `http://localhost:30090`.
1002diff --git a/data/redis.yaml b/data/redis.yaml
1003index 212336d..7b6089c 100644
1004--- a/data/redis.yaml
1005+++ b/data/redis.yaml
1006@@ -6,27 +6,45 @@ description: >
1007 Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
1008 Read more on the [Redis website](https://redis.io/topics/introduction).
1009 releases:
1010- - track: "6.0"
1011- base: 21.10
1012- version: "6.0.15"
1013+ - track: '6.2'
1014+ base: '22.04'
1015 risk: beta
1016 architectures:
1017 - amd64
1018 - arm64
1019 - ppc64el
1020 - s390x
1021- - track: "6.0"
1022- base: 21.04
1023- version: "6.0.11"
1024+ - track: '6.0'
1025+ base: '21.10'
1026+ version: '6.0.15'
1027 risk: beta
1028 architectures:
1029 - amd64
1030 - arm64
1031 - ppc64el
1032 - s390x
1033- - track: "5.0"
1034- version: "5.0.7"
1035- base: 20.04
1036+ - track: '6.0'
1037+ base: '21.04'
1038+ deprecated:
1039+ date: '01/2022'
1040+ path:
1041+ track: '6.0'
1042+ base: '21.10'
1043+ version: '6.0.11'
1044+ risk: beta
1045+ architectures:
1046+ - amd64
1047+ - arm64
1048+ - ppc64el
1049+ - s390x
1050+ - track: '5.0'
1051+ version: '5.0.7'
1052+ base: '20.04'
1053+ deprecated:
1054+ date: '01/2021'
1055+ path:
1056+ track: '6.0'
1057+ base: '21.04'
1058 risk: beta
1059 architectures:
1060 - amd64
1061@@ -58,11 +76,13 @@ parameters:
1062 value: REDIS_EXTRA_FLAGS
1063 description: Specify extra flags to be passed to `redis-server` when initializing it.
1064 - type: -p
1065- value: 30073:6379
1066+ value: '30073:6379'
1067 description: Expose redis on `localhost:30073`.
1068 - type: -v
1069 value: /path/to/redis.conf:/etc/redis/redis.conf
1070- description: Local [configuration file](https://redis.io/topics/config) `redis.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf)).
1071+ description: >
1072+ Local [configuration file](https://redis.io/topics/config) `redis.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf?h=6.2-22.04)).
1073+ **To enable TLS** mode, comment the `port 6379` line and uncomment the `# port 0` and `# tls-port 6379` lines.
1074 debug:
1075 network:
1076 client: redis-cli
1077@@ -82,7 +102,7 @@ microk8s:
1078 files:
1079 - key: redis
1080 name: redis.conf
1081- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf
1082+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf?h=6.2-22.04
1083 deploy:
1084- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/redis-deployment.yml
1085+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/redis-deployment.yml?h=6.2-22.04
1086 access: You will now be able to connect to the Redis server on `localhost:30073`.
1087diff --git a/data/squid.yaml b/data/squid.yaml
1088index d4983ea..fb52624 100644
1089--- a/data/squid.yaml
1090+++ b/data/squid.yaml
1091@@ -7,8 +7,17 @@ description: >
1092 a great server accelerator. It runs on most available operating systems,
1093 including Windows and is licensed under the GNU GPL.
1094 releases:
1095+ - track: '5.2'
1096+ base: '22.04'
1097+ risk: beta
1098+ type: LTS
1099+ architectures:
1100+ - amd64
1101+ - arm64
1102+ - ppc64el
1103+ - s390x
1104 - track: '4.13'
1105- risk: edge
1106+ risk: beta
1107 version: '4.13'
1108 base: '21.10'
1109 architectures:
1110@@ -35,7 +44,7 @@ parameters:
1111 value: TZ=UTC
1112 description: Timezone.
1113 - type: -p
1114- value: 3128:3128
1115+ value: '3128:3128'
1116 description: Expose the proxy service
1117 - type: -v
1118 value: /path/to/logs:/var/log/squid
1119@@ -51,7 +60,7 @@ microk8s:
1120 files:
1121 - key: squid
1122 name: squid.conf
1123- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf
1124+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf?h=5.2-22.04
1125 deploy:
1126- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml
1127+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml?h=5.2-22.04
1128 access: You can now access the squid proxy on port 3128
1129diff --git a/data/telegraf.yaml b/data/telegraf.yaml
1130index 75225ea..aacae43 100644
1131--- a/data/telegraf.yaml
1132+++ b/data/telegraf.yaml
1133@@ -3,28 +3,46 @@ repo: telegraf
1134 description: >
1135 Telegraf is an agent for collecting, processing, aggregating, and writing metrics. Design goals are to have a minimal memory footprint with a plugin system so that developers in the community can easily add support for collecting metrics. Read more on the [Telegraf website](https://www.influxdata.com/time-series-platform/telegraf/).
1136 releases:
1137- - track: "1.19"
1138+ - track: '1.21'
1139+ base: '22.04'
1140 risk: beta
1141- version: "1.19.2"
1142- base: 21.10
1143 architectures:
1144 - amd64
1145 - arm64
1146 - ppc64el
1147 - s390x
1148- - track: "1.17"
1149+ - track: '1.19'
1150 risk: beta
1151- version: "1.17.2"
1152- base: 21.04
1153+ version: '1.19.2'
1154+ base: '21.10'
1155 architectures:
1156 - amd64
1157 - arm64
1158 - ppc64el
1159 - s390x
1160- - track: "1.15"
1161+ - track: '1.17'
1162 risk: beta
1163- version: "1.15.2"
1164- base: 20.04
1165+ version: '1.17.2'
1166+ base: '21.04'
1167+ deprecated:
1168+ date: '01/2022'
1169+ path:
1170+ track: '1.19'
1171+ base: '21.10'
1172+ architectures:
1173+ - amd64
1174+ - arm64
1175+ - ppc64el
1176+ - s390x
1177+ - track: '1.15'
1178+ risk: beta
1179+ version: '1.15.2'
1180+ base: '20.04'
1181+ deprecated:
1182+ date: '01/2021'
1183+ path:
1184+ track: '1.17'
1185+ base: '21.04'
1186 architectures:
1187 - amd64
1188 - arm64
1189@@ -39,11 +57,11 @@ parameters:
1190 value: TZ=UTC
1191 description: Timezone.
1192 - type: -p
1193- value: 30273:9273
1194+ value: '30273:9273'
1195 description: Expose Telegraf on `localhost:30273`.
1196 - type: -v
1197 value: /path/to/telegraf.conf:/etc/telegraf/telegraf.conf
1198- description: Local [configuration file](https://docs.influxdata.com/telegraf/) `telegraf.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf)).
1199+ description: Local [configuration file](https://docs.influxdata.com/telegraf/) `telegraf.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf?h=1.21-22.04)).
1200 debug:
1201 - nothing
1202 microk8s:
1203@@ -51,7 +69,7 @@ microk8s:
1204 files:
1205 - key: main-config
1206 name: telegraf.conf
1207- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf
1208+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf?h=1.21-22.04
1209 deploy:
1210- link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/telegraf-deployment.yml
1211+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/telegraf-deployment.yml?h=1.21-22.04
1212 access: You will now be able to connect to the Telegraf server on `localhost:30073`.
1213diff --git a/data/zookeeper.yaml b/data/zookeeper.yaml
1214new file mode 100644
1215index 0000000..213225a
1216--- /dev/null
1217+++ b/data/zookeeper.yaml
1218@@ -0,0 +1,36 @@
1219+application: Apache ZooKeeper
1220+repo: zookeeper
1221+description: >
1222+ ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications.
1223+ Read more on [the Apache website](https://zookeeper.apache.org/).
1224+ This image is shipped in support of the Apache Kafka image.
1225+releases:
1226+ - track: '3.1'
1227+ base: '22.04'
1228+ risk: beta
1229+ version: '3.1.0'
1230+ architectures:
1231+ - amd64
1232+ - arm64
1233+ - ppc64el
1234+ - s390x
1235+docker:
1236+ parameters:
1237+ - -p 2181:2181
1238+ access: Zookeeper instance available at `localhost:2181`.
1239+parameters:
1240+ - type: -e
1241+ value: TZ=UTC
1242+ description: Timezone.
1243+ - type: -p
1244+ value: '2181:2181'
1245+ description: Expose Apache Zookeeper service on `localhost:2181`.
1246+ - type: -v
1247+ value: /etc/kafka/zookeeper.properties
1248+ description: Zookeeper config (file path within the container can also be set by overriding the CMD).
1249+debug:
1250+ - nothing
1251+microk8s:
1252+ deploy:
1253+ link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/kafka/plain/examples/kafka-deployment.yml?h=3.1-22.04
1254+ access: Apache Kafka will be available on the K8s cluster as a `kafka-service` Service.
1255diff --git a/docs/docker.io/ubuntu/apache2.md b/docs/docker.io/ubuntu/apache2.md
1256index cc18fdf..b77a473 100644
1257--- a/docs/docker.io/ubuntu/apache2.md
1258+++ b/docs/docker.io/ubuntu/apache2.md
1259@@ -1,7 +1,6 @@
1260 # Apache2 | Ubuntu
1261
1262 Current Apache2 Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Apache2 or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1263-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/apache2`. -->
1264
1265
1266 ## About Apache2
1267@@ -12,7 +11,6 @@ The Apache HTTP Server Project's goal is to build a secure, efficient and extens
1268 ## Tags and Architectures
1269 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1270 Up to 5 years free security maintenance on LTS channels.
1271-<!-- `from lts/apache2`. -->
1272
1273 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1274 Up to 10 years customer security maintenance `from canonical/apache2`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1275@@ -21,7 +19,8 @@ _Tags in italics are not available in ubuntu/apache2 but are shown here for comp
1276
1277 | Channel Tag | | | Currently | Architectures |
1278 |---|---|---|---|---|
1279- | **`2.4-21.04_beta`** &nbsp;&nbsp; | | | Apache2 2.4 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1280+ | **`2.4-22.04_beta`** &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Apache2 2.4 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1281+ | `2.4-21.10_beta` &nbsp;&nbsp; | | | Apache2 2.4.48 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1282 | `2.4-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Apache2 2.4.41 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1283 | _`track_risk`_ |
1284
1285@@ -35,7 +34,7 @@ If your usage includes commercial redistribution or requires unavailable channel
1286 Launch this image locally:
1287
1288 ```sh
1289-docker run -d --name apache2-container -e TZ=UTC -p 8080:80 ubuntu/apache2:2.4-21.04_beta
1290+docker run -d --name apache2-container -e TZ=UTC -p 8080:80 ubuntu/apache2:2.4-22.04_beta
1291 ```
1292 Access your Apache2 server at `http://localhost:8080`.
1293
1294@@ -46,7 +45,7 @@ Access your Apache2 server at `http://localhost:8080`.
1295 | `-e TZ=UTC` | Timezone. |
1296 | `-p 8080:80` | Expose Apache2 on `localhost:8080`. |
1297 | `-v /local/path/to/website:/var/www/html` | Mount and serve a local website. |
1298-| `-v /path/to/apache2.conf:/etc/apache2/apache2.conf` | Local [configuration file](https://httpd.apache.org/docs/2.4/) `apache2.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf)). |
1299+| `-v /path/to/apache2.conf:/etc/apache2/apache2.conf` | Local [configuration file](https://httpd.apache.org/docs/2.4/) `apache2.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf?h=2.4-22.04)). |
1300
1301
1302 #### Testing/Debugging
1303@@ -69,8 +68,8 @@ docker exec -it apache2-container /bin/bash
1304 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1305
1306 Download
1307-[apache2.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/html/index.html) and
1308-[apache2-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/apache2-deployment.yml) and set `containers.apache2.image` in `apache2-deployment.yml` to your chosen channel tag (e.g. `ubuntu/apache2:2.4-21.04_beta`), then:
1309+[apache2.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf?h=2.4-22.04), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/html/index.html?h=2.4-22.04) and
1310+[apache2-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/apache2-deployment.yml?h=2.4-22.04) and set `containers.apache2.image` in `apache2-deployment.yml` to your chosen channel tag (e.g. `ubuntu/apache2:2.4-22.04_beta`), then:
1311
1312 ```sh
1313 kubectl create configmap apache2-config --from-file=apache2=apache2.conf --from-file=apache2-site=index.html
1314@@ -92,3 +91,11 @@ docker images --no-trunc --quiet ubuntu/apache2:<tag>
1315 ```
1316
1317
1318+## Deprecated channels & tags
1319+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1320+
1321+| Track | Version | EOL | Upgrade Path |
1322+|---|---|---|---|
1323+ | ~~2.4-21.04~~ | Apache2 2.4.46 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 2.4-21.10_beta |
1324+| _`track`_ |
1325+
1326diff --git a/docs/docker.io/ubuntu/bind9.md b/docs/docker.io/ubuntu/bind9.md
1327index f2e3258..327f7c7 100644
1328--- a/docs/docker.io/ubuntu/bind9.md
1329+++ b/docs/docker.io/ubuntu/bind9.md
1330@@ -1,7 +1,6 @@
1331 # Bind9 | Ubuntu
1332
1333 Current Bind9 Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Bind9 or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1334-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/bind9`. -->
1335
1336
1337 ## About Bind9
1338@@ -12,7 +11,6 @@ BIND 9 provides software for Domain Name System (DNS) management including both
1339 ## Tags and Architectures
1340 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1341 Up to 5 years free security maintenance on LTS channels.
1342-<!-- `from lts/bind9`. -->
1343
1344 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1345 Up to 10 years customer security maintenance `from canonical/bind9`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1346@@ -21,7 +19,9 @@ _Tags in italics are not available in ubuntu/bind9 but are shown here for comple
1347
1348 | Channel Tag | | | Currently | Architectures |
1349 |---|---|---|---|---|
1350- | **`9.16-20.04_beta`** &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Bind9 9.16.15 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1351+ | **`9.18-22.04_beta`** &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Bind9 9.18 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1352+ | `9.16-21.10_beta` &nbsp;&nbsp; | | | Bind9 9.16.15 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1353+ | `9.16-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Bind9 9.16.1 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1354 | _`track_risk`_ |
1355
1356 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
1357@@ -34,7 +34,7 @@ If your usage includes commercial redistribution or requires unavailable channel
1358 Launch this image locally:
1359
1360 ```sh
1361-docker run -d --name bind9-container -e TZ=UTC -p 30053:53 ubuntu/bind9:9.16-20.04_beta
1362+docker run -d --name bind9-container -e TZ=UTC -p 30053:53 ubuntu/bind9:9.18-22.04_beta
1363 ```
1364 Access your Bind9 server at `localhost:30053`
1365
1366@@ -43,8 +43,9 @@ Access your Bind9 server at `localhost:30053`
1367 | Parameter | Description |
1368 |---|---|
1369 | `-e TZ=UTC` | Timezone. |
1370-| `-p 1803233` | Expose bind9 on `localhost:30053`. |
1371-| `-v /path/to/bind/configuration:/etc/bind/named.conf` | Local [configuration file](https://bind9.readthedocs.io/en/latest/reference.html) `named.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/caching-nameserver/named.conf.options)). |
1372+| `-p 30053:53` | Expose bind9 on `localhost:30053`. |
1373+| `-e BIND9_USER=bind` | The user which will start the `named` process. |
1374+| `-v /path/to/bind/configuration:/etc/bind/named.conf` | Local [configuration file](https://bind9.readthedocs.io/en/latest/reference.html) `named.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/caching-nameserver/named.conf.options?h=9.18-22.04)). |
1375 | `-v /path/to/cached/data:/var/cache/bind` | Location where locally cached data can be dumped. |
1376 | `-v /path/to/resource/records:/var/lib/bind` | Location of Resource Records defining various domain information. |
1377
1378@@ -69,7 +70,7 @@ docker exec -it bind9-container /bin/bash
1379 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1380
1381 Download
1382-[bind9-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/bind9-deployment.yml) and set `containers.bind9.image` in `bind9-deployment.yml` to your chosen channel tag (e.g. `ubuntu/bind9:9.16-20.04_beta`), then:
1383+[bind9-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/bind9-deployment.yml?h=9.18-22.04) and set `containers.bind9.image` in `bind9-deployment.yml` to your chosen channel tag (e.g. `ubuntu/bind9:9.18-22.04_beta`), then:
1384
1385 ```sh
1386 kubectl apply -f bind9-deployment.yml
1387@@ -90,3 +91,10 @@ docker images --no-trunc --quiet ubuntu/bind9:<tag>
1388 ```
1389
1390
1391+## Deprecated channels & tags
1392+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1393+
1394+| Track | Version | EOL | Upgrade Path |
1395+|---|---|---|---|
1396+| _`track`_ |
1397+
1398diff --git a/docs/docker.io/ubuntu/cassandra.md b/docs/docker.io/ubuntu/cassandra.md
1399index 400f771..eb04d92 100644
1400--- a/docs/docker.io/ubuntu/cassandra.md
1401+++ b/docs/docker.io/ubuntu/cassandra.md
1402@@ -1,10 +1,9 @@
1403-# Cassandra | Ubuntu
1404+# Apache Cassandra | Ubuntu
1405
1406-Current Cassandra Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Cassandra or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1407-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/cassandra`. -->
1408+Current Apache Cassandra Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Apache Cassandra or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1409
1410
1411-## About Cassandra
1412+## About Apache Cassandra
1413
1414 Apache Cassandra is an open source NoSQL distributed database trusted by thousands of companies for scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it a good platform for mission-critical data.
1415
1416@@ -12,7 +11,6 @@ Apache Cassandra is an open source NoSQL distributed database trusted by thousan
1417 ## Tags and Architectures
1418 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1419 Up to 5 years free security maintenance on LTS channels.
1420-<!-- `from lts/cassandra`. -->
1421
1422 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1423 Up to 10 years customer security maintenance `from canonical/cassandra`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1424@@ -21,8 +19,7 @@ _Tags in italics are not available in ubuntu/cassandra but are shown here for co
1425
1426 | Channel Tag | | | Currently | Architectures |
1427 |---|---|---|---|---|
1428- | **`4.0-21.04_beta`** &nbsp;&nbsp; | | | Cassandra 4.0 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1429- | `4.0-20.04_beta` &nbsp;&nbsp; | | | Cassandra 4.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1430+ | **`4.0-22.04_beta`** &nbsp;&nbsp; | | | Apache Cassandra 4.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1431 | _`track_risk`_ |
1432
1433 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
1434@@ -35,7 +32,7 @@ If your usage includes commercial redistribution or requires unavailable channel
1435 Launch this image locally:
1436
1437 ```sh
1438-docker run -d --name cassandra-container -e TZ=UTC -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 ubuntu/cassandra:4.0-21.04_beta
1439+docker run -d --name cassandra-container -e TZ=UTC -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 ubuntu/cassandra:4.0-22.04_beta
1440 ```
1441 Access your Cassandra server with `cqlsh localhost 9042`.
1442
1443@@ -73,7 +70,7 @@ docker exec -it cassandra-container /bin/bash
1444 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1445
1446 Download
1447-[cassandra-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `ubuntu/cassandra:4.0-21.04_beta`), then:
1448+[cassandra-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml?h=4.0-22.04) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `ubuntu/cassandra:4.0-22.04_beta`), then:
1449
1450 ```sh
1451 kubectl apply -f cassandra-deployment.yml
1452@@ -94,3 +91,13 @@ docker images --no-trunc --quiet ubuntu/cassandra:<tag>
1453 ```
1454
1455
1456+## Deprecated channels & tags
1457+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1458+
1459+| Track | Version | EOL | Upgrade Path |
1460+|---|---|---|---|
1461+ | ~~4.0-21.10~~ | Apache Cassandra 4.0 on Ubuntu&nbsp;21.10&nbsp; | 04/2022 | 4.0-22.04_beta |
1462+ | ~~4.0-21.04~~ | Apache Cassandra 4.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~4.0-21.10~~ |
1463+ | ~~4.0-20.04~~ | Apache Cassandra 4.0 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~4.0-21.04~~ |
1464+| _`track`_ |
1465+
1466diff --git a/docs/docker.io/ubuntu/cortex.md b/docs/docker.io/ubuntu/cortex.md
1467index a2d0b20..5e618f0 100644
1468--- a/docs/docker.io/ubuntu/cortex.md
1469+++ b/docs/docker.io/ubuntu/cortex.md
1470@@ -1,7 +1,6 @@
1471 # Cortex | Ubuntu
1472
1473 Current Cortex Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Cortex or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1474-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/cortex`. -->
1475
1476
1477 ## About Cortex
1478@@ -19,7 +18,6 @@ Read more on the [Cortex website](https://cortexmetrics.io/).
1479 ## Tags and Architectures
1480 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1481 Up to 5 years free security maintenance on LTS channels.
1482-<!-- `from lts/cortex`. -->
1483
1484 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1485 Up to 10 years customer security maintenance `from canonical/cortex`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1486@@ -28,8 +26,7 @@ _Tags in italics are not available in ubuntu/cortex but are shown here for compl
1487
1488 | Channel Tag | | | Currently | Architectures |
1489 |---|---|---|---|---|
1490- | **`1.7-21.04_beta`** &nbsp;&nbsp; | | | Cortex 1.7 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1491- | `1.4-20.04_beta` &nbsp;&nbsp; | | | Cortex 1.4.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1492+ | **`1.11-22.04_beta`** &nbsp;&nbsp; | | | Cortex 1.11 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1493 | _`track_risk`_ |
1494
1495 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
1496@@ -42,7 +39,7 @@ If your usage includes commercial redistribution or requires unavailable channel
1497 Launch this image locally:
1498
1499 ```sh
1500-docker run -d --name cortex-container -e TZ=UTC -p 32709:9009 ubuntu/cortex:1.7-21.04_beta
1501+docker run -d --name cortex-container -e TZ=UTC -p 32709:9009 ubuntu/cortex:1.11-22.04_beta
1502 ```
1503 Access your Cortex server at `http://localhost:32709`.
1504
1505@@ -52,7 +49,7 @@ Access your Cortex server at `http://localhost:32709`.
1506 |---|---|
1507 | `-e TZ=UTC` | Timezone. |
1508 | `-p 32709:9009` | Expose Cortex on `localhost:32709`. |
1509-| `-v /my/local/cortex.yaml:/etc/cortex/cortex.yaml` | Local [configuration file](https://cortexmetrics.io/docs/configuration/) `cortex.yaml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml)). |
1510+| `-v /my/local/cortex.yaml:/etc/cortex/cortex.yaml` | Local [configuration file](https://cortexmetrics.io/docs/configuration/) `cortex.yaml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml?h=1.11-22.04)). |
1511
1512
1513 #### Testing/Debugging
1514@@ -75,8 +72,8 @@ docker exec -it cortex-container /bin/bash
1515 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1516
1517 Download
1518-[cortex.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml) and
1519-[cortex-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/cortex-deployment.yml) and set `containers.cortex.image` in `cortex-deployment.yml` to your chosen channel tag (e.g. `ubuntu/cortex:1.7-21.04_beta`), then:
1520+[cortex.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml?h=1.11-22.04) and
1521+[cortex-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/cortex-deployment.yml?h=1.11-22.04) and set `containers.cortex.image` in `cortex-deployment.yml` to your chosen channel tag (e.g. `ubuntu/cortex:1.11-22.04_beta`), then:
1522
1523 ```sh
1524 kubectl create configmap cortex-config --from-file=main-config=cortex.yaml
1525@@ -98,3 +95,13 @@ docker images --no-trunc --quiet ubuntu/cortex:<tag>
1526 ```
1527
1528
1529+## Deprecated channels & tags
1530+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1531+
1532+| Track | Version | EOL | Upgrade Path |
1533+|---|---|---|---|
1534+ | ~~1.10-21.10~~ | Cortex 1.10.0 on Ubuntu&nbsp;21.10&nbsp; | 04/2022 | 1.11-22.04_beta |
1535+ | ~~1.7-21.04~~ | Cortex 1.7.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~1.10-21.10~~ |
1536+ | ~~1.4-20.04~~ | Cortex 1.4.0 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~1.7-21.04~~ |
1537+| _`track`_ |
1538+
1539diff --git a/docs/docker.io/ubuntu/grafana.md b/docs/docker.io/ubuntu/grafana.md
1540index c1aef62..e92143e 100644
1541--- a/docs/docker.io/ubuntu/grafana.md
1542+++ b/docs/docker.io/ubuntu/grafana.md
1543@@ -1,7 +1,6 @@
1544 # Grafana™ software | Ubuntu
1545
1546 Current Grafana™ software Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Grafana™ software or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1547-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/grafana`. -->
1548
1549
1550 ## About Grafana™ software
1551@@ -12,7 +11,6 @@ Grafana is a feature rich metrics dashboard and graph editor for Cloudwatch, Ela
1552 ## Tags and Architectures
1553 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1554 Up to 5 years free security maintenance on LTS channels.
1555-<!-- `from lts/grafana`. -->
1556
1557 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1558 Up to 10 years customer security maintenance `from canonical/grafana`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1559@@ -21,8 +19,7 @@ _Tags in italics are not available in ubuntu/grafana but are shown here for comp
1560
1561 | Channel Tag | | | Currently | Architectures |
1562 |---|---|---|---|---|
1563- | **`7.4-21.04_beta`** &nbsp;&nbsp; | | | Grafana™ software 7.4 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1564- | `7.2-20.04_beta` &nbsp;&nbsp; | | | Grafana™ software 7.2.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1565+ | **`8.2-22.04_beta`** &nbsp;&nbsp; | | | Grafana™ software 8.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1566 | _`track_risk`_ |
1567
1568 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
1569@@ -35,7 +32,7 @@ If your usage includes commercial redistribution or requires unavailable channel
1570 Launch this image locally:
1571
1572 ```sh
1573-docker run -d --name grafana-container -e TZ=UTC -p 30000:3000 ubuntu/grafana:7.4-21.04_beta
1574+docker run -d --name grafana-container -e TZ=UTC -p 30000:3000 ubuntu/grafana:8.2-22.04_beta
1575 ```
1576 Access your Grafana server at `localhost:30000`.
1577
1578@@ -69,8 +66,8 @@ docker exec -it grafana-container /bin/bash
1579 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1580
1581 Download
1582-[datasource.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/datasource.yml), [dashboard.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/dashboard.yml), [system-stats-dashboard.json](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/system-stats-dashboard.json) and
1583-[grafana-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/grafana-deployment.yml) and set `containers.grafana.image` in `grafana-deployment.yml` to your chosen channel tag (e.g. `ubuntu/grafana:7.4-21.04_beta`), then:
1584+[datasource.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/datasource.yml?h=8.2-22.04), [dashboard.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/dashboard.yml?h=8.2-22.04), [system-stats-dashboard.json](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/system-stats-dashboard.json?h=8.2-22.04) and
1585+[grafana-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/grafana-deployment.yml?h=8.2-22.04) and set `containers.grafana.image` in `grafana-deployment.yml` to your chosen channel tag (e.g. `ubuntu/grafana:8.2-22.04_beta`), then:
1586
1587 ```sh
1588 kubectl create configmap grafana-config --from-file=grafana-datasource=datasource.yml --from-file=grafana-dashboard-definition=dashboard.yml --from-file=grafana-dashboard=system-stats-dashboard.json
1589@@ -92,3 +89,13 @@ docker images --no-trunc --quiet ubuntu/grafana:<tag>
1590 ```
1591
1592
1593+## Deprecated channels & tags
1594+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1595+
1596+| Track | Version | EOL | Upgrade Path |
1597+|---|---|---|---|
1598+ | ~~8.1-21.10~~ | Grafana™ software 8.1.0 on Ubuntu&nbsp;21.10&nbsp; | 04/2022 | 8.2-22.04_beta |
1599+ | ~~7.4-21.04~~ | Grafana™ software 7.4.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~8.1-21.10~~ |
1600+ | ~~7.2-20.04~~ | Grafana™ software 7.2.0 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~7.4-21.04~~ |
1601+| _`track`_ |
1602+
1603diff --git a/docs/docker.io/ubuntu/kafka.md b/docs/docker.io/ubuntu/kafka.md
1604new file mode 100644
1605index 0000000..2e6880d
1606--- /dev/null
1607+++ b/docs/docker.io/ubuntu/kafka.md
1608@@ -0,0 +1,100 @@
1609+# Apache Kafka | Ubuntu
1610+
1611+Current Apache Kafka Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Apache Kafka or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1612+
1613+
1614+## About Apache Kafka
1615+
1616+Apache Kafka is an open-source distributed event streaming platform for high-performance data pipelines, streaming analytics... Read more on the [Apache Kafka website](https://kafka.apache.org/). This image requires the Zookeeper image to run properly.
1617+
1618+
1619+## Tags and Architectures
1620+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1621+Up to 5 years free security maintenance on LTS channels.
1622+
1623+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1624+Up to 10 years customer security maintenance `from canonical/kafka`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1625+
1626+_Tags in italics are not available in ubuntu/kafka but are shown here for completeness._
1627+
1628+| Channel Tag | | | Currently | Architectures |
1629+|---|---|---|---|---|
1630+ | **`3.1-22.04_beta`** &nbsp;&nbsp; | | | Apache Kafka 3.1.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1631+| _`track_risk`_ |
1632+
1633+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
1634+
1635+### Commercial use and Extended Security Maintenance channels
1636+If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
1637+
1638+## Usage
1639+
1640+Launch this image locally:
1641+
1642+```sh
1643+docker run -d --name kafka-container -e TZ=UTC -p 9092:9092 -e ZOOKEEPER_HOST=host.docker.internal ubuntu/kafka:3.1-22.04_beta
1644+```
1645+Apache Kafka service is now exposed at `localhost:9092` (**You first need to run a Zookeeper instance**: `docker run -d -p 2181:2181 ubuntu/zookeeper:edge`).
1646+
1647+
1648+#### Parameters
1649+
1650+| Parameter | Description |
1651+|---|---|
1652+| `-e TZ=UTC` | Timezone. |
1653+| `-e ZOOKEEPER_HOST=172.17.0.1` | Hostname for the related Zookeeper instance (default value is set to the default IP for the Docker host (host.docker.internal)). |
1654+| `-e ZOOKEEPER_PORT=2181` | Port for the related Zookeeper instance. |
1655+| `-p 9092:9092` | Expose Apache Kafka service on `localhost:9092`. |
1656+| `-p 2181:2181` | Expose Apache Zookeeper service on `localhost:2181`. |
1657+| `CMD kafka-server-start.sh /etc/kafka/server.properties --override zookeeper.connect=host.docker.internal:2181` | Start a Kafka instance, connecting to the Zookeeper instance accessible at `host.docker.internal:2181` from within the Kafka instance container. |
1658+| `CMD zookeeper-server-start.sh /etc/kafka/zookeeper.properties` | Start a Zookeeper instance. |
1659+
1660+
1661+#### Testing/Debugging
1662+
1663+To debug the container:
1664+
1665+```sh
1666+docker logs -f kafka-container
1667+```
1668+
1669+To get an interactive shell:
1670+
1671+```sh
1672+docker exec -it kafka-container /bin/bash
1673+```
1674+
1675+
1676+## Deploy with Kubernetes
1677+
1678+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1679+
1680+Download
1681+[kafka-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/kafka/plain/examples/kafka-deployment.yml?h=3.1-22.04) and set `containers.kafka.image` in `kafka-deployment.yml` to your chosen channel tag (e.g. `ubuntu/kafka:3.1-22.04_beta`), then:
1682+
1683+```sh
1684+kubectl apply -f kafka-deployment.yml
1685+```
1686+
1687+Apache Kafka will be available on the K8s cluster as a `kafka-service` Service.
1688+
1689+## Bugs and feature requests
1690+
1691+If you find a bug in our image or want to request a specific feature, please file a bug here:
1692+
1693+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
1694+
1695+Please title the bug "`kafka: <issue summary>`". Make sure to include the digest of the image you are using, from:
1696+
1697+```sh
1698+docker images --no-trunc --quiet ubuntu/kafka:<tag>
1699+```
1700+
1701+
1702+## Deprecated channels & tags
1703+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1704+
1705+| Track | Version | EOL | Upgrade Path |
1706+|---|---|---|---|
1707+| _`track`_ |
1708+
1709diff --git a/docs/docker.io/ubuntu/loki.md b/docs/docker.io/ubuntu/loki.md
1710new file mode 100644
1711index 0000000..bfc31b2
1712--- /dev/null
1713+++ b/docs/docker.io/ubuntu/loki.md
1714@@ -0,0 +1,98 @@
1715+# Grafana Loki™ software | Ubuntu
1716+
1717+Current Grafana Loki™ software Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Grafana Loki™ software or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1718+
1719+
1720+## About Grafana Loki™ software
1721+
1722+Loki is a horizontally scalable, highly available, multi-tenant log aggregation system inspired by Prometheus. Read more on the [Grafana website](https://grafana.com/oss/loki/).
1723+
1724+
1725+## Tags and Architectures
1726+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1727+Up to 5 years free security maintenance on LTS channels.
1728+
1729+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1730+Up to 10 years customer security maintenance `from canonical/loki`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1731+
1732+_Tags in italics are not available in ubuntu/loki but are shown here for completeness._
1733+
1734+| Channel Tag | | | Currently | Architectures |
1735+|---|---|---|---|---|
1736+ | **`2.4-22.04_beta`** &nbsp;&nbsp; | | | Grafana Loki™ software 2.4.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1737+| _`track_risk`_ |
1738+
1739+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
1740+
1741+### Commercial use and Extended Security Maintenance channels
1742+If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
1743+
1744+## Usage
1745+
1746+Launch this image locally:
1747+
1748+```sh
1749+docker run -d --name loki-container -e TZ=UTC -p 3100:3100 ubuntu/loki:2.4-22.04_beta
1750+```
1751+You can now use your Loki instance exposed at `http://localhost:3100`.
1752+
1753+#### Parameters
1754+
1755+| Parameter | Description |
1756+|---|---|
1757+| `-e TZ=UTC` | Timezone. |
1758+| `-p 3100:3100` | Expose Grafana Loki on `localhost:3100`. |
1759+| `-v /local/path/to/config:/etc/loki/local-config.yaml` | Local Loki Promtail config file. Can be changed using CMD `--config.file=` argument. See an [example file](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/config/promtail-local-config.yaml?h=2.4-22.04). |
1760+| `-v lokidata:/loki` | Persist data in a docker volume named `lokidata`. |
1761+
1762+
1763+#### Testing/Debugging
1764+
1765+To debug the container:
1766+
1767+```sh
1768+docker logs -f loki-container
1769+```
1770+
1771+To get an interactive shell:
1772+
1773+```sh
1774+docker exec -it loki-container /bin/bash
1775+```
1776+
1777+
1778+## Deploy with Kubernetes
1779+
1780+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1781+
1782+Download
1783+[promtail-local-config-k8s.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/config/promtail-local-config-k8s.yaml?h=2.4-22.04) and
1784+[loki-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/loki-deployment.yml?h=2.4-22.04) and set `containers.loki.image` in `loki-deployment.yml` to your chosen channel tag (e.g. `ubuntu/loki:2.4-22.04_beta`), then:
1785+
1786+```sh
1787+kubectl create configmap promtail-config --from-file=promtail=promtail-local-config-k8s.yaml
1788+kubectl apply -f loki-deployment.yml
1789+```
1790+
1791+You will now be able to connect to the Loki instance on `http://localhost:31000`.
1792+
1793+## Bugs and feature requests
1794+
1795+If you find a bug in our image or want to request a specific feature, please file a bug here:
1796+
1797+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
1798+
1799+Please title the bug "`loki: <issue summary>`". Make sure to include the digest of the image you are using, from:
1800+
1801+```sh
1802+docker images --no-trunc --quiet ubuntu/loki:<tag>
1803+```
1804+
1805+
1806+## Deprecated channels & tags
1807+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1808+
1809+| Track | Version | EOL | Upgrade Path |
1810+|---|---|---|---|
1811+| _`track`_ |
1812+
1813diff --git a/docs/docker.io/ubuntu/memcached.md b/docs/docker.io/ubuntu/memcached.md
1814index b03808f..29d33e1 100644
1815--- a/docs/docker.io/ubuntu/memcached.md
1816+++ b/docs/docker.io/ubuntu/memcached.md
1817@@ -1,7 +1,6 @@
1818 # Memcached | Ubuntu
1819
1820 Current Memcached Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Memcached or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1821-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/memcached`. -->
1822
1823
1824 ## About Memcached
1825@@ -12,7 +11,6 @@ Memcached is an in-memory key-value store for small chunks of arbitrary data (st
1826 ## Tags and Architectures
1827 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1828 Up to 5 years free security maintenance on LTS channels.
1829-<!-- `from lts/memcached`. -->
1830
1831 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1832 Up to 10 years customer security maintenance `from canonical/memcached`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1833@@ -21,7 +19,8 @@ _Tags in italics are not available in ubuntu/memcached but are shown here for co
1834
1835 | Channel Tag | | | Currently | Architectures |
1836 |---|---|---|---|---|
1837- | **`1.6-21.04_beta`** &nbsp;&nbsp; | | | Memcached 1.6 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1838+ | **`1.6-22.04_beta`** &nbsp;&nbsp; | | | Memcached 1.6 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1839+ | `1.6-21.10_beta` &nbsp;&nbsp; | | | Memcached 1.6.9 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1840 | `1.5-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Memcached 1.5.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1841 | _`track_risk`_ |
1842
1843@@ -35,7 +34,7 @@ If your usage includes commercial redistribution or requires unavailable channel
1844 Launch this image locally:
1845
1846 ```sh
1847-docker run -d --name memcached-container -e TZ=UTC ubuntu/memcached:1.6-21.04_beta
1848+docker run -d --name memcached-container -e TZ=UTC ubuntu/memcached:1.6-22.04_beta
1849 ```
1850
1851 #### Parameters
1852@@ -48,7 +47,7 @@ docker run -d --name memcached-container -e TZ=UTC ubuntu/memcached:1.6-21.04_b
1853 | `-e MEMCACHED_THREADS=4` | Determines the number of threads to process requests. |
1854 | `-e MEMCACHED_PASSWORD` | Define the password for the `root` user if another username is provided. By default the authentication is disabled but if this option is passed it becomes enabled. |
1855 | `-e MEMCACHED_USERNAME` | Define a new user. If this option is passed a password is needed to authenticate the new user. |
1856-| `-p 11211` | Memcached is exposed inside the container on port `11211`. |
1857+| `-p 11211:11211` | Memcached is exposed inside the container on port `11211`. |
1858
1859
1860 #### Testing/Debugging
1861@@ -100,7 +99,7 @@ In this case you can append the flags themselves or a shell script to the run co
1862 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1863
1864 Download
1865-[memcached-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/memcached/plain/examples/memcached-deployment.yml) and set `containers.memcached.image` in `memcached-deployment.yml` to your chosen channel tag (e.g. `ubuntu/memcached:1.6-21.04_beta`), then:
1866+[memcached-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/memcached/plain/examples/memcached-deployment.yml?h=1.6-22.04) and set `containers.memcached.image` in `memcached-deployment.yml` to your chosen channel tag (e.g. `ubuntu/memcached:1.6-22.04_beta`), then:
1867
1868 ```sh
1869 kubectl apply -f memcached-deployment.yml
1870@@ -121,3 +120,11 @@ docker images --no-trunc --quiet ubuntu/memcached:<tag>
1871 ```
1872
1873
1874+## Deprecated channels & tags
1875+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1876+
1877+| Track | Version | EOL | Upgrade Path |
1878+|---|---|---|---|
1879+ | ~~1.6-21.04~~ | Memcached 1.6.9 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 1.6-21.10_beta |
1880+| _`track`_ |
1881+
1882diff --git a/docs/docker.io/ubuntu/mysql.md b/docs/docker.io/ubuntu/mysql.md
1883index 5129a97..e1b2916 100644
1884--- a/docs/docker.io/ubuntu/mysql.md
1885+++ b/docs/docker.io/ubuntu/mysql.md
1886@@ -1,10 +1,9 @@
1887-# MySQL™ | Ubuntu
1888+# MySQL™ software | Ubuntu
1889
1890-Current MySQL™ Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer MySQL™ or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1891-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/mysql`. -->
1892+Current MySQL™ software Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer MySQL™ software or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1893
1894
1895-## About MySQL™
1896+## About MySQL™ software
1897
1898 MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. SQL (Structured Query Language) is the most popular database query language in the world. The main goals of MySQL are speed, robustness and ease of use. Read more on the [MySQL website](https://dev.mysql.com/doc/refman/8.0/en/).
1899
1900@@ -12,7 +11,6 @@ MySQL is a fast, stable and true multi-user, multi-threaded SQL database server.
1901 ## Tags and Architectures
1902 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1903 Up to 5 years free security maintenance on LTS channels.
1904-<!-- `from lts/mysql`. -->
1905
1906 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1907 Up to 10 years customer security maintenance `from canonical/mysql`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1908@@ -21,8 +19,9 @@ _Tags in italics are not available in ubuntu/mysql but are shown here for comple
1909
1910 | Channel Tag | | | Currently | Architectures |
1911 |---|---|---|---|---|
1912- | **`8.0-21.04_beta`** &nbsp;&nbsp; | | | MySQL™ 8.0 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `s390x` |
1913- | `8.0-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | MySQL™ 8.0.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `s390x` |
1914+ | **`8.0-22.04_beta`** &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | MySQL™ software 8.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1915+ | `8.0-21.10_beta` &nbsp;&nbsp; | | | MySQL™ software 8.0.27 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1916+ | `8.0-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | MySQL™ software 8.0.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1917 | _`track_risk`_ |
1918
1919 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
1920@@ -35,7 +34,7 @@ If your usage includes commercial redistribution or requires unavailable channel
1921 Launch this image locally:
1922
1923 ```sh
1924-docker run -d --name mysql-container -e TZ=UTC -p 30306:3306 -e MYSQL_ROOT_PASSWORD=My:S3cr3t/ ubuntu/mysql:8.0-21.04_beta
1925+docker run -d --name mysql-container -e TZ=UTC -p 30306:3306 -e MYSQL_ROOT_PASSWORD=My:S3cr3t/ ubuntu/mysql:8.0-22.04_beta
1926 ```
1927 Access your MySQL server at `localhost:30306`.
1928
1929@@ -54,7 +53,7 @@ Access your MySQL server at `localhost:30306`.
1930 | `-e MYSQL_INITSB_SKIP_TZINFO=yes` | Timezone data is automatically loaded via entrypoint script, set this variable to any non-empty value to disable it. |
1931 | `-p 30306:3306` | Expose MySQL server on `localhost:30306`. |
1932 | `-v /path/to/data:/var/lib/mysql` | Persist data instead of initializing a new database every time you launch a new container. |
1933-| `-v /path/to/config/files/:/etc/mysql/mysql.conf.d/` | Local [configuration files](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html) (try this [example my.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my.cnf)). |
1934+| `-v /path/to/config/files/:/etc/mysql/mysql.conf.d/` | Local [configuration files](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html) (try this [example my.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf?h=8.0-22.04)). |
1935
1936 #### Initialization Scripts
1937
1938@@ -86,7 +85,7 @@ This image also includes the `mysql` client for interactive container use:
1939 ```sh
1940 $ docker network create mysql-network
1941 $ docker network connect mysql-network mysql-container
1942-$ docker run -it --rm --network mysql-network ubuntu/mysql:8.0-21.04_beta mysql -hmysql-container -uroot -p
1943+$ docker run -it --rm --network mysql-network ubuntu/mysql:8.0-22.04_beta mysql -hmysql-container -uroot -p
1944 ```
1945 The password will be asked and you can enter `My:S3cr3t/`. Now, you are logged in and can enjoy your new instance.
1946
1947@@ -95,8 +94,8 @@ The password will be asked and you can enter `My:S3cr3t/`. Now, you are logged i
1948 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
1949
1950 Download
1951-[my-custom.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf) and
1952-[mysql-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/mysql-deployment.yml) and set `containers.mysql.image` in `mysql-deployment.yml` to your chosen channel tag (e.g. `ubuntu/mysql:8.0-21.04_beta`), then:
1953+[my-custom.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf?h=8.0-22.04) and
1954+[mysql-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/mysql-deployment.yml?h=8.0-22.04) and set `containers.mysql.image` in `mysql-deployment.yml` to your chosen channel tag (e.g. `ubuntu/mysql:8.0-22.04_beta`), then:
1955
1956 ```sh
1957 kubectl create configmap mysql-config --from-file=main-config=my-custom.cnf
1958@@ -118,3 +117,11 @@ docker images --no-trunc --quiet ubuntu/mysql:<tag>
1959 ```
1960
1961
1962+## Deprecated channels & tags
1963+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
1964+
1965+| Track | Version | EOL | Upgrade Path |
1966+|---|---|---|---|
1967+ | ~~8.0-21.04~~ | MySQL™ software 8.0.27 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 8.0-21.10_beta |
1968+| _`track`_ |
1969+
1970diff --git a/docs/docker.io/ubuntu/nginx.md b/docs/docker.io/ubuntu/nginx.md
1971index 710e302..e83354c 100644
1972--- a/docs/docker.io/ubuntu/nginx.md
1973+++ b/docs/docker.io/ubuntu/nginx.md
1974@@ -1,7 +1,6 @@
1975 # Nginx | Ubuntu
1976
1977 Current Nginx Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Nginx or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
1978-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/nginx`. -->
1979
1980
1981 ## About Nginx
1982@@ -12,7 +11,6 @@ Nginx ("engine X") is a high-performance web and reverse proxy server created by
1983 ## Tags and Architectures
1984 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
1985 Up to 5 years free security maintenance on LTS channels.
1986-<!-- `from lts/nginx`. -->
1987
1988 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
1989 Up to 10 years customer security maintenance `from canonical/nginx`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
1990@@ -21,7 +19,8 @@ _Tags in italics are not available in ubuntu/nginx but are shown here for comple
1991
1992 | Channel Tag | | | Currently | Architectures |
1993 |---|---|---|---|---|
1994- | **`1.18-21.04_beta`** &nbsp;&nbsp; | | | Nginx 1.18 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1995+ | **`1.18-22.04_beta`** &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Nginx 1.18 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1996+ | `1.18-21.10_beta` &nbsp;&nbsp; | | | Nginx 1.18.0 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
1997 | `1.18-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Nginx 1.18.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
1998 | _`track_risk`_ |
1999
2000@@ -35,7 +34,7 @@ If your usage includes commercial redistribution or requires unavailable channel
2001 Launch this image locally:
2002
2003 ```sh
2004-docker run -d --name nginx-container -e TZ=UTC -p 8080:80 ubuntu/nginx:1.18-21.04_beta
2005+docker run -d --name nginx-container -e TZ=UTC -p 8080:80 ubuntu/nginx:1.18-22.04_beta
2006 ```
2007 Access your Nginx server at `http://localhost:8080`.
2008
2009@@ -47,7 +46,7 @@ Access your Nginx server at `http://localhost:8080`.
2010 | `-p 8080:80` | Expose Nginx on `localhost:8080`. |
2011 | `-v /local/path/to/website:/var/www/html` | Mount and serve a local website. |
2012 | `-v /path/to/conf.template:/etc/nginx/templates/conf.template` | Mount template files inside `/etc/nginx/templates`. They will be processed and the results will be placed at `/etc/nginx/conf.d`. (e.g. `listen ${NGINX_PORT};` will generate `listen 80;`). |
2013-| `-v /path/to/nginx.conf:/etc/nginx/nginx.conf` | Local [configuration file](https://nginx.org/en/docs/) `nginx.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf)). |
2014+| `-v /path/to/nginx.conf:/etc/nginx/nginx.conf` | Local [configuration file](https://nginx.org/en/docs/) `nginx.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf?h=1.18-22.04)). |
2015
2016
2017 #### Testing/Debugging
2018@@ -70,8 +69,8 @@ docker exec -it nginx-container /bin/bash
2019 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2020
2021 Download
2022-[nginx.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/html/index.html) and
2023-[nginx-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/nginx-deployment.yml) and set `containers.nginx.image` in `nginx-deployment.yml` to your chosen channel tag (e.g. `ubuntu/nginx:1.18-21.04_beta`), then:
2024+[nginx.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf?h=1.18-22.04), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/html/index.html?h=1.18-22.04) and
2025+[nginx-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/nginx-deployment.yml?h=1.18-22.04) and set `containers.nginx.image` in `nginx-deployment.yml` to your chosen channel tag (e.g. `ubuntu/nginx:1.18-22.04_beta`), then:
2026
2027 ```sh
2028 kubectl create configmap nginx-config --from-file=nginx=nginx.conf --from-file=nginx-site=index.html
2029@@ -93,3 +92,11 @@ docker images --no-trunc --quiet ubuntu/nginx:<tag>
2030 ```
2031
2032
2033+## Deprecated channels & tags
2034+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
2035+
2036+| Track | Version | EOL | Upgrade Path |
2037+|---|---|---|---|
2038+ | ~~1.18-21.04~~ | Nginx 1.18.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 1.18-21.10_beta |
2039+| _`track`_ |
2040+
2041diff --git a/docs/docker.io/ubuntu/postgres.md b/docs/docker.io/ubuntu/postgres.md
2042index 2ca4ef0..7cb092c 100644
2043--- a/docs/docker.io/ubuntu/postgres.md
2044+++ b/docs/docker.io/ubuntu/postgres.md
2045@@ -1,7 +1,6 @@
2046 # Postgres | Ubuntu
2047
2048 Current Postgres Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Postgres or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
2049-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/postgres`. -->
2050
2051
2052 ## About Postgres
2053@@ -12,7 +11,6 @@ PostgreSQL is a powerful, open source object-relational database system. It is f
2054 ## Tags and Architectures
2055 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2056 Up to 5 years free security maintenance on LTS channels.
2057-<!-- `from lts/postgres`. -->
2058
2059 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2060 Up to 10 years customer security maintenance `from canonical/postgres`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2061@@ -21,8 +19,9 @@ _Tags in italics are not available in ubuntu/postgres but are shown here for com
2062
2063 | Channel Tag | | | Currently | Architectures |
2064 |---|---|---|---|---|
2065- | **`13.1-21.04_beta`** &nbsp;&nbsp; | | | Postgres 13.1 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `s390x` |
2066- | `12.4-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Postgres 12.4 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `s390x` |
2067+ | **`14-22.04_beta`** &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Postgres 14 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2068+ | `13-21.10_beta` &nbsp;&nbsp; | | | Postgres 13.1 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2069+ | `12-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Postgres 12.4 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2070 | _`track_risk`_ |
2071
2072 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2073@@ -35,7 +34,7 @@ If your usage includes commercial redistribution or requires unavailable channel
2074 Launch this image locally:
2075
2076 ```sh
2077-docker run -d --name postgres-container -e TZ=UTC -p 30432:5432 -e POSTGRES_PASSWORD=My:s3Cr3t/ ubuntu/postgres:13.1-21.04_beta
2078+docker run -d --name postgres-container -e TZ=UTC -p 30432:5432 -e POSTGRES_PASSWORD=My:s3Cr3t/ ubuntu/postgres:14-22.04_beta
2079 ```
2080 Access your PostgreSQL server at `localhost:30432`.
2081
2082@@ -52,7 +51,7 @@ Access your PostgreSQL server at `localhost:30432`.
2083 | `-e POSTGRES_HOST_AUTH_METHOD=trust` | Set the `auth-method` for `host` connections for `all` databases, `all` users, and `all` addresses. The following will be added to the `pg_hba.conf` if this option is passed: `host all all all $POSTGRES_HOST_AUTH_METHOD`. |
2084 | `-e PGDATA=/path/to/location` | Set the location of the database files. The default is `/var/lib/postgresql/data`. |
2085 | `-p 30432:5432` | Expose Postgres on `localhost:30432`. |
2086-| `-v /path/to/postgresql.conf:/etc/postgresql/postgresql.conf` | Local [configuration file](https://www.postgresql.org/docs/12/index.html) `postgresql.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf)). |
2087+| `-v /path/to/postgresql.conf:/etc/postgresql/postgresql.conf` | Local [configuration file](https://www.postgresql.org/docs/12/index.html) `postgresql.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf?h=14-22.04)). |
2088 | `-v /path/to/persisted/data:/var/lib/postgresql/data` | Persist data instead of initializing a new database every time you launch a new container. |
2089
2090 #### Initialization Scripts
2091@@ -85,7 +84,7 @@ This image also includes the `psql` client for interactive container use:
2092 ```sh
2093 $ docker network create postgres-network
2094 $ docker network connect postgres-network postgres-container
2095-$ docker run -it --rm --network postgres-network ubuntu/postgres:13.1-21.04_beta psql -h postgres-container -U postgres
2096+$ docker run -it --rm --network postgres-network ubuntu/postgres:14-22.04_beta psql -h postgres-container -U postgres
2097 ```
2098 The password will be asked and you can enter `My:s3Cr3t/`. Now, you are logged in and can enjoy your new instance.
2099
2100@@ -94,8 +93,8 @@ The password will be asked and you can enter `My:s3Cr3t/`. Now, you are logged i
2101 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2102
2103 Download
2104-[postgresql.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf) and
2105-[postgres-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/postgres-deployment.yml) and set `containers.postgres.image` in `postgres-deployment.yml` to your chosen channel tag (e.g. `ubuntu/postgres:13.1-21.04_beta`), then:
2106+[postgresql.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf?h=14-22.04) and
2107+[postgres-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/postgres-deployment.yml?h=14-22.04) and set `containers.postgres.image` in `postgres-deployment.yml` to your chosen channel tag (e.g. `ubuntu/postgres:14-22.04_beta`), then:
2108
2109 ```sh
2110 kubectl create configmap postgres-config --from-file=main-config=postgresql.conf
2111@@ -117,3 +116,11 @@ docker images --no-trunc --quiet ubuntu/postgres:<tag>
2112 ```
2113
2114
2115+## Deprecated channels & tags
2116+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
2117+
2118+| Track | Version | EOL | Upgrade Path |
2119+|---|---|---|---|
2120+ | ~~13-21.04~~ | Postgres 13.1 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~13.1-21.10~~ |
2121+| _`track`_ |
2122+
2123diff --git a/docs/docker.io/ubuntu/prometheus-alertmanager.md b/docs/docker.io/ubuntu/prometheus-alertmanager.md
2124index 89fa94c..a06fffe 100644
2125--- a/docs/docker.io/ubuntu/prometheus-alertmanager.md
2126+++ b/docs/docker.io/ubuntu/prometheus-alertmanager.md
2127@@ -1,7 +1,6 @@
2128 # Prometheus Alertmanager | Ubuntu
2129
2130 Current Prometheus Alertmanager Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Prometheus Alertmanager or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
2131-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/prometheus-alertmanager`. -->
2132
2133
2134 ## About Prometheus Alertmanager
2135@@ -12,7 +11,6 @@ The Alertmanager handles alerts sent by client applications such as the Promethe
2136 ## Tags and Architectures
2137 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2138 Up to 5 years free security maintenance on LTS channels.
2139-<!-- `from lts/prometheus-alertmanager`. -->
2140
2141 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2142 Up to 10 years customer security maintenance `from canonical/prometheus-alertmanager`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2143@@ -21,8 +19,7 @@ _Tags in italics are not available in ubuntu/prometheus-alertmanager but are sho
2144
2145 | Channel Tag | | | Currently | Architectures |
2146 |---|---|---|---|---|
2147- | **`0.21-21.04_beta`** &nbsp;&nbsp; | | | Prometheus Alertmanager 0.21 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2148- | `0.21-20.04_beta` &nbsp;&nbsp; | | | Prometheus Alertmanager 0.21.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2149+ | **`0.23-22.04_beta`** &nbsp;&nbsp; | | | Prometheus Alertmanager 0.23 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2150 | _`track_risk`_ |
2151
2152 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2153@@ -35,7 +32,7 @@ If your usage includes commercial redistribution or requires unavailable channel
2154 Launch this image locally:
2155
2156 ```sh
2157-docker run -d --name prometheus-alertmanager-container -e TZ=UTC -p 30093:9093 ubuntu/prometheus-alertmanager:0.21-21.04_beta
2158+docker run -d --name prometheus-alertmanager-container -e TZ=UTC -p 30093:9093 ubuntu/prometheus-alertmanager:0.23-22.04_beta
2159 ```
2160 Access your Prometheus Alertmanager server at `localhost:30093`.
2161
2162@@ -45,7 +42,7 @@ Access your Prometheus Alertmanager server at `localhost:30093`.
2163 |---|---|
2164 | `-e TZ=UTC` | Timezone. |
2165 | `-p 30093:9093` | Expose Prometheus Alertmanager on `localhost:30093`. |
2166-| `-v /path/to/alertmanager.yml:/etc/prometheus/alertmanager.yml` | Local [configuration file](https://www.prometheus.io/docs/alerting/latest/configuration/) `alertmanager.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml)). |
2167+| `-v /path/to/alertmanager.yml:/etc/prometheus/alertmanager.yml` | Local [configuration file](https://www.prometheus.io/docs/alerting/latest/configuration/) `alertmanager.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/config/alertmanager.yml?h=0.23-22.04)). |
2168 | `-v /path/to/persisted/data:/alertmanager` | Persist data instead of initializing a new database for each newly launched container. **Important note**: the directory you will be using to persist the data needs to belong to `nogroup:nobody`. You can run `chown nogroup:nobody <path_to_persist_data>` before launching your container. |
2169
2170
2171@@ -69,11 +66,11 @@ docker exec -it prometheus-alertmanager-container /bin/bash
2172 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2173
2174 Download
2175-[alertmanager.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml) and
2176-[prometheus-alertmanager-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/alertmanager-deployment.yml) and set `containers.prometheus-alertmanager.image` in `prometheus-alertmanager-deployment.yml` to your chosen channel tag (e.g. `ubuntu/prometheus-alertmanager:0.21-21.04_beta`), then:
2177+[alertmanager.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/config/alertmanager.yml?h=0.23-22.04) and
2178+[prometheus-alertmanager-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/alertmanager-deployment.yml?h=0.23-22.04) and set `containers.prometheus-alertmanager.image` in `prometheus-alertmanager-deployment.yml` to your chosen channel tag (e.g. `ubuntu/prometheus-alertmanager:0.23-22.04_beta`), then:
2179
2180 ```sh
2181-kubectl create configmap prometheus-alertmanager-config --from-file=alertmanager=alertmanager.yml
2182+kubectl create configmap alertmanager-config --from-file=alertmanager=alertmanager.yml
2183 kubectl apply -f prometheus-alertmanager-deployment.yml
2184 ```
2185
2186@@ -92,3 +89,13 @@ docker images --no-trunc --quiet ubuntu/prometheus-alertmanager:<tag>
2187 ```
2188
2189
2190+## Deprecated channels & tags
2191+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
2192+
2193+| Track | Version | EOL | Upgrade Path |
2194+|---|---|---|---|
2195+ | ~~0.22-21.10~~ | Prometheus Alertmanager 0.22.0 on Ubuntu&nbsp;21.10&nbsp; | 04/2022 | 0.23-22.04_beta |
2196+ | ~~0.21-21.04~~ | Prometheus Alertmanager 0.21.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~0.22-21.10~~ |
2197+ | ~~0.21-20.04~~ | Prometheus Alertmanager 0.21.0 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~0.21-21.04~~ |
2198+| _`track`_ |
2199+
2200diff --git a/docs/docker.io/ubuntu/prometheus.md b/docs/docker.io/ubuntu/prometheus.md
2201index 9bbeb86..52e94f1 100644
2202--- a/docs/docker.io/ubuntu/prometheus.md
2203+++ b/docs/docker.io/ubuntu/prometheus.md
2204@@ -1,7 +1,6 @@
2205 # Prometheus | Ubuntu
2206
2207 Current Prometheus Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Prometheus or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
2208-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/prometheus`. -->
2209
2210
2211 ## About Prometheus
2212@@ -12,7 +11,6 @@ Prometheus is a systems and service monitoring system. It collects metrics from
2213 ## Tags and Architectures
2214 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2215 Up to 5 years free security maintenance on LTS channels.
2216-<!-- `from lts/prometheus`. -->
2217
2218 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2219 Up to 10 years customer security maintenance `from canonical/prometheus`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2220@@ -21,8 +19,7 @@ _Tags in italics are not available in ubuntu/prometheus but are shown here for c
2221
2222 | Channel Tag | | | Currently | Architectures |
2223 |---|---|---|---|---|
2224- | **`2.25-21.04_beta`** &nbsp;&nbsp; | | | Prometheus 2.25 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2225- | `2.20-20.04_beta` &nbsp;&nbsp; | | | Prometheus 2.20.1 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2226+ | **`2.33-22.04_beta`** &nbsp;&nbsp; | | | Prometheus 2.33 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2227 | _`track_risk`_ |
2228
2229 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2230@@ -35,7 +32,7 @@ If your usage includes commercial redistribution or requires unavailable channel
2231 Launch this image locally:
2232
2233 ```sh
2234-docker run -d --name prometheus-container -e TZ=UTC -p 30090:9090 ubuntu/prometheus:2.25-21.04_beta
2235+docker run -d --name prometheus-container -e TZ=UTC -p 30090:9090 ubuntu/prometheus:2.33-22.04_beta
2236 ```
2237 Access your Prometheus server at `localhost:30090`.
2238
2239@@ -45,8 +42,8 @@ Access your Prometheus server at `localhost:30090`.
2240 |---|---|
2241 | `-e TZ=UTC` | Timezone. |
2242 | `-p 30090:9090` | Expose Prometheus server on `localhost:30090`. |
2243-| `-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml` | Local [configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `prometheus.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/prometheus.yml)). |
2244-| `-v /path/to/alerts.yml:/etc/prometheus/alerts.yml` | Local [alert configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `alerts.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/alerts.yml)). |
2245+| `-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml` | Local [configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `prometheus.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/prometheus.yml?h=2.33-22.04)). |
2246+| `-v /path/to/alerts.yml:/etc/prometheus/alerts.yml` | Local [alert configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `alerts.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/alerts.yml?h=2.33-22.04)). |
2247
2248
2249 #### Testing/Debugging
2250@@ -69,8 +66,8 @@ docker exec -it prometheus-container /bin/bash
2251 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2252
2253 Download
2254-[prometheus.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/prometheus.yml), [alerts.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/alerts.yml) and
2255-[prometheus-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/prometheus-deployment.yml) and set `containers.prometheus.image` in `prometheus-deployment.yml` to your chosen channel tag (e.g. `ubuntu/prometheus:2.25-21.04_beta`), then:
2256+[prometheus.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/prometheus.yml?h=2.33-22.04), [alerts.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/alerts.yml?h=2.33-22.04) and
2257+[prometheus-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/prometheus-deployment.yml?h=2.33-22.04) and set `containers.prometheus.image` in `prometheus-deployment.yml` to your chosen channel tag (e.g. `ubuntu/prometheus:2.33-22.04_beta`), then:
2258
2259 ```sh
2260 kubectl create configmap prometheus-config --from-file=prometheus=prometheus.yml --from-file=prometheus-alerts=alerts.yml
2261@@ -92,3 +89,14 @@ docker images --no-trunc --quiet ubuntu/prometheus:<tag>
2262 ```
2263
2264
2265+## Deprecated channels & tags
2266+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
2267+
2268+| Track | Version | EOL | Upgrade Path |
2269+|---|---|---|---|
2270+ | ~~2.28-21.10~~ | Prometheus 2.28.1 on Ubuntu&nbsp;21.10&nbsp; | 02/2022 | ~~2.32-20.04~~ |
2271+ | ~~2.25-21.04~~ | Prometheus 2.25.1 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~2.28-21.10~~ |
2272+ | ~~2.32-20.04~~ | Prometheus 2.32.1 on Ubuntu&nbsp;20.04&nbsp;LTS | 04/2022 | 2.33-22.04_beta |
2273+ | ~~2.20-20.04~~ | Prometheus 2.20.1 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~2.25-21.04~~ |
2274+| _`track`_ |
2275+
2276diff --git a/docs/docker.io/ubuntu/redis.md b/docs/docker.io/ubuntu/redis.md
2277index 052a0c1..34330ab 100644
2278--- a/docs/docker.io/ubuntu/redis.md
2279+++ b/docs/docker.io/ubuntu/redis.md
2280@@ -1,7 +1,6 @@
2281 # Redis™ software | Ubuntu
2282
2283 Current Redis™ software Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Redis™ software or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
2284-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/redis`. -->
2285
2286
2287 ## About Redis™ software
2288@@ -12,7 +11,6 @@ Redis is an open source (BSD licensed), in-memory data structure store, used as
2289 ## Tags and Architectures
2290 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2291 Up to 5 years free security maintenance on LTS channels.
2292-<!-- `from lts/redis`. -->
2293
2294 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2295 Up to 10 years customer security maintenance `from canonical/redis`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2296@@ -21,8 +19,8 @@ _Tags in italics are not available in ubuntu/redis but are shown here for comple
2297
2298 | Channel Tag | | | Currently | Architectures |
2299 |---|---|---|---|---|
2300- | **`6.0-21.04_beta`** &nbsp;&nbsp; | | | Redis™ software 6.0 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2301- | `5.0-20.04_beta` &nbsp;&nbsp; | | | Redis™ software 5.0.7 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2302+ | **`6.2-22.04_beta`** &nbsp;&nbsp; | | | Redis™ software 6.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2303+ | `6.0-21.10_beta` &nbsp;&nbsp; | | | Redis™ software 6.0.15 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2304 | _`track_risk`_ |
2305
2306 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2307@@ -35,7 +33,7 @@ If your usage includes commercial redistribution or requires unavailable channel
2308 Launch this image locally:
2309
2310 ```sh
2311-docker run -d --name redis-container -e TZ=UTC -p 30073:6379 -e REDIS_PASSWORD=mypassword ubuntu/redis:6.0-21.04_beta
2312+docker run -d --name redis-container -e TZ=UTC -p 30073:6379 -e REDIS_PASSWORD=mypassword ubuntu/redis:6.2-22.04_beta
2313 ```
2314 Access your Redis server at `localhost:30073`.
2315
2316@@ -50,7 +48,8 @@ Access your Redis server at `localhost:30073`.
2317 | `-e REDIS_ALLOW_REMOTE_CONNECTIONS=yes` | Set to `no` to disallow remote connections to `redis-server` (i.e., make `redis-server` listen to `127.0.0.1` only). |
2318 | `-e REDIS_EXTRA_FLAGS` | Specify extra flags to be passed to `redis-server` when initializing it. |
2319 | `-p 30073:6379` | Expose redis on `localhost:30073`. |
2320-| `-v /path/to/redis.conf:/etc/redis/redis.conf` | Local [configuration file](https://redis.io/topics/config) `redis.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf)). |
2321+| `-v /path/to/redis.conf:/etc/redis/redis.conf` | Local [configuration file](https://redis.io/topics/config) `redis.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf?h=6.2-22.04)). **To enable TLS** mode, comment the `port 6379` line and uncomment the `# port 0` and `# tls-port 6379` lines.
2322+ |
2323
2324
2325 #### Testing/Debugging
2326@@ -72,7 +71,7 @@ This image also includes the `redis-cli` client for interactive container use:
2327 ```sh
2328 $ docker network create redis-network
2329 $ docker network connect redis-network redis-container
2330-$ docker run -it --rm --network redis-network ubuntu/redis:6.0-21.04_beta redis-cli -h redis-container
2331+$ docker run -it --rm --network redis-network ubuntu/redis:6.2-22.04_beta redis-cli -h redis-container
2332 ```
2333 Now you can:
2334 ```
2335@@ -89,8 +88,8 @@ redis:6379>
2336 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2337
2338 Download
2339-[redis.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf) and
2340-[redis-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/redis-deployment.yml) and set `containers.redis.image` in `redis-deployment.yml` to your chosen channel tag (e.g. `ubuntu/redis:6.0-21.04_beta`), then:
2341+[redis.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf?h=6.2-22.04) and
2342+[redis-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/redis-deployment.yml?h=6.2-22.04) and set `containers.redis.image` in `redis-deployment.yml` to your chosen channel tag (e.g. `ubuntu/redis:6.2-22.04_beta`), then:
2343
2344 ```sh
2345 kubectl create configmap redis-config --from-file=redis=redis.conf
2346@@ -112,3 +111,12 @@ docker images --no-trunc --quiet ubuntu/redis:<tag>
2347 ```
2348
2349
2350+## Deprecated channels & tags
2351+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
2352+
2353+| Track | Version | EOL | Upgrade Path |
2354+|---|---|---|---|
2355+ | ~~6.0-21.04~~ | Redis™ software 6.0.11 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 6.0-21.10_beta |
2356+ | ~~5.0-20.04~~ | Redis™ software 5.0.7 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~6.0-21.04~~ |
2357+| _`track`_ |
2358+
2359diff --git a/docs/docker.io/ubuntu/squid.md b/docs/docker.io/ubuntu/squid.md
2360index 0e26afa..7dc7ebd 100644
2361--- a/docs/docker.io/ubuntu/squid.md
2362+++ b/docs/docker.io/ubuntu/squid.md
2363@@ -1,7 +1,6 @@
2364 # Squid | Ubuntu
2365
2366 Current Squid Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Squid or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
2367-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/squid`. -->
2368
2369
2370 ## About Squid
2371@@ -12,7 +11,6 @@ Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It r
2372 ## Tags and Architectures
2373 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2374 Up to 5 years free security maintenance on LTS channels.
2375-<!-- `from lts/squid`. -->
2376
2377 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2378 Up to 10 years customer security maintenance `from canonical/squid`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2379@@ -21,8 +19,9 @@ _Tags in italics are not available in ubuntu/squid but are shown here for comple
2380
2381 | Channel Tag | | | Currently | Architectures |
2382 |---|---|---|---|---|
2383- | **`4.10-20.04_beta`** &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Squid 4.10 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2384- | `4.13-21.10_edge` &nbsp;&nbsp; | | | Squid 4.13 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2385+ | **`5.2-22.04_beta`** &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Squid 5.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2386+ | `4.13-21.10_beta` &nbsp;&nbsp; | | | Squid 4.13 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2387+ | `4.10-20.04_beta` &nbsp;&nbsp; | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) | | Squid 4.10 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2388 | _`track_risk`_ |
2389
2390 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2391@@ -35,7 +34,7 @@ If your usage includes commercial redistribution or requires unavailable channel
2392 Launch this image locally:
2393
2394 ```sh
2395-docker run -d --name squid-container -e TZ=UTC -p 3128:3128 ubuntu/squid:4.10-20.04_beta
2396+docker run -d --name squid-container -e TZ=UTC -p 3128:3128 ubuntu/squid:5.2-22.04_beta
2397 ```
2398 Access your Squid proxy at `localhost:3128`.
2399
2400@@ -69,8 +68,8 @@ docker exec -it squid-container /bin/bash
2401 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2402
2403 Download
2404-[squid.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf) and
2405-[squid-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml) and set `containers.squid.image` in `squid-deployment.yml` to your chosen channel tag (e.g. `ubuntu/squid:4.10-20.04_beta`), then:
2406+[squid.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf?h=5.2-22.04) and
2407+[squid-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml?h=5.2-22.04) and set `containers.squid.image` in `squid-deployment.yml` to your chosen channel tag (e.g. `ubuntu/squid:5.2-22.04_beta`), then:
2408
2409 ```sh
2410 kubectl create configmap squid-config --from-file=squid=squid.conf
2411@@ -92,3 +91,10 @@ docker images --no-trunc --quiet ubuntu/squid:<tag>
2412 ```
2413
2414
2415+## Deprecated channels & tags
2416+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
2417+
2418+| Track | Version | EOL | Upgrade Path |
2419+|---|---|---|---|
2420+| _`track`_ |
2421+
2422diff --git a/docs/docker.io/ubuntu/telegraf.md b/docs/docker.io/ubuntu/telegraf.md
2423index 614b5b6..cfb8f51 100644
2424--- a/docs/docker.io/ubuntu/telegraf.md
2425+++ b/docs/docker.io/ubuntu/telegraf.md
2426@@ -1,7 +1,6 @@
2427 # Telegraf™ software | Ubuntu
2428
2429 Current Telegraf™ software Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Telegraf™ software or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
2430-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/telegraf`. -->
2431
2432
2433 ## About Telegraf™ software
2434@@ -12,7 +11,6 @@ Telegraf is an agent for collecting, processing, aggregating, and writing metric
2435 ## Tags and Architectures
2436 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2437 Up to 5 years free security maintenance on LTS channels.
2438-<!-- `from lts/telegraf`. -->
2439
2440 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2441 Up to 10 years customer security maintenance `from canonical/telegraf`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2442@@ -21,8 +19,8 @@ _Tags in italics are not available in ubuntu/telegraf but are shown here for com
2443
2444 | Channel Tag | | | Currently | Architectures |
2445 |---|---|---|---|---|
2446- | **`1.17-21.04_beta`** &nbsp;&nbsp; | | | Telegraf™ software 1.17 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2447- | `1.15-20.04_beta` &nbsp;&nbsp; | | | Telegraf™ software 1.15.2 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2448+ | **`1.21-22.04_beta`** &nbsp;&nbsp; | | | Telegraf™ software 1.21 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2449+ | `1.19-21.10_beta` &nbsp;&nbsp; | | | Telegraf™ software 1.19.2 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
2450 | _`track_risk`_ |
2451
2452 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2453@@ -35,7 +33,7 @@ If your usage includes commercial redistribution or requires unavailable channel
2454 Launch this image locally:
2455
2456 ```sh
2457-docker run -d --name telegraf-container -e TZ=UTC -p 30273:9273 ubuntu/telegraf:1.17-21.04_beta
2458+docker run -d --name telegraf-container -e TZ=UTC -p 30273:9273 ubuntu/telegraf:1.21-22.04_beta
2459 ```
2460 Access your Telegraf server at `localhost:30273`.
2461
2462@@ -45,7 +43,7 @@ Access your Telegraf server at `localhost:30273`.
2463 |---|---|
2464 | `-e TZ=UTC` | Timezone. |
2465 | `-p 30273:9273` | Expose Telegraf on `localhost:30273`. |
2466-| `-v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf` | Local [configuration file](https://docs.influxdata.com/telegraf/) `telegraf.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf)). |
2467+| `-v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf` | Local [configuration file](https://docs.influxdata.com/telegraf/) `telegraf.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf?h=1.21-22.04)). |
2468
2469
2470 #### Testing/Debugging
2471@@ -68,8 +66,8 @@ docker exec -it telegraf-container /bin/bash
2472 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2473
2474 Download
2475-[telegraf.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf) and
2476-[telegraf-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/telegraf-deployment.yml) and set `containers.telegraf.image` in `telegraf-deployment.yml` to your chosen channel tag (e.g. `ubuntu/telegraf:1.17-21.04_beta`), then:
2477+[telegraf.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf?h=1.21-22.04) and
2478+[telegraf-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/telegraf-deployment.yml?h=1.21-22.04) and set `containers.telegraf.image` in `telegraf-deployment.yml` to your chosen channel tag (e.g. `ubuntu/telegraf:1.21-22.04_beta`), then:
2479
2480 ```sh
2481 kubectl create configmap telegraf-config --from-file=main-config=telegraf.conf
2482@@ -91,3 +89,12 @@ docker images --no-trunc --quiet ubuntu/telegraf:<tag>
2483 ```
2484
2485
2486+## Deprecated channels & tags
2487+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
2488+
2489+| Track | Version | EOL | Upgrade Path |
2490+|---|---|---|---|
2491+ | ~~1.17-21.04~~ | Telegraf™ software 1.17.2 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 1.19-21.10_beta |
2492+ | ~~1.15-20.04~~ | Telegraf™ software 1.15.2 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~1.17-21.04~~ |
2493+| _`track`_ |
2494+
2495diff --git a/docs/docker.io/ubuntu/zookeeper.md b/docs/docker.io/ubuntu/zookeeper.md
2496new file mode 100644
2497index 0000000..98180d0
2498--- /dev/null
2499+++ b/docs/docker.io/ubuntu/zookeeper.md
2500@@ -0,0 +1,95 @@
2501+# Apache ZooKeeper | Ubuntu
2502+
2503+Current Apache ZooKeeper Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Apache ZooKeeper or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
2504+
2505+
2506+## About Apache ZooKeeper
2507+
2508+ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Read more on [the Apache website](https://zookeeper.apache.org/). This image is shipped in support of the Apache Kafka image.
2509+
2510+
2511+## Tags and Architectures
2512+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2513+Up to 5 years free security maintenance on LTS channels.
2514+
2515+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2516+Up to 10 years customer security maintenance `from canonical/zookeeper`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2517+
2518+_Tags in italics are not available in ubuntu/zookeeper but are shown here for completeness._
2519+
2520+| Channel Tag | | | Currently | Architectures |
2521+|---|---|---|---|---|
2522+ | **`3.1-22.04_beta`** &nbsp;&nbsp; | | | Apache ZooKeeper 3.1.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2523+| _`track_risk`_ |
2524+
2525+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2526+
2527+### Commercial use and Extended Security Maintenance channels
2528+If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
2529+
2530+## Usage
2531+
2532+Launch this image locally:
2533+
2534+```sh
2535+docker run -d --name zookeeper-container -e TZ=UTC -p 2181:2181 ubuntu/zookeeper:3.1-22.04_beta
2536+```
2537+Zookeeper instance available at `localhost:2181`.
2538+
2539+#### Parameters
2540+
2541+| Parameter | Description |
2542+|---|---|
2543+| `-e TZ=UTC` | Timezone. |
2544+| `-p 2181:2181` | Expose Apache Zookeeper service on `localhost:2181`. |
2545+| `-v /etc/kafka/zookeeper.properties` | Zookeeper config (file path within the container can also be set by overriding the CMD). |
2546+
2547+
2548+#### Testing/Debugging
2549+
2550+To debug the container:
2551+
2552+```sh
2553+docker logs -f zookeeper-container
2554+```
2555+
2556+To get an interactive shell:
2557+
2558+```sh
2559+docker exec -it zookeeper-container /bin/bash
2560+```
2561+
2562+
2563+## Deploy with Kubernetes
2564+
2565+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2566+
2567+Download
2568+[zookeeper-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/kafka/plain/examples/kafka-deployment.yml?h=3.1-22.04) and set `containers.zookeeper.image` in `zookeeper-deployment.yml` to your chosen channel tag (e.g. `ubuntu/zookeeper:3.1-22.04_beta`), then:
2569+
2570+```sh
2571+kubectl apply -f zookeeper-deployment.yml
2572+```
2573+
2574+Apache Kafka will be available on the K8s cluster as a `kafka-service` Service.
2575+
2576+## Bugs and feature requests
2577+
2578+If you find a bug in our image or want to request a specific feature, please file a bug here:
2579+
2580+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
2581+
2582+Please title the bug "`zookeeper: <issue summary>`". Make sure to include the digest of the image you are using, from:
2583+
2584+```sh
2585+docker images --no-trunc --quiet ubuntu/zookeeper:<tag>
2586+```
2587+
2588+
2589+## Deprecated channels & tags
2590+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
2591+
2592+| Track | Version | EOL | Upgrade Path |
2593+|---|---|---|---|
2594+| _`track`_ |
2595+
2596diff --git a/docs/public.ecr.aws/lts/apache2.md b/docs/public.ecr.aws/lts/apache2.md
2597index 8dcac7e..93dc477 100644
2598--- a/docs/public.ecr.aws/lts/apache2.md
2599+++ b/docs/public.ecr.aws/lts/apache2.md
2600@@ -20,7 +20,8 @@ Up to 10 years customer security maintenance `from canonical/apache2`. [Request
2601
2602 | Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
2603 |---|---|---|---|---|
2604- | **`2.4-20.04_beta`** &nbsp;&nbsp; | - | - | Apache2 2.4.41 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2605+ | **`2.4-22.04_beta`** &nbsp;&nbsp; | 04/2027 | 04/2032 | Apache2 2.4 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2606+ | `2.4-20.04_beta` &nbsp;&nbsp; | 04/2025 | 04/2030 | Apache2 2.4.41 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2607 | _`track_risk`_ |
2608
2609 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2610@@ -36,7 +37,7 @@ If your usage includes redistribution, please [contact Canonical](https://ubuntu
2611 Launch this image locally:
2612
2613 ```sh
2614-docker run -d --name apache2-container -e TZ=UTC -p 8080:80 public.ecr.aws/lts/apache2:2.4-20.04_beta
2615+docker run -d --name apache2-container -e TZ=UTC -p 8080:80 public.ecr.aws/lts/apache2:2.4-22.04_beta
2616 ```
2617 Access your Apache2 server at `http://localhost:8080`.
2618
2619@@ -47,7 +48,7 @@ Access your Apache2 server at `http://localhost:8080`.
2620 | `-e TZ=UTC` | Timezone. |
2621 | `-p 8080:80` | Expose Apache2 on `localhost:8080`. |
2622 | `-v /local/path/to/website:/var/www/html` | Mount and serve a local website. |
2623-| `-v /path/to/apache2.conf:/etc/apache2/apache2.conf` | Local [configuration file](https://httpd.apache.org/docs/2.4/) `apache2.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf)). |
2624+| `-v /path/to/apache2.conf:/etc/apache2/apache2.conf` | Local [configuration file](https://httpd.apache.org/docs/2.4/) `apache2.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf?h=2.4-22.04)). |
2625
2626
2627 #### Testing/Debugging
2628@@ -70,8 +71,8 @@ docker exec -it apache2-container /bin/bash
2629 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2630
2631 Download
2632-[apache2.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/html/index.html) and
2633-[apache2-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/apache2-deployment.yml) and set `containers.apache2.image` in `apache2-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/apache2:2.4-20.04_beta`), then:
2634+[apache2.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf?h=2.4-22.04), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/html/index.html?h=2.4-22.04) and
2635+[apache2-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/apache2-deployment.yml?h=2.4-22.04) and set `containers.apache2.image` in `apache2-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/apache2:2.4-22.04_beta`), then:
2636
2637 ```sh
2638 kubectl create configmap apache2-config --from-file=apache2=apache2.conf --from-file=apache2-site=index.html
2639diff --git a/docs/public.ecr.aws/lts/bind9.md b/docs/public.ecr.aws/lts/bind9.md
2640index b53c2a8..f30b9e1 100644
2641--- a/docs/public.ecr.aws/lts/bind9.md
2642+++ b/docs/public.ecr.aws/lts/bind9.md
2643@@ -20,7 +20,8 @@ Up to 10 years customer security maintenance `from canonical/bind9`. [Request ac
2644
2645 | Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
2646 |---|---|---|---|---|
2647- | **`9.16-20.04_beta`** &nbsp;&nbsp; | - | - | Bind9 9.16.15 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2648+ | **`9.18-22.04_beta`** &nbsp;&nbsp; | 04/2027 | 04/2032 | Bind9 9.18 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2649+ | `9.16-20.04_beta` &nbsp;&nbsp; | 04/2025 | 04/2030 | Bind9 9.16.1 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2650 | _`track_risk`_ |
2651
2652 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2653@@ -36,7 +37,7 @@ If your usage includes redistribution, please [contact Canonical](https://ubuntu
2654 Launch this image locally:
2655
2656 ```sh
2657-docker run -d --name bind9-container -e TZ=UTC -p 30053:53 public.ecr.aws/lts/bind9:9.16-20.04_beta
2658+docker run -d --name bind9-container -e TZ=UTC -p 30053:53 public.ecr.aws/lts/bind9:9.18-22.04_beta
2659 ```
2660 Access your Bind9 server at `localhost:30053`
2661
2662@@ -45,8 +46,9 @@ Access your Bind9 server at `localhost:30053`
2663 | Parameter | Description |
2664 |---|---|
2665 | `-e TZ=UTC` | Timezone. |
2666-| `-p 1803233` | Expose bind9 on `localhost:30053`. |
2667-| `-v /path/to/bind/configuration:/etc/bind/named.conf` | Local [configuration file](https://bind9.readthedocs.io/en/latest/reference.html) `named.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/caching-nameserver/named.conf.options)). |
2668+| `-p 30053:53` | Expose bind9 on `localhost:30053`. |
2669+| `-e BIND9_USER=bind` | The user which will start the `named` process. |
2670+| `-v /path/to/bind/configuration:/etc/bind/named.conf` | Local [configuration file](https://bind9.readthedocs.io/en/latest/reference.html) `named.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/caching-nameserver/named.conf.options?h=9.18-22.04)). |
2671 | `-v /path/to/cached/data:/var/cache/bind` | Location where locally cached data can be dumped. |
2672 | `-v /path/to/resource/records:/var/lib/bind` | Location of Resource Records defining various domain information. |
2673
2674@@ -71,7 +73,7 @@ docker exec -it bind9-container /bin/bash
2675 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2676
2677 Download
2678-[bind9-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/bind9-deployment.yml) and set `containers.bind9.image` in `bind9-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/bind9:9.16-20.04_beta`), then:
2679+[bind9-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/bind9-deployment.yml?h=9.18-22.04) and set `containers.bind9.image` in `bind9-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/bind9:9.18-22.04_beta`), then:
2680
2681 ```sh
2682 kubectl apply -f bind9-deployment.yml
2683diff --git a/docs/public.ecr.aws/lts/cassandra.md b/docs/public.ecr.aws/lts/cassandra.md
2684index 0b9303e..f342728 100644
2685--- a/docs/public.ecr.aws/lts/cassandra.md
2686+++ b/docs/public.ecr.aws/lts/cassandra.md
2687@@ -1,10 +1,10 @@
2688-# Cassandra LTS Docker Image
2689+# Apache Cassandra LTS Docker Image
2690 **This repository has no LTS channel yet, please [get in touch](https://ubuntu.com/security/docker-images#get-in-touch) if you need one.**
2691
2692 ## LTS Docker Image Portfolio
2693 The [LTS Docker Image Portfolio](https://ubuntu.com/security/docker-images) are consistent, compliant, minimal and secure images with Extended Security Maintenance (ESM) commitments from Canonical.
2694
2695-## About Cassandra
2696+## About Apache Cassandra
2697
2698 Apache Cassandra is an open source NoSQL distributed database trusted by thousands of companies for scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it a good platform for mission-critical data.
2699
2700@@ -73,7 +73,7 @@ docker exec -it cassandra-container /bin/bash
2701 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2702
2703 Download
2704-[cassandra-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/cassandra:latest`), then:
2705+[cassandra-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml?h=4.0-22.04) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/cassandra:latest`), then:
2706
2707 ```sh
2708 kubectl apply -f cassandra-deployment.yml
2709diff --git a/docs/public.ecr.aws/lts/cortex.md b/docs/public.ecr.aws/lts/cortex.md
2710index b321fda..22ff38a 100644
2711--- a/docs/public.ecr.aws/lts/cortex.md
2712+++ b/docs/public.ecr.aws/lts/cortex.md
2713@@ -52,7 +52,7 @@ Access your Cortex server at `http://localhost:32709`.
2714 |---|---|
2715 | `-e TZ=UTC` | Timezone. |
2716 | `-p 32709:9009` | Expose Cortex on `localhost:32709`. |
2717-| `-v /my/local/cortex.yaml:/etc/cortex/cortex.yaml` | Local [configuration file](https://cortexmetrics.io/docs/configuration/) `cortex.yaml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml)). |
2718+| `-v /my/local/cortex.yaml:/etc/cortex/cortex.yaml` | Local [configuration file](https://cortexmetrics.io/docs/configuration/) `cortex.yaml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml?h=1.11-22.04)). |
2719
2720
2721 #### Testing/Debugging
2722@@ -75,8 +75,8 @@ docker exec -it cortex-container /bin/bash
2723 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2724
2725 Download
2726-[cortex.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml) and
2727-[cortex-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/cortex-deployment.yml) and set `containers.cortex.image` in `cortex-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/cortex:latest`), then:
2728+[cortex.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml?h=1.11-22.04) and
2729+[cortex-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/cortex-deployment.yml?h=1.11-22.04) and set `containers.cortex.image` in `cortex-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/cortex:latest`), then:
2730
2731 ```sh
2732 kubectl create configmap cortex-config --from-file=main-config=cortex.yaml
2733diff --git a/docs/public.ecr.aws/lts/grafana.md b/docs/public.ecr.aws/lts/grafana.md
2734index 3e003fa..eee018e 100644
2735--- a/docs/public.ecr.aws/lts/grafana.md
2736+++ b/docs/public.ecr.aws/lts/grafana.md
2737@@ -69,8 +69,8 @@ docker exec -it grafana-container /bin/bash
2738 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2739
2740 Download
2741-[datasource.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/datasource.yml), [dashboard.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/dashboard.yml), [system-stats-dashboard.json](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/system-stats-dashboard.json) and
2742-[grafana-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/grafana-deployment.yml) and set `containers.grafana.image` in `grafana-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/grafana:latest`), then:
2743+[datasource.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/datasource.yml?h=8.2-22.04), [dashboard.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/dashboard.yml?h=8.2-22.04), [system-stats-dashboard.json](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/system-stats-dashboard.json?h=8.2-22.04) and
2744+[grafana-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/grafana-deployment.yml?h=8.2-22.04) and set `containers.grafana.image` in `grafana-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/grafana:latest`), then:
2745
2746 ```sh
2747 kubectl create configmap grafana-config --from-file=grafana-datasource=datasource.yml --from-file=grafana-dashboard-definition=dashboard.yml --from-file=grafana-dashboard=system-stats-dashboard.json
2748diff --git a/docs/public.ecr.aws/lts/kafka.md b/docs/public.ecr.aws/lts/kafka.md
2749new file mode 100644
2750index 0000000..b5a607c
2751--- /dev/null
2752+++ b/docs/public.ecr.aws/lts/kafka.md
2753@@ -0,0 +1,95 @@
2754+# Apache Kafka LTS Docker Image
2755+ **This repository has no LTS channel yet, please [get in touch](https://ubuntu.com/security/docker-images#get-in-touch) if you need one.**
2756+
2757+## LTS Docker Image Portfolio
2758+The [LTS Docker Image Portfolio](https://ubuntu.com/security/docker-images) are consistent, compliant, minimal and secure images with Extended Security Maintenance (ESM) commitments from Canonical.
2759+
2760+## About Apache Kafka
2761+
2762+Apache Kafka is an open-source distributed event streaming platform for high-performance data pipelines, streaming analytics... Read more on the [Apache Kafka website](https://kafka.apache.org/). This image requires the Zookeeper image to run properly.
2763+
2764+
2765+## Tags and Architectures
2766+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2767+Up to 5 years free security maintenance from this repository.
2768+
2769+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2770+Up to 10 years customer security maintenance `from canonical/kafka`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2771+
2772+<!-- _Tags in italics are not available in public.ecr.aws/lts/kafka but are shown here for completeness._ -->
2773+
2774+| Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
2775+|---|---|---|---|---|
2776+| _`track_risk`_ |
2777+
2778+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2779+
2780+### Commercial use and Extended Security Maintenance channels
2781+If your usage includes redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
2782+
2783+
2784+If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch).
2785+
2786+## Docker CLI
2787+
2788+Launch this image locally:
2789+
2790+```sh
2791+docker run -d --name kafka-container -e TZ=UTC -p 9092:9092 -e ZOOKEEPER_HOST=host.docker.internal public.ecr.aws/lts/kafka:latest
2792+```
2793+Apache Kafka service is now exposed at `localhost:9092` (**You first need to run a Zookeeper instance**: `docker run -d -p 2181:2181 ubuntu/zookeeper:edge`).
2794+
2795+
2796+#### Parameters
2797+
2798+| Parameter | Description |
2799+|---|---|
2800+| `-e TZ=UTC` | Timezone. |
2801+| `-e ZOOKEEPER_HOST=172.17.0.1` | Hostname for the related Zookeeper instance (default value is set to the default IP for the Docker host (host.docker.internal)). |
2802+| `-e ZOOKEEPER_PORT=2181` | Port for the related Zookeeper instance. |
2803+| `-p 9092:9092` | Expose Apache Kafka service on `localhost:9092`. |
2804+| `-p 2181:2181` | Expose Apache Zookeeper service on `localhost:2181`. |
2805+| `CMD kafka-server-start.sh /etc/kafka/server.properties --override zookeeper.connect=host.docker.internal:2181` | Start a Kafka instance, connecting to the Zookeeper instance accessible at `host.docker.internal:2181` from within the Kafka instance container. |
2806+| `CMD zookeeper-server-start.sh /etc/kafka/zookeeper.properties` | Start a Zookeeper instance. |
2807+
2808+
2809+#### Testing/Debugging
2810+
2811+To debug the container:
2812+
2813+```sh
2814+docker logs -f kafka-container
2815+```
2816+
2817+To get an interactive shell:
2818+
2819+```sh
2820+docker exec -it kafka-container /bin/bash
2821+```
2822+
2823+
2824+## Deploy with Kubernetes
2825+
2826+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2827+
2828+Download
2829+[kafka-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/kafka/plain/examples/kafka-deployment.yml?h=3.1-22.04) and set `containers.kafka.image` in `kafka-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/kafka:latest`), then:
2830+
2831+```sh
2832+kubectl apply -f kafka-deployment.yml
2833+```
2834+
2835+Apache Kafka will be available on the K8s cluster as a `kafka-service` Service.
2836+
2837+## Bugs and feature requests
2838+
2839+If you find a bug in our image or want to request a specific feature, please file a bug here:
2840+
2841+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
2842+
2843+Please title the bug "`kafka: <issue summary>`". Make sure to include the digest of the image you are using, from:
2844+
2845+```sh
2846+docker images --no-trunc --quiet public.ecr.aws/lts/kafka:<tag>
2847+```
2848+
2849diff --git a/docs/public.ecr.aws/lts/loki.md b/docs/public.ecr.aws/lts/loki.md
2850new file mode 100644
2851index 0000000..ecf492d
2852--- /dev/null
2853+++ b/docs/public.ecr.aws/lts/loki.md
2854@@ -0,0 +1,93 @@
2855+# Grafana Loki™ software LTS Docker Image
2856+ **This repository has no LTS channel yet, please [get in touch](https://ubuntu.com/security/docker-images#get-in-touch) if you need one.**
2857+
2858+## LTS Docker Image Portfolio
2859+The [LTS Docker Image Portfolio](https://ubuntu.com/security/docker-images) are consistent, compliant, minimal and secure images with Extended Security Maintenance (ESM) commitments from Canonical.
2860+
2861+## About Grafana Loki™ software
2862+
2863+Loki is a horizontally scalable, highly available, multi-tenant log aggregation system inspired by Prometheus. Read more on the [Grafana website](https://grafana.com/oss/loki/).
2864+
2865+
2866+## Tags and Architectures
2867+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
2868+Up to 5 years free security maintenance from this repository.
2869+
2870+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
2871+Up to 10 years customer security maintenance `from canonical/loki`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
2872+
2873+<!-- _Tags in italics are not available in public.ecr.aws/lts/loki but are shown here for completeness._ -->
2874+
2875+| Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
2876+|---|---|---|---|---|
2877+| _`track_risk`_ |
2878+
2879+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2880+
2881+### Commercial use and Extended Security Maintenance channels
2882+If your usage includes redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
2883+
2884+
2885+If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch).
2886+
2887+## Docker CLI
2888+
2889+Launch this image locally:
2890+
2891+```sh
2892+docker run -d --name loki-container -e TZ=UTC -p 3100:3100 public.ecr.aws/lts/loki:latest
2893+```
2894+You can now use your Loki instance exposed at `http://localhost:3100`.
2895+
2896+#### Parameters
2897+
2898+| Parameter | Description |
2899+|---|---|
2900+| `-e TZ=UTC` | Timezone. |
2901+| `-p 3100:3100` | Expose Grafana Loki on `localhost:3100`. |
2902+| `-v /local/path/to/config:/etc/loki/local-config.yaml` | Local Loki Promtail config file. Can be changed using CMD `--config.file=` argument. See an [example file](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/config/promtail-local-config.yaml?h=2.4-22.04). |
2903+| `-v lokidata:/loki` | Persist data in a docker volume named `lokidata`. |
2904+
2905+
2906+#### Testing/Debugging
2907+
2908+To debug the container:
2909+
2910+```sh
2911+docker logs -f loki-container
2912+```
2913+
2914+To get an interactive shell:
2915+
2916+```sh
2917+docker exec -it loki-container /bin/bash
2918+```
2919+
2920+
2921+## Deploy with Kubernetes
2922+
2923+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2924+
2925+Download
2926+[promtail-local-config-k8s.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/config/promtail-local-config-k8s.yaml?h=2.4-22.04) and
2927+[loki-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/loki-deployment.yml?h=2.4-22.04) and set `containers.loki.image` in `loki-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/loki:latest`), then:
2928+
2929+```sh
2930+kubectl create configmap promtail-config --from-file=promtail=promtail-local-config-k8s.yaml
2931+kubectl apply -f loki-deployment.yml
2932+```
2933+
2934+You will now be able to connect to the Loki instance on `http://localhost:31000`.
2935+
2936+## Bugs and feature requests
2937+
2938+If you find a bug in our image or want to request a specific feature, please file a bug here:
2939+
2940+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
2941+
2942+Please title the bug "`loki: <issue summary>`". Make sure to include the digest of the image you are using, from:
2943+
2944+```sh
2945+docker images --no-trunc --quiet public.ecr.aws/lts/loki:<tag>
2946+```
2947+
2948diff --git a/docs/public.ecr.aws/lts/memcached.md b/docs/public.ecr.aws/lts/memcached.md
2949index 2403521..f1682e8 100644
2950--- a/docs/public.ecr.aws/lts/memcached.md
2951+++ b/docs/public.ecr.aws/lts/memcached.md
2952@@ -20,7 +20,7 @@ Up to 10 years customer security maintenance `from canonical/memcached`. [Reques
2953
2954 | Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
2955 |---|---|---|---|---|
2956- | **`1.5-20.04_beta`** &nbsp;&nbsp; | - | - | Memcached 1.5.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2957+ | **`1.5-20.04_beta`** &nbsp;&nbsp; | 04/2025 | 04/2030 | Memcached 1.5.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
2958 | _`track_risk`_ |
2959
2960 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
2961@@ -49,7 +49,7 @@ docker run -d --name memcached-container -e TZ=UTC public.ecr.aws/lts/memcached
2962 | `-e MEMCACHED_THREADS=4` | Determines the number of threads to process requests. |
2963 | `-e MEMCACHED_PASSWORD` | Define the password for the `root` user if another username is provided. By default the authentication is disabled but if this option is passed it becomes enabled. |
2964 | `-e MEMCACHED_USERNAME` | Define a new user. If this option is passed a password is needed to authenticate the new user. |
2965-| `-p 11211` | Memcached is exposed inside the container on port `11211`. |
2966+| `-p 11211:11211` | Memcached is exposed inside the container on port `11211`. |
2967
2968
2969 #### Testing/Debugging
2970@@ -101,7 +101,7 @@ In this case you can append the flags themselves or a shell script to the run co
2971 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
2972
2973 Download
2974-[memcached-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/memcached/plain/examples/memcached-deployment.yml) and set `containers.memcached.image` in `memcached-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/memcached:1.5-20.04_beta`), then:
2975+[memcached-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/memcached/plain/examples/memcached-deployment.yml?h=1.6-22.04) and set `containers.memcached.image` in `memcached-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/memcached:1.5-20.04_beta`), then:
2976
2977 ```sh
2978 kubectl apply -f memcached-deployment.yml
2979diff --git a/docs/public.ecr.aws/lts/mysql.md b/docs/public.ecr.aws/lts/mysql.md
2980index d3cf571..86d8d62 100644
2981--- a/docs/public.ecr.aws/lts/mysql.md
2982+++ b/docs/public.ecr.aws/lts/mysql.md
2983@@ -1,10 +1,10 @@
2984-# MySQL™ LTS Docker Image
2985+# MySQL™ software LTS Docker Image
2986
2987
2988 ## LTS Docker Image Portfolio
2989 The [LTS Docker Image Portfolio](https://ubuntu.com/security/docker-images) are consistent, compliant, minimal and secure images with Extended Security Maintenance (ESM) commitments from Canonical.
2990
2991-## About MySQL™
2992+## About MySQL™ software
2993
2994 MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. SQL (Structured Query Language) is the most popular database query language in the world. The main goals of MySQL are speed, robustness and ease of use. Read more on the [MySQL website](https://dev.mysql.com/doc/refman/8.0/en/).
2995
2996@@ -20,7 +20,8 @@ Up to 10 years customer security maintenance `from canonical/mysql`. [Request ac
2997
2998 | Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
2999 |---|---|---|---|---|
3000- | **`8.0-20.04_beta`** &nbsp;&nbsp; | - | - | MySQL™ 8.0.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `s390x` |
3001+ | **`8.0-22.04_beta`** &nbsp;&nbsp; | 04/2027 | 04/2032 | MySQL™ software 8.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3002+ | `8.0-20.04_beta` &nbsp;&nbsp; | 04/2025 | 04/2030 | MySQL™ software 8.0.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3003 | _`track_risk`_ |
3004
3005 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3006@@ -36,7 +37,7 @@ If your usage includes redistribution, please [contact Canonical](https://ubuntu
3007 Launch this image locally:
3008
3009 ```sh
3010-docker run -d --name mysql-container -e TZ=UTC -p 30306:3306 -e MYSQL_ROOT_PASSWORD=My:S3cr3t/ public.ecr.aws/lts/mysql:8.0-20.04_beta
3011+docker run -d --name mysql-container -e TZ=UTC -p 30306:3306 -e MYSQL_ROOT_PASSWORD=My:S3cr3t/ public.ecr.aws/lts/mysql:8.0-22.04_beta
3012 ```
3013 Access your MySQL server at `localhost:30306`.
3014
3015@@ -55,7 +56,7 @@ Access your MySQL server at `localhost:30306`.
3016 | `-e MYSQL_INITSB_SKIP_TZINFO=yes` | Timezone data is automatically loaded via entrypoint script, set this variable to any non-empty value to disable it. |
3017 | `-p 30306:3306` | Expose MySQL server on `localhost:30306`. |
3018 | `-v /path/to/data:/var/lib/mysql` | Persist data instead of initializing a new database every time you launch a new container. |
3019-| `-v /path/to/config/files/:/etc/mysql/mysql.conf.d/` | Local [configuration files](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html) (try this [example my.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my.cnf)). |
3020+| `-v /path/to/config/files/:/etc/mysql/mysql.conf.d/` | Local [configuration files](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html) (try this [example my.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf?h=8.0-22.04)). |
3021
3022 #### Initialization Scripts
3023
3024@@ -87,7 +88,7 @@ This image also includes the `mysql` client for interactive container use:
3025 ```sh
3026 $ docker network create mysql-network
3027 $ docker network connect mysql-network mysql-container
3028-$ docker run -it --rm --network mysql-network public.ecr.aws/lts/mysql:8.0-20.04_beta mysql -hmysql-container -uroot -p
3029+$ docker run -it --rm --network mysql-network public.ecr.aws/lts/mysql:8.0-22.04_beta mysql -hmysql-container -uroot -p
3030 ```
3031 The password will be asked and you can enter `My:S3cr3t/`. Now, you are logged in and can enjoy your new instance.
3032
3033@@ -96,8 +97,8 @@ The password will be asked and you can enter `My:S3cr3t/`. Now, you are logged i
3034 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3035
3036 Download
3037-[my-custom.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf) and
3038-[mysql-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/mysql-deployment.yml) and set `containers.mysql.image` in `mysql-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/mysql:8.0-20.04_beta`), then:
3039+[my-custom.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf?h=8.0-22.04) and
3040+[mysql-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/mysql-deployment.yml?h=8.0-22.04) and set `containers.mysql.image` in `mysql-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/mysql:8.0-22.04_beta`), then:
3041
3042 ```sh
3043 kubectl create configmap mysql-config --from-file=main-config=my-custom.cnf
3044diff --git a/docs/public.ecr.aws/lts/nginx.md b/docs/public.ecr.aws/lts/nginx.md
3045index 2ba7470..d9a2b7e 100644
3046--- a/docs/public.ecr.aws/lts/nginx.md
3047+++ b/docs/public.ecr.aws/lts/nginx.md
3048@@ -20,7 +20,8 @@ Up to 10 years customer security maintenance `from canonical/nginx`. [Request ac
3049
3050 | Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
3051 |---|---|---|---|---|
3052- | **`1.18-20.04_beta`** &nbsp;&nbsp; | - | - | Nginx 1.18.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3053+ | **`1.18-22.04_beta`** &nbsp;&nbsp; | 04/2027 | 04/2032 | Nginx 1.18 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3054+ | `1.18-20.04_beta` &nbsp;&nbsp; | 04/2025 | 04/2030 | Nginx 1.18.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3055 | _`track_risk`_ |
3056
3057 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3058@@ -36,7 +37,7 @@ If your usage includes redistribution, please [contact Canonical](https://ubuntu
3059 Launch this image locally:
3060
3061 ```sh
3062-docker run -d --name nginx-container -e TZ=UTC -p 8080:80 public.ecr.aws/lts/nginx:1.18-20.04_beta
3063+docker run -d --name nginx-container -e TZ=UTC -p 8080:80 public.ecr.aws/lts/nginx:1.18-22.04_beta
3064 ```
3065 Access your Nginx server at `http://localhost:8080`.
3066
3067@@ -48,7 +49,7 @@ Access your Nginx server at `http://localhost:8080`.
3068 | `-p 8080:80` | Expose Nginx on `localhost:8080`. |
3069 | `-v /local/path/to/website:/var/www/html` | Mount and serve a local website. |
3070 | `-v /path/to/conf.template:/etc/nginx/templates/conf.template` | Mount template files inside `/etc/nginx/templates`. They will be processed and the results will be placed at `/etc/nginx/conf.d`. (e.g. `listen ${NGINX_PORT};` will generate `listen 80;`). |
3071-| `-v /path/to/nginx.conf:/etc/nginx/nginx.conf` | Local [configuration file](https://nginx.org/en/docs/) `nginx.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf)). |
3072+| `-v /path/to/nginx.conf:/etc/nginx/nginx.conf` | Local [configuration file](https://nginx.org/en/docs/) `nginx.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf?h=1.18-22.04)). |
3073
3074
3075 #### Testing/Debugging
3076@@ -71,8 +72,8 @@ docker exec -it nginx-container /bin/bash
3077 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3078
3079 Download
3080-[nginx.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/html/index.html) and
3081-[nginx-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/nginx-deployment.yml) and set `containers.nginx.image` in `nginx-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/nginx:1.18-20.04_beta`), then:
3082+[nginx.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf?h=1.18-22.04), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/html/index.html?h=1.18-22.04) and
3083+[nginx-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/nginx-deployment.yml?h=1.18-22.04) and set `containers.nginx.image` in `nginx-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/nginx:1.18-22.04_beta`), then:
3084
3085 ```sh
3086 kubectl create configmap nginx-config --from-file=nginx=nginx.conf --from-file=nginx-site=index.html
3087diff --git a/docs/public.ecr.aws/lts/postgres.md b/docs/public.ecr.aws/lts/postgres.md
3088index d39a9db..fe2a004 100644
3089--- a/docs/public.ecr.aws/lts/postgres.md
3090+++ b/docs/public.ecr.aws/lts/postgres.md
3091@@ -20,7 +20,8 @@ Up to 10 years customer security maintenance `from canonical/postgres`. [Request
3092
3093 | Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
3094 |---|---|---|---|---|
3095- | **`12.4-20.04_beta`** &nbsp;&nbsp; | - | - | Postgres 12.4 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `s390x` |
3096+ | **`14-22.04_beta`** &nbsp;&nbsp; | 04/2027 | 04/2032 | Postgres 14 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3097+ | `12-20.04_beta` &nbsp;&nbsp; | 04/2025 | 04/2030 | Postgres 12.4 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3098 | _`track_risk`_ |
3099
3100 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3101@@ -36,7 +37,7 @@ If your usage includes redistribution, please [contact Canonical](https://ubuntu
3102 Launch this image locally:
3103
3104 ```sh
3105-docker run -d --name postgres-container -e TZ=UTC -p 30432:5432 -e POSTGRES_PASSWORD=My:s3Cr3t/ public.ecr.aws/lts/postgres:12.4-20.04_beta
3106+docker run -d --name postgres-container -e TZ=UTC -p 30432:5432 -e POSTGRES_PASSWORD=My:s3Cr3t/ public.ecr.aws/lts/postgres:14-22.04_beta
3107 ```
3108 Access your PostgreSQL server at `localhost:30432`.
3109
3110@@ -53,7 +54,7 @@ Access your PostgreSQL server at `localhost:30432`.
3111 | `-e POSTGRES_HOST_AUTH_METHOD=trust` | Set the `auth-method` for `host` connections for `all` databases, `all` users, and `all` addresses. The following will be added to the `pg_hba.conf` if this option is passed: `host all all all $POSTGRES_HOST_AUTH_METHOD`. |
3112 | `-e PGDATA=/path/to/location` | Set the location of the database files. The default is `/var/lib/postgresql/data`. |
3113 | `-p 30432:5432` | Expose Postgres on `localhost:30432`. |
3114-| `-v /path/to/postgresql.conf:/etc/postgresql/postgresql.conf` | Local [configuration file](https://www.postgresql.org/docs/12/index.html) `postgresql.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf)). |
3115+| `-v /path/to/postgresql.conf:/etc/postgresql/postgresql.conf` | Local [configuration file](https://www.postgresql.org/docs/12/index.html) `postgresql.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf?h=14-22.04)). |
3116 | `-v /path/to/persisted/data:/var/lib/postgresql/data` | Persist data instead of initializing a new database every time you launch a new container. |
3117
3118 #### Initialization Scripts
3119@@ -86,7 +87,7 @@ This image also includes the `psql` client for interactive container use:
3120 ```sh
3121 $ docker network create postgres-network
3122 $ docker network connect postgres-network postgres-container
3123-$ docker run -it --rm --network postgres-network public.ecr.aws/lts/postgres:12.4-20.04_beta psql -h postgres-container -U postgres
3124+$ docker run -it --rm --network postgres-network public.ecr.aws/lts/postgres:14-22.04_beta psql -h postgres-container -U postgres
3125 ```
3126 The password will be asked and you can enter `My:s3Cr3t/`. Now, you are logged in and can enjoy your new instance.
3127
3128@@ -95,8 +96,8 @@ The password will be asked and you can enter `My:s3Cr3t/`. Now, you are logged i
3129 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3130
3131 Download
3132-[postgresql.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf) and
3133-[postgres-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/postgres-deployment.yml) and set `containers.postgres.image` in `postgres-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/postgres:12.4-20.04_beta`), then:
3134+[postgresql.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf?h=14-22.04) and
3135+[postgres-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/postgres-deployment.yml?h=14-22.04) and set `containers.postgres.image` in `postgres-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/postgres:14-22.04_beta`), then:
3136
3137 ```sh
3138 kubectl create configmap postgres-config --from-file=main-config=postgresql.conf
3139diff --git a/docs/public.ecr.aws/lts/prometheus-alertmanager.md b/docs/public.ecr.aws/lts/prometheus-alertmanager.md
3140index c204b27..abaebf4 100644
3141--- a/docs/public.ecr.aws/lts/prometheus-alertmanager.md
3142+++ b/docs/public.ecr.aws/lts/prometheus-alertmanager.md
3143@@ -45,7 +45,7 @@ Access your Prometheus Alertmanager server at `localhost:30093`.
3144 |---|---|
3145 | `-e TZ=UTC` | Timezone. |
3146 | `-p 30093:9093` | Expose Prometheus Alertmanager on `localhost:30093`. |
3147-| `-v /path/to/alertmanager.yml:/etc/prometheus/alertmanager.yml` | Local [configuration file](https://www.prometheus.io/docs/alerting/latest/configuration/) `alertmanager.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml)). |
3148+| `-v /path/to/alertmanager.yml:/etc/prometheus/alertmanager.yml` | Local [configuration file](https://www.prometheus.io/docs/alerting/latest/configuration/) `alertmanager.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/config/alertmanager.yml?h=0.23-22.04)). |
3149 | `-v /path/to/persisted/data:/alertmanager` | Persist data instead of initializing a new database for each newly launched container. **Important note**: the directory you will be using to persist the data needs to belong to `nogroup:nobody`. You can run `chown nogroup:nobody <path_to_persist_data>` before launching your container. |
3150
3151
3152@@ -69,11 +69,11 @@ docker exec -it prometheus-alertmanager-container /bin/bash
3153 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3154
3155 Download
3156-[alertmanager.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml) and
3157-[prometheus-alertmanager-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/alertmanager-deployment.yml) and set `containers.prometheus-alertmanager.image` in `prometheus-alertmanager-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/prometheus-alertmanager:latest`), then:
3158+[alertmanager.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/config/alertmanager.yml?h=0.23-22.04) and
3159+[prometheus-alertmanager-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/alertmanager-deployment.yml?h=0.23-22.04) and set `containers.prometheus-alertmanager.image` in `prometheus-alertmanager-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/prometheus-alertmanager:latest`), then:
3160
3161 ```sh
3162-kubectl create configmap prometheus-alertmanager-config --from-file=alertmanager=alertmanager.yml
3163+kubectl create configmap alertmanager-config --from-file=alertmanager=alertmanager.yml
3164 kubectl apply -f prometheus-alertmanager-deployment.yml
3165 ```
3166
3167diff --git a/docs/public.ecr.aws/lts/prometheus.md b/docs/public.ecr.aws/lts/prometheus.md
3168index 5b8bfc3..d33d6d3 100644
3169--- a/docs/public.ecr.aws/lts/prometheus.md
3170+++ b/docs/public.ecr.aws/lts/prometheus.md
3171@@ -45,8 +45,8 @@ Access your Prometheus server at `localhost:30090`.
3172 |---|---|
3173 | `-e TZ=UTC` | Timezone. |
3174 | `-p 30090:9090` | Expose Prometheus server on `localhost:30090`. |
3175-| `-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml` | Local [configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `prometheus.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/prometheus.yml)). |
3176-| `-v /path/to/alerts.yml:/etc/prometheus/alerts.yml` | Local [alert configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `alerts.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/alerts.yml)). |
3177+| `-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml` | Local [configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `prometheus.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/prometheus.yml?h=2.33-22.04)). |
3178+| `-v /path/to/alerts.yml:/etc/prometheus/alerts.yml` | Local [alert configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `alerts.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/alerts.yml?h=2.33-22.04)). |
3179
3180
3181 #### Testing/Debugging
3182@@ -69,8 +69,8 @@ docker exec -it prometheus-container /bin/bash
3183 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3184
3185 Download
3186-[prometheus.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/prometheus.yml), [alerts.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/alerts.yml) and
3187-[prometheus-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/prometheus-deployment.yml) and set `containers.prometheus.image` in `prometheus-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/prometheus:latest`), then:
3188+[prometheus.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/prometheus.yml?h=2.33-22.04), [alerts.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/alerts.yml?h=2.33-22.04) and
3189+[prometheus-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/prometheus-deployment.yml?h=2.33-22.04) and set `containers.prometheus.image` in `prometheus-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/prometheus:latest`), then:
3190
3191 ```sh
3192 kubectl create configmap prometheus-config --from-file=prometheus=prometheus.yml --from-file=prometheus-alerts=alerts.yml
3193diff --git a/docs/public.ecr.aws/lts/redis.md b/docs/public.ecr.aws/lts/redis.md
3194index 4bc2973..67893e5 100644
3195--- a/docs/public.ecr.aws/lts/redis.md
3196+++ b/docs/public.ecr.aws/lts/redis.md
3197@@ -50,7 +50,8 @@ Access your Redis server at `localhost:30073`.
3198 | `-e REDIS_ALLOW_REMOTE_CONNECTIONS=yes` | Set to `no` to disallow remote connections to `redis-server` (i.e., make `redis-server` listen to `127.0.0.1` only). |
3199 | `-e REDIS_EXTRA_FLAGS` | Specify extra flags to be passed to `redis-server` when initializing it. |
3200 | `-p 30073:6379` | Expose redis on `localhost:30073`. |
3201-| `-v /path/to/redis.conf:/etc/redis/redis.conf` | Local [configuration file](https://redis.io/topics/config) `redis.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf)). |
3202+| `-v /path/to/redis.conf:/etc/redis/redis.conf` | Local [configuration file](https://redis.io/topics/config) `redis.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf?h=6.2-22.04)). **To enable TLS** mode, comment the `port 6379` line and uncomment the `# port 0` and `# tls-port 6379` lines.
3203+ |
3204
3205
3206 #### Testing/Debugging
3207@@ -89,8 +90,8 @@ redis:6379>
3208 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3209
3210 Download
3211-[redis.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf) and
3212-[redis-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/redis-deployment.yml) and set `containers.redis.image` in `redis-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/redis:latest`), then:
3213+[redis.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf?h=6.2-22.04) and
3214+[redis-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/redis-deployment.yml?h=6.2-22.04) and set `containers.redis.image` in `redis-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/redis:latest`), then:
3215
3216 ```sh
3217 kubectl create configmap redis-config --from-file=redis=redis.conf
3218diff --git a/docs/public.ecr.aws/lts/squid.md b/docs/public.ecr.aws/lts/squid.md
3219index e4c9308..d96244a 100644
3220--- a/docs/public.ecr.aws/lts/squid.md
3221+++ b/docs/public.ecr.aws/lts/squid.md
3222@@ -20,7 +20,8 @@ Up to 10 years customer security maintenance `from canonical/squid`. [Request ac
3223
3224 | Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
3225 |---|---|---|---|---|
3226- | **`4.10-20.04_beta`** &nbsp;&nbsp; | - | - | Squid 4.10 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3227+ | **`5.2-22.04_beta`** &nbsp;&nbsp; | 04/2027 | 04/2032 | Squid 5.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3228+ | `4.10-20.04_beta` &nbsp;&nbsp; | 04/2025 | 04/2030 | Squid 4.10 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3229 | _`track_risk`_ |
3230
3231 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3232@@ -36,7 +37,7 @@ If your usage includes redistribution, please [contact Canonical](https://ubuntu
3233 Launch this image locally:
3234
3235 ```sh
3236-docker run -d --name squid-container -e TZ=UTC -p 3128:3128 public.ecr.aws/lts/squid:4.10-20.04_beta
3237+docker run -d --name squid-container -e TZ=UTC -p 3128:3128 public.ecr.aws/lts/squid:5.2-22.04_beta
3238 ```
3239 Access your Squid proxy at `localhost:3128`.
3240
3241@@ -70,8 +71,8 @@ docker exec -it squid-container /bin/bash
3242 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3243
3244 Download
3245-[squid.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf) and
3246-[squid-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml) and set `containers.squid.image` in `squid-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/squid:4.10-20.04_beta`), then:
3247+[squid.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf?h=5.2-22.04) and
3248+[squid-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml?h=5.2-22.04) and set `containers.squid.image` in `squid-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/squid:5.2-22.04_beta`), then:
3249
3250 ```sh
3251 kubectl create configmap squid-config --from-file=squid=squid.conf
3252diff --git a/docs/public.ecr.aws/lts/telegraf.md b/docs/public.ecr.aws/lts/telegraf.md
3253index 69b85ea..a3bb9d5 100644
3254--- a/docs/public.ecr.aws/lts/telegraf.md
3255+++ b/docs/public.ecr.aws/lts/telegraf.md
3256@@ -45,7 +45,7 @@ Access your Telegraf server at `localhost:30273`.
3257 |---|---|
3258 | `-e TZ=UTC` | Timezone. |
3259 | `-p 30273:9273` | Expose Telegraf on `localhost:30273`. |
3260-| `-v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf` | Local [configuration file](https://docs.influxdata.com/telegraf/) `telegraf.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf)). |
3261+| `-v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf` | Local [configuration file](https://docs.influxdata.com/telegraf/) `telegraf.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf?h=1.21-22.04)). |
3262
3263
3264 #### Testing/Debugging
3265@@ -68,8 +68,8 @@ docker exec -it telegraf-container /bin/bash
3266 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3267
3268 Download
3269-[telegraf.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf) and
3270-[telegraf-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/telegraf-deployment.yml) and set `containers.telegraf.image` in `telegraf-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/telegraf:latest`), then:
3271+[telegraf.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf?h=1.21-22.04) and
3272+[telegraf-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/telegraf-deployment.yml?h=1.21-22.04) and set `containers.telegraf.image` in `telegraf-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/telegraf:latest`), then:
3273
3274 ```sh
3275 kubectl create configmap telegraf-config --from-file=main-config=telegraf.conf
3276diff --git a/docs/public.ecr.aws/lts/zookeeper.md b/docs/public.ecr.aws/lts/zookeeper.md
3277new file mode 100644
3278index 0000000..9a6c415
3279--- /dev/null
3280+++ b/docs/public.ecr.aws/lts/zookeeper.md
3281@@ -0,0 +1,90 @@
3282+# Apache ZooKeeper LTS Docker Image
3283+ **This repository has no LTS channel yet, please [get in touch](https://ubuntu.com/security/docker-images#get-in-touch) if you need one.**
3284+
3285+## LTS Docker Image Portfolio
3286+The [LTS Docker Image Portfolio](https://ubuntu.com/security/docker-images) are consistent, compliant, minimal and secure images with Extended Security Maintenance (ESM) commitments from Canonical.
3287+
3288+## About Apache ZooKeeper
3289+
3290+ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Read more on [the Apache website](https://zookeeper.apache.org/). This image is shipped in support of the Apache Kafka image.
3291+
3292+
3293+## Tags and Architectures
3294+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
3295+Up to 5 years free security maintenance from this repository.
3296+
3297+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
3298+Up to 10 years customer security maintenance `from canonical/zookeeper`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
3299+
3300+<!-- _Tags in italics are not available in public.ecr.aws/lts/zookeeper but are shown here for completeness._ -->
3301+
3302+| Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
3303+|---|---|---|---|---|
3304+| _`track_risk`_ |
3305+
3306+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3307+
3308+### Commercial use and Extended Security Maintenance channels
3309+If your usage includes redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
3310+
3311+
3312+If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch).
3313+
3314+## Docker CLI
3315+
3316+Launch this image locally:
3317+
3318+```sh
3319+docker run -d --name zookeeper-container -e TZ=UTC -p 2181:2181 public.ecr.aws/lts/zookeeper:latest
3320+```
3321+Zookeeper instance available at `localhost:2181`.
3322+
3323+#### Parameters
3324+
3325+| Parameter | Description |
3326+|---|---|
3327+| `-e TZ=UTC` | Timezone. |
3328+| `-p 2181:2181` | Expose Apache Zookeeper service on `localhost:2181`. |
3329+| `-v /etc/kafka/zookeeper.properties` | Zookeeper config (file path within the container can also be set by overriding the CMD). |
3330+
3331+
3332+#### Testing/Debugging
3333+
3334+To debug the container:
3335+
3336+```sh
3337+docker logs -f zookeeper-container
3338+```
3339+
3340+To get an interactive shell:
3341+
3342+```sh
3343+docker exec -it zookeeper-container /bin/bash
3344+```
3345+
3346+
3347+## Deploy with Kubernetes
3348+
3349+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3350+
3351+Download
3352+[zookeeper-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/kafka/plain/examples/kafka-deployment.yml?h=3.1-22.04) and set `containers.zookeeper.image` in `zookeeper-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/zookeeper:latest`), then:
3353+
3354+```sh
3355+kubectl apply -f zookeeper-deployment.yml
3356+```
3357+
3358+Apache Kafka will be available on the K8s cluster as a `kafka-service` Service.
3359+
3360+## Bugs and feature requests
3361+
3362+If you find a bug in our image or want to request a specific feature, please file a bug here:
3363+
3364+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
3365+
3366+Please title the bug "`zookeeper: <issue summary>`". Make sure to include the digest of the image you are using, from:
3367+
3368+```sh
3369+docker images --no-trunc --quiet public.ecr.aws/lts/zookeeper:<tag>
3370+```
3371+
3372diff --git a/docs/public.ecr.aws/ubuntu/apache2.md b/docs/public.ecr.aws/ubuntu/apache2.md
3373index d433638..f247eb4 100644
3374--- a/docs/public.ecr.aws/ubuntu/apache2.md
3375+++ b/docs/public.ecr.aws/ubuntu/apache2.md
3376@@ -10,35 +10,47 @@ The Apache HTTP Server Project's goal is to build a secure, efficient and extens
3377
3378 ## Tags and Architectures
3379 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
3380-Up to 5 years free security maintenance [from public.ecr.aws/lts/apache2](https://gallery.ecr.aws/lts/${repo}).
3381+Up to 5 years free security maintenance [from public.ecr.aws/lts/apache2](https://gallery.ecr.aws/lts/apache2).
3382
3383 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
3384 Up to 10 years customer security maintenance `from canonical/apache2`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
3385
3386 | Channel Tag | | | Currently | Architectures |
3387 |---|---|---|---|---|
3388- | **`2.4-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/apache2) | | Apache2 2.4 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
3389+ | _**`2.4-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/apache2) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/apache2) | Apache2 2.4 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3390+ | `2.4-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/apache2) | [](https://gallery.ecr.aws/lts/apache2) | Apache2 2.4.48 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
3391 | _`track_risk`_ |
3392
3393 _The following tags are not available in public.ecr.aws/ubuntu/apache2 but are shown here for completeness:_
3394
3395 | Channel Tag | | | Currently | Architectures |
3396 |---|---|---|---|---|
3397- | _**`2.4-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/apache2) | | Apache2 2.4.41 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3398+ | _**`2.4-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/apache2) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/apache2) | Apache2 2.4 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3399+ | _`2.4-20.04_beta` &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/apache2) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/apache2) | Apache2 2.4.41 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3400 | _`track_risk`_ |
3401
3402
3403 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3404
3405+
3406 ### Commercial use and Extended Security Maintenance channels
3407 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
3408
3409+## Deprecated channels & tags
3410+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
3411+
3412+| Track | Version | EOL | Upgrade Path |
3413+|---|---|---|---|
3414+ | ~~2.4-21.04~~ | Apache2 2.4.46 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 2.4-21.10_beta |
3415+| _`track`_ |
3416+
3417+
3418 ## Docker CLI
3419
3420 Launch this image locally:
3421
3422 ```sh
3423-docker run -d --name apache2-container -e TZ=UTC -p 8080:80 public.ecr.aws/ubuntu/apache2:2.4-20.04_beta
3424+docker run -d --name apache2-container -e TZ=UTC -p 8080:80 public.ecr.aws/ubuntu/apache2:2.4-21.04
3425 ```
3426 Access your Apache2 server at `http://localhost:8080`.
3427
3428@@ -49,7 +61,7 @@ Access your Apache2 server at `http://localhost:8080`.
3429 | `-e TZ=UTC` | Timezone. |
3430 | `-p 8080:80` | Expose Apache2 on `localhost:8080`. |
3431 | `-v /local/path/to/website:/var/www/html` | Mount and serve a local website. |
3432-| `-v /path/to/apache2.conf:/etc/apache2/apache2.conf` | Local [configuration file](https://httpd.apache.org/docs/2.4/) `apache2.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf)). |
3433+| `-v /path/to/apache2.conf:/etc/apache2/apache2.conf` | Local [configuration file](https://httpd.apache.org/docs/2.4/) `apache2.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf?h=2.4-22.04)). |
3434
3435
3436 #### Testing/Debugging
3437@@ -72,8 +84,8 @@ docker exec -it apache2-container /bin/bash
3438 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3439
3440 Download
3441-[apache2.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/html/index.html) and
3442-[apache2-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/apache2-deployment.yml) and set `containers.apache2.image` in `apache2-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/apache2:2.4-20.04_beta`), then:
3443+[apache2.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/apache2.conf?h=2.4-22.04), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/config/html/index.html?h=2.4-22.04) and
3444+[apache2-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/apache2/plain/examples/apache2-deployment.yml?h=2.4-22.04) and set `containers.apache2.image` in `apache2-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/apache2:2.4-21.04`), then:
3445
3446 ```sh
3447 kubectl create configmap apache2-config --from-file=apache2=apache2.conf --from-file=apache2-site=index.html
3448diff --git a/docs/public.ecr.aws/ubuntu/bind9.md b/docs/public.ecr.aws/ubuntu/bind9.md
3449index bc6ea86..3533670 100644
3450--- a/docs/public.ecr.aws/ubuntu/bind9.md
3451+++ b/docs/public.ecr.aws/ubuntu/bind9.md
3452@@ -10,35 +10,46 @@ BIND 9 provides software for Domain Name System (DNS) management including both
3453
3454 ## Tags and Architectures
3455 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
3456-Up to 5 years free security maintenance [from public.ecr.aws/lts/bind9](https://gallery.ecr.aws/lts/${repo}).
3457+Up to 5 years free security maintenance [from public.ecr.aws/lts/bind9](https://gallery.ecr.aws/lts/bind9).
3458
3459 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
3460 Up to 10 years customer security maintenance `from canonical/bind9`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
3461
3462 | Channel Tag | | | Currently | Architectures |
3463 |---|---|---|---|---|
3464- | _**`9.16-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/bind9) | | Bind9 9.16.15 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3465+ | _**`9.18-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/bind9) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/bind9) | Bind9 9.18 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3466+ | `9.16-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/bind9) | [](https://gallery.ecr.aws/lts/bind9) | Bind9 9.16.15 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
3467 | _`track_risk`_ |
3468
3469 _The following tags are not available in public.ecr.aws/ubuntu/bind9 but are shown here for completeness:_
3470
3471 | Channel Tag | | | Currently | Architectures |
3472 |---|---|---|---|---|
3473- | _**`9.16-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/bind9) | | Bind9 9.16.15 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3474+ | _**`9.18-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/bind9) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/bind9) | Bind9 9.18 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3475+ | _`9.16-20.04_beta` &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/bind9) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/bind9) | Bind9 9.16.1 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3476 | _`track_risk`_ |
3477
3478
3479 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3480
3481+
3482 ### Commercial use and Extended Security Maintenance channels
3483 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
3484
3485+## Deprecated channels & tags
3486+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
3487+
3488+| Track | Version | EOL | Upgrade Path |
3489+|---|---|---|---|
3490+| _`track`_ |
3491+
3492+
3493 ## Docker CLI
3494
3495 Launch this image locally:
3496
3497 ```sh
3498-docker run -d --name bind9-container -e TZ=UTC -p 30053:53 public.ecr.aws/ubuntu/bind9:9.16-20.04_beta
3499+docker run -d --name bind9-container -e TZ=UTC -p 30053:53 public.ecr.aws/ubuntu/bind9:9.18-22.04_beta
3500 ```
3501 Access your Bind9 server at `localhost:30053`
3502
3503@@ -47,8 +58,9 @@ Access your Bind9 server at `localhost:30053`
3504 | Parameter | Description |
3505 |---|---|
3506 | `-e TZ=UTC` | Timezone. |
3507-| `-p 1803233` | Expose bind9 on `localhost:30053`. |
3508-| `-v /path/to/bind/configuration:/etc/bind/named.conf` | Local [configuration file](https://bind9.readthedocs.io/en/latest/reference.html) `named.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/caching-nameserver/named.conf.options)). |
3509+| `-p 30053:53` | Expose bind9 on `localhost:30053`. |
3510+| `-e BIND9_USER=bind` | The user which will start the `named` process. |
3511+| `-v /path/to/bind/configuration:/etc/bind/named.conf` | Local [configuration file](https://bind9.readthedocs.io/en/latest/reference.html) `named.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/caching-nameserver/named.conf.options?h=9.18-22.04)). |
3512 | `-v /path/to/cached/data:/var/cache/bind` | Location where locally cached data can be dumped. |
3513 | `-v /path/to/resource/records:/var/lib/bind` | Location of Resource Records defining various domain information. |
3514
3515@@ -73,7 +85,7 @@ docker exec -it bind9-container /bin/bash
3516 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3517
3518 Download
3519-[bind9-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/bind9-deployment.yml) and set `containers.bind9.image` in `bind9-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/bind9:9.16-20.04_beta`), then:
3520+[bind9-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/bind9/plain/examples/bind9-deployment.yml?h=9.18-22.04) and set `containers.bind9.image` in `bind9-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/bind9:9.18-22.04_beta`), then:
3521
3522 ```sh
3523 kubectl apply -f bind9-deployment.yml
3524diff --git a/docs/public.ecr.aws/ubuntu/cassandra.md b/docs/public.ecr.aws/ubuntu/cassandra.md
3525index f0eb9ad..748f0fe 100644
3526--- a/docs/public.ecr.aws/ubuntu/cassandra.md
3527+++ b/docs/public.ecr.aws/ubuntu/cassandra.md
3528@@ -1,8 +1,8 @@
3529-# Cassandra | Ubuntu
3530+# Apache Cassandra | Ubuntu
3531
3532-Current Cassandra Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Cassandra or Ubuntu release.
3533+Current Apache Cassandra Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Apache Cassandra or Ubuntu release.
3534
3535-## About Cassandra
3536+## About Apache Cassandra
3537
3538 Apache Cassandra is an open source NoSQL distributed database trusted by thousands of companies for scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it a good platform for mission-critical data.
3539
3540@@ -16,22 +16,33 @@ Up to 10 years customer security maintenance `from canonical/cassandra`. [Reques
3541
3542 | Channel Tag | | | Currently | Architectures |
3543 |---|---|---|---|---|
3544- | **`4.0-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/cassandra) | | Cassandra 4.0 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
3545- | `4.0-20.04_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/cassandra) | | Cassandra 4.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3546+ | **`4.0-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/cassandra) | [](https://gallery.ecr.aws/lts/cassandra) | Apache Cassandra 4.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3547 | _`track_risk`_ |
3548
3549
3550 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3551
3552+
3553 ### Commercial use and Extended Security Maintenance channels
3554 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
3555
3556+## Deprecated channels & tags
3557+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
3558+
3559+| Track | Version | EOL | Upgrade Path |
3560+|---|---|---|---|
3561+ | ~~4.0-21.10~~ | Apache Cassandra 4.0 on Ubuntu&nbsp;21.10&nbsp; | 04/2022 | 4.0-22.04_beta |
3562+ | ~~4.0-21.04~~ | Apache Cassandra 4.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~4.0-21.10~~ |
3563+ | ~~4.0-20.04~~ | Apache Cassandra 4.0 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~4.0-21.04~~ |
3564+| _`track`_ |
3565+
3566+
3567 ## Docker CLI
3568
3569 Launch this image locally:
3570
3571 ```sh
3572-docker run -d --name cassandra-container -e TZ=UTC -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 public.ecr.aws/ubuntu/cassandra:4.0-21.04_beta
3573+docker run -d --name cassandra-container -e TZ=UTC -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 public.ecr.aws/ubuntu/cassandra:4.0-21.10
3574 ```
3575 Access your Cassandra server with `cqlsh localhost 9042`.
3576
3577@@ -69,7 +80,7 @@ docker exec -it cassandra-container /bin/bash
3578 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3579
3580 Download
3581-[cassandra-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/cassandra:4.0-21.04_beta`), then:
3582+[cassandra-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml?h=4.0-22.04) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/cassandra:4.0-21.10`), then:
3583
3584 ```sh
3585 kubectl apply -f cassandra-deployment.yml
3586diff --git a/docs/public.ecr.aws/ubuntu/cortex.md b/docs/public.ecr.aws/ubuntu/cortex.md
3587index 7896844..2fac18a 100644
3588--- a/docs/public.ecr.aws/ubuntu/cortex.md
3589+++ b/docs/public.ecr.aws/ubuntu/cortex.md
3590@@ -23,22 +23,33 @@ Up to 10 years customer security maintenance `from canonical/cortex`. [Request a
3591
3592 | Channel Tag | | | Currently | Architectures |
3593 |---|---|---|---|---|
3594- | **`1.7-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/cortex) | | Cortex 1.7 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
3595- | `1.4-20.04_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/cortex) | | Cortex 1.4.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3596+ | **`1.11-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/cortex) | [](https://gallery.ecr.aws/lts/cortex) | Cortex 1.11 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3597 | _`track_risk`_ |
3598
3599
3600 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3601
3602+
3603 ### Commercial use and Extended Security Maintenance channels
3604 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
3605
3606+## Deprecated channels & tags
3607+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
3608+
3609+| Track | Version | EOL | Upgrade Path |
3610+|---|---|---|---|
3611+ | ~~1.10-21.10~~ | Cortex 1.10.0 on Ubuntu&nbsp;21.10&nbsp; | 04/2022 | 1.11-22.04_beta |
3612+ | ~~1.7-21.04~~ | Cortex 1.7.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~1.10-21.10~~ |
3613+ | ~~1.4-20.04~~ | Cortex 1.4.0 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~1.7-21.04~~ |
3614+| _`track`_ |
3615+
3616+
3617 ## Docker CLI
3618
3619 Launch this image locally:
3620
3621 ```sh
3622-docker run -d --name cortex-container -e TZ=UTC -p 32709:9009 public.ecr.aws/ubuntu/cortex:1.7-21.04_beta
3623+docker run -d --name cortex-container -e TZ=UTC -p 32709:9009 public.ecr.aws/ubuntu/cortex:1.10-21.10
3624 ```
3625 Access your Cortex server at `http://localhost:32709`.
3626
3627@@ -48,7 +59,7 @@ Access your Cortex server at `http://localhost:32709`.
3628 |---|---|
3629 | `-e TZ=UTC` | Timezone. |
3630 | `-p 32709:9009` | Expose Cortex on `localhost:32709`. |
3631-| `-v /my/local/cortex.yaml:/etc/cortex/cortex.yaml` | Local [configuration file](https://cortexmetrics.io/docs/configuration/) `cortex.yaml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml)). |
3632+| `-v /my/local/cortex.yaml:/etc/cortex/cortex.yaml` | Local [configuration file](https://cortexmetrics.io/docs/configuration/) `cortex.yaml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml?h=1.11-22.04)). |
3633
3634
3635 #### Testing/Debugging
3636@@ -71,8 +82,8 @@ docker exec -it cortex-container /bin/bash
3637 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3638
3639 Download
3640-[cortex.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml) and
3641-[cortex-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/cortex-deployment.yml) and set `containers.cortex.image` in `cortex-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/cortex:1.7-21.04_beta`), then:
3642+[cortex.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml?h=1.11-22.04) and
3643+[cortex-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/cortex-deployment.yml?h=1.11-22.04) and set `containers.cortex.image` in `cortex-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/cortex:1.10-21.10`), then:
3644
3645 ```sh
3646 kubectl create configmap cortex-config --from-file=main-config=cortex.yaml
3647diff --git a/docs/public.ecr.aws/ubuntu/grafana.md b/docs/public.ecr.aws/ubuntu/grafana.md
3648index 87b4e80..1108fcb 100644
3649--- a/docs/public.ecr.aws/ubuntu/grafana.md
3650+++ b/docs/public.ecr.aws/ubuntu/grafana.md
3651@@ -16,22 +16,33 @@ Up to 10 years customer security maintenance `from canonical/grafana`. [Request
3652
3653 | Channel Tag | | | Currently | Architectures |
3654 |---|---|---|---|---|
3655- | **`7.4-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/grafana) | | Grafana™ software 7.4 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
3656- | `7.2-20.04_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/grafana) | | Grafana™ software 7.2.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3657+ | **`8.2-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/grafana) | [](https://gallery.ecr.aws/lts/grafana) | Grafana™ software 8.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3658 | _`track_risk`_ |
3659
3660
3661 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3662
3663+
3664 ### Commercial use and Extended Security Maintenance channels
3665 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
3666
3667+## Deprecated channels & tags
3668+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
3669+
3670+| Track | Version | EOL | Upgrade Path |
3671+|---|---|---|---|
3672+ | ~~8.1-21.10~~ | Grafana™ software 8.1.0 on Ubuntu&nbsp;21.10&nbsp; | 04/2022 | 8.2-22.04_beta |
3673+ | ~~7.4-21.04~~ | Grafana™ software 7.4.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~8.1-21.10~~ |
3674+ | ~~7.2-20.04~~ | Grafana™ software 7.2.0 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~7.4-21.04~~ |
3675+| _`track`_ |
3676+
3677+
3678 ## Docker CLI
3679
3680 Launch this image locally:
3681
3682 ```sh
3683-docker run -d --name grafana-container -e TZ=UTC -p 30000:3000 public.ecr.aws/ubuntu/grafana:7.4-21.04_beta
3684+docker run -d --name grafana-container -e TZ=UTC -p 30000:3000 public.ecr.aws/ubuntu/grafana:8.1-21.10
3685 ```
3686 Access your Grafana server at `localhost:30000`.
3687
3688@@ -65,8 +76,8 @@ docker exec -it grafana-container /bin/bash
3689 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3690
3691 Download
3692-[datasource.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/datasource.yml), [dashboard.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/dashboard.yml), [system-stats-dashboard.json](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/system-stats-dashboard.json) and
3693-[grafana-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/grafana-deployment.yml) and set `containers.grafana.image` in `grafana-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/grafana:7.4-21.04_beta`), then:
3694+[datasource.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/datasource.yml?h=8.2-22.04), [dashboard.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/dashboard.yml?h=8.2-22.04), [system-stats-dashboard.json](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/config/system-stats-dashboard.json?h=8.2-22.04) and
3695+[grafana-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/grafana/plain/examples/grafana-deployment.yml?h=8.2-22.04) and set `containers.grafana.image` in `grafana-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/grafana:8.1-21.10`), then:
3696
3697 ```sh
3698 kubectl create configmap grafana-config --from-file=grafana-datasource=datasource.yml --from-file=grafana-dashboard-definition=dashboard.yml --from-file=grafana-dashboard=system-stats-dashboard.json
3699diff --git a/docs/public.ecr.aws/ubuntu/kafka.md b/docs/public.ecr.aws/ubuntu/kafka.md
3700new file mode 100644
3701index 0000000..59a4554
3702--- /dev/null
3703+++ b/docs/public.ecr.aws/ubuntu/kafka.md
3704@@ -0,0 +1,100 @@
3705+# Apache Kafka | Ubuntu
3706+
3707+Current Apache Kafka Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Apache Kafka or Ubuntu release.
3708+
3709+## About Apache Kafka
3710+
3711+Apache Kafka is an open-source distributed event streaming platform for high-performance data pipelines, streaming analytics... Read more on the [Apache Kafka website](https://kafka.apache.org/). This image requires the Zookeeper image to run properly.
3712+
3713+
3714+## Tags and Architectures
3715+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
3716+Up to 5 years free security maintenance. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
3717+
3718+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
3719+Up to 10 years customer security maintenance `from canonical/kafka`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
3720+
3721+| Channel Tag | | | Currently | Architectures |
3722+|---|---|---|---|---|
3723+ | **`3.1-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/kafka) | [](https://gallery.ecr.aws/lts/kafka) | Apache Kafka 3.1.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3724+| _`track_risk`_ |
3725+
3726+
3727+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3728+
3729+
3730+### Commercial use and Extended Security Maintenance channels
3731+If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
3732+
3733+## Deprecated channels & tags
3734+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
3735+
3736+| Track | Version | EOL | Upgrade Path |
3737+|---|---|---|---|
3738+| _`track`_ |
3739+
3740+
3741+## Docker CLI
3742+
3743+Launch this image locally:
3744+
3745+```sh
3746+docker run -d --name kafka-container -e TZ=UTC -p 9092:9092 -e ZOOKEEPER_HOST=host.docker.internal public.ecr.aws/ubuntu/kafka:3.1-22.04_beta
3747+```
3748+Apache Kafka service is now exposed at `localhost:9092` (**You first need to run a Zookeeper instance**: `docker run -d -p 2181:2181 ubuntu/zookeeper:edge`).
3749+
3750+
3751+#### Parameters
3752+
3753+| Parameter | Description |
3754+|---|---|
3755+| `-e TZ=UTC` | Timezone. |
3756+| `-e ZOOKEEPER_HOST=172.17.0.1` | Hostname for the related Zookeeper instance (default value is set to the default IP for the Docker host (host.docker.internal)). |
3757+| `-e ZOOKEEPER_PORT=2181` | Port for the related Zookeeper instance. |
3758+| `-p 9092:9092` | Expose Apache Kafka service on `localhost:9092`. |
3759+| `-p 2181:2181` | Expose Apache Zookeeper service on `localhost:2181`. |
3760+| `CMD kafka-server-start.sh /etc/kafka/server.properties --override zookeeper.connect=host.docker.internal:2181` | Start a Kafka instance, connecting to the Zookeeper instance accessible at `host.docker.internal:2181` from within the Kafka instance container. |
3761+| `CMD zookeeper-server-start.sh /etc/kafka/zookeeper.properties` | Start a Zookeeper instance. |
3762+
3763+
3764+#### Testing/Debugging
3765+
3766+To debug the container:
3767+
3768+```sh
3769+docker logs -f kafka-container
3770+```
3771+
3772+To get an interactive shell:
3773+
3774+```sh
3775+docker exec -it kafka-container /bin/bash
3776+```
3777+
3778+
3779+## Deploy with Kubernetes
3780+
3781+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3782+
3783+Download
3784+[kafka-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/kafka/plain/examples/kafka-deployment.yml?h=3.1-22.04) and set `containers.kafka.image` in `kafka-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/kafka:3.1-22.04_beta`), then:
3785+
3786+```sh
3787+kubectl apply -f kafka-deployment.yml
3788+```
3789+
3790+Apache Kafka will be available on the K8s cluster as a `kafka-service` Service.
3791+
3792+## Bugs and feature requests
3793+
3794+If you find a bug in our image or want to request a specific feature, please file a bug here:
3795+
3796+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
3797+
3798+Please title the bug "`kafka: <issue summary>`". Make sure to include the digest of the image you are using, from:
3799+
3800+```sh
3801+docker images --no-trunc --quiet public.ecr.aws/ubuntu/kafka:<tag>
3802+```
3803+
3804+
3805diff --git a/docs/public.ecr.aws/ubuntu/loki.md b/docs/public.ecr.aws/ubuntu/loki.md
3806new file mode 100644
3807index 0000000..4346232
3808--- /dev/null
3809+++ b/docs/public.ecr.aws/ubuntu/loki.md
3810@@ -0,0 +1,98 @@
3811+# Grafana Loki™ software | Ubuntu
3812+
3813+Current Grafana Loki™ software Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Grafana Loki™ software or Ubuntu release.
3814+
3815+## About Grafana Loki™ software
3816+
3817+Loki is a horizontally scalable, highly available, multi-tenant log aggregation system inspired by Prometheus. Read more on the [Grafana website](https://grafana.com/oss/loki/).
3818+
3819+
3820+## Tags and Architectures
3821+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
3822+Up to 5 years free security maintenance. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
3823+
3824+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
3825+Up to 10 years customer security maintenance `from canonical/loki`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
3826+
3827+| Channel Tag | | | Currently | Architectures |
3828+|---|---|---|---|---|
3829+ | **`2.4-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/loki) | [](https://gallery.ecr.aws/lts/loki) | Grafana Loki™ software 2.4.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3830+| _`track_risk`_ |
3831+
3832+
3833+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3834+
3835+
3836+### Commercial use and Extended Security Maintenance channels
3837+If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
3838+
3839+## Deprecated channels & tags
3840+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
3841+
3842+| Track | Version | EOL | Upgrade Path |
3843+|---|---|---|---|
3844+| _`track`_ |
3845+
3846+
3847+## Docker CLI
3848+
3849+Launch this image locally:
3850+
3851+```sh
3852+docker run -d --name loki-container -e TZ=UTC -p 3100:3100 public.ecr.aws/ubuntu/loki:2.4-22.04_beta
3853+```
3854+You can now use your Loki instance exposed at `http://localhost:3100`.
3855+
3856+#### Parameters
3857+
3858+| Parameter | Description |
3859+|---|---|
3860+| `-e TZ=UTC` | Timezone. |
3861+| `-p 3100:3100` | Expose Grafana Loki on `localhost:3100`. |
3862+| `-v /local/path/to/config:/etc/loki/local-config.yaml` | Local Loki Promtail config file. Can be changed using CMD `--config.file=` argument. See an [example file](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/config/promtail-local-config.yaml?h=2.4-22.04). |
3863+| `-v lokidata:/loki` | Persist data in a docker volume named `lokidata`. |
3864+
3865+
3866+#### Testing/Debugging
3867+
3868+To debug the container:
3869+
3870+```sh
3871+docker logs -f loki-container
3872+```
3873+
3874+To get an interactive shell:
3875+
3876+```sh
3877+docker exec -it loki-container /bin/bash
3878+```
3879+
3880+
3881+## Deploy with Kubernetes
3882+
3883+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3884+
3885+Download
3886+[promtail-local-config-k8s.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/config/promtail-local-config-k8s.yaml?h=2.4-22.04) and
3887+[loki-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/loki/plain/examples/loki-deployment.yml?h=2.4-22.04) and set `containers.loki.image` in `loki-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/loki:2.4-22.04_beta`), then:
3888+
3889+```sh
3890+kubectl create configmap promtail-config --from-file=promtail=promtail-local-config-k8s.yaml
3891+kubectl apply -f loki-deployment.yml
3892+```
3893+
3894+You will now be able to connect to the Loki instance on `http://localhost:31000`.
3895+
3896+## Bugs and feature requests
3897+
3898+If you find a bug in our image or want to request a specific feature, please file a bug here:
3899+
3900+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
3901+
3902+Please title the bug "`loki: <issue summary>`". Make sure to include the digest of the image you are using, from:
3903+
3904+```sh
3905+docker images --no-trunc --quiet public.ecr.aws/ubuntu/loki:<tag>
3906+```
3907+
3908+
3909diff --git a/docs/public.ecr.aws/ubuntu/memcached.md b/docs/public.ecr.aws/ubuntu/memcached.md
3910index f0b6dad..213ef3c 100644
3911--- a/docs/public.ecr.aws/ubuntu/memcached.md
3912+++ b/docs/public.ecr.aws/ubuntu/memcached.md
3913@@ -10,35 +10,46 @@ Memcached is an in-memory key-value store for small chunks of arbitrary data (st
3914
3915 ## Tags and Architectures
3916 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
3917-Up to 5 years free security maintenance [from public.ecr.aws/lts/memcached](https://gallery.ecr.aws/lts/${repo}).
3918+Up to 5 years free security maintenance [from public.ecr.aws/lts/memcached](https://gallery.ecr.aws/lts/memcached).
3919
3920 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
3921 Up to 10 years customer security maintenance `from canonical/memcached`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
3922
3923 | Channel Tag | | | Currently | Architectures |
3924 |---|---|---|---|---|
3925- | **`1.6-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/memcached) | | Memcached 1.6 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
3926+ | **`1.6-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/memcached) | [](https://gallery.ecr.aws/lts/memcached) | Memcached 1.6 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3927+ | `1.6-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/memcached) | [](https://gallery.ecr.aws/lts/memcached) | Memcached 1.6.9 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
3928 | _`track_risk`_ |
3929
3930 _The following tags are not available in public.ecr.aws/ubuntu/memcached but are shown here for completeness:_
3931
3932 | Channel Tag | | | Currently | Architectures |
3933 |---|---|---|---|---|
3934- | _**`1.5-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/memcached) | | Memcached 1.5.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3935+ | _**`1.5-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/memcached) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/memcached) | Memcached 1.5.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
3936 | _`track_risk`_ |
3937
3938
3939 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
3940
3941+
3942 ### Commercial use and Extended Security Maintenance channels
3943 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
3944
3945+## Deprecated channels & tags
3946+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
3947+
3948+| Track | Version | EOL | Upgrade Path |
3949+|---|---|---|---|
3950+ | ~~1.6-21.04~~ | Memcached 1.6.9 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 1.6-21.10_beta |
3951+| _`track`_ |
3952+
3953+
3954 ## Docker CLI
3955
3956 Launch this image locally:
3957
3958 ```sh
3959-docker run -d --name memcached-container -e TZ=UTC public.ecr.aws/ubuntu/memcached:1.5-20.04_beta
3960+docker run -d --name memcached-container -e TZ=UTC public.ecr.aws/ubuntu/memcached:1.6-21.04
3961 ```
3962
3963 #### Parameters
3964@@ -51,7 +62,7 @@ docker run -d --name memcached-container -e TZ=UTC public.ecr.aws/ubuntu/memcac
3965 | `-e MEMCACHED_THREADS=4` | Determines the number of threads to process requests. |
3966 | `-e MEMCACHED_PASSWORD` | Define the password for the `root` user if another username is provided. By default the authentication is disabled but if this option is passed it becomes enabled. |
3967 | `-e MEMCACHED_USERNAME` | Define a new user. If this option is passed a password is needed to authenticate the new user. |
3968-| `-p 11211` | Memcached is exposed inside the container on port `11211`. |
3969+| `-p 11211:11211` | Memcached is exposed inside the container on port `11211`. |
3970
3971
3972 #### Testing/Debugging
3973@@ -103,7 +114,7 @@ In this case you can append the flags themselves or a shell script to the run co
3974 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
3975
3976 Download
3977-[memcached-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/memcached/plain/examples/memcached-deployment.yml) and set `containers.memcached.image` in `memcached-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/memcached:1.5-20.04_beta`), then:
3978+[memcached-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/memcached/plain/examples/memcached-deployment.yml?h=1.6-22.04) and set `containers.memcached.image` in `memcached-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/memcached:1.6-21.04`), then:
3979
3980 ```sh
3981 kubectl apply -f memcached-deployment.yml
3982diff --git a/docs/public.ecr.aws/ubuntu/mysql.md b/docs/public.ecr.aws/ubuntu/mysql.md
3983index af55f37..42fe55e 100644
3984--- a/docs/public.ecr.aws/ubuntu/mysql.md
3985+++ b/docs/public.ecr.aws/ubuntu/mysql.md
3986@@ -1,44 +1,56 @@
3987-# MySQL™ | Ubuntu
3988+# MySQL™ software | Ubuntu
3989
3990-Current MySQL™ Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer MySQL™ or Ubuntu release.
3991+Current MySQL™ software Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer MySQL™ software or Ubuntu release.
3992 For [long-term support (LTS)](https://ubuntu.com/security/docker-images) versions of this image, see [public.ecr.aws/lts/mysql](https://gallery.ecr.aws/lts/mysql).
3993
3994-## About MySQL™
3995+## About MySQL™ software
3996
3997 MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. SQL (Structured Query Language) is the most popular database query language in the world. The main goals of MySQL are speed, robustness and ease of use. Read more on the [MySQL website](https://dev.mysql.com/doc/refman/8.0/en/).
3998
3999
4000 ## Tags and Architectures
4001 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
4002-Up to 5 years free security maintenance [from public.ecr.aws/lts/mysql](https://gallery.ecr.aws/lts/${repo}).
4003+Up to 5 years free security maintenance [from public.ecr.aws/lts/mysql](https://gallery.ecr.aws/lts/mysql).
4004
4005 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
4006 Up to 10 years customer security maintenance `from canonical/mysql`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
4007
4008 | Channel Tag | | | Currently | Architectures |
4009 |---|---|---|---|---|
4010- | **`8.0-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/mysql) | | MySQL™ 8.0 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `s390x` |
4011+ | _**`8.0-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/mysql) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/mysql) | MySQL™ software 8.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4012+ | `8.0-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/mysql) | [](https://gallery.ecr.aws/lts/mysql) | MySQL™ software 8.0.27 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4013 | _`track_risk`_ |
4014
4015 _The following tags are not available in public.ecr.aws/ubuntu/mysql but are shown here for completeness:_
4016
4017 | Channel Tag | | | Currently | Architectures |
4018 |---|---|---|---|---|
4019- | _**`8.0-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/mysql) | | MySQL™ 8.0.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `s390x` |
4020+ | _**`8.0-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/mysql) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/mysql) | MySQL™ software 8.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4021+ | _`8.0-20.04_beta` &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/mysql) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/mysql) | MySQL™ software 8.0.22 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4022 | _`track_risk`_ |
4023
4024
4025 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4026
4027+
4028 ### Commercial use and Extended Security Maintenance channels
4029 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
4030
4031+## Deprecated channels & tags
4032+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4033+
4034+| Track | Version | EOL | Upgrade Path |
4035+|---|---|---|---|
4036+ | ~~8.0-21.04~~ | MySQL™ software 8.0.27 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 8.0-21.10_beta |
4037+| _`track`_ |
4038+
4039+
4040 ## Docker CLI
4041
4042 Launch this image locally:
4043
4044 ```sh
4045-docker run -d --name mysql-container -e TZ=UTC -p 30306:3306 -e MYSQL_ROOT_PASSWORD=My:S3cr3t/ public.ecr.aws/ubuntu/mysql:8.0-20.04_beta
4046+docker run -d --name mysql-container -e TZ=UTC -p 30306:3306 -e MYSQL_ROOT_PASSWORD=My:S3cr3t/ public.ecr.aws/ubuntu/mysql:8.0-21.04
4047 ```
4048 Access your MySQL server at `localhost:30306`.
4049
4050@@ -57,7 +69,7 @@ Access your MySQL server at `localhost:30306`.
4051 | `-e MYSQL_INITSB_SKIP_TZINFO=yes` | Timezone data is automatically loaded via entrypoint script, set this variable to any non-empty value to disable it. |
4052 | `-p 30306:3306` | Expose MySQL server on `localhost:30306`. |
4053 | `-v /path/to/data:/var/lib/mysql` | Persist data instead of initializing a new database every time you launch a new container. |
4054-| `-v /path/to/config/files/:/etc/mysql/mysql.conf.d/` | Local [configuration files](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html) (try this [example my.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my.cnf)). |
4055+| `-v /path/to/config/files/:/etc/mysql/mysql.conf.d/` | Local [configuration files](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html) (try this [example my.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf?h=8.0-22.04)). |
4056
4057 #### Initialization Scripts
4058
4059@@ -89,7 +101,7 @@ This image also includes the `mysql` client for interactive container use:
4060 ```sh
4061 $ docker network create mysql-network
4062 $ docker network connect mysql-network mysql-container
4063-$ docker run -it --rm --network mysql-network public.ecr.aws/ubuntu/mysql:8.0-20.04_beta mysql -hmysql-container -uroot -p
4064+$ docker run -it --rm --network mysql-network public.ecr.aws/ubuntu/mysql:8.0-21.04 mysql -hmysql-container -uroot -p
4065 ```
4066 The password will be asked and you can enter `My:S3cr3t/`. Now, you are logged in and can enjoy your new instance.
4067
4068@@ -98,8 +110,8 @@ The password will be asked and you can enter `My:S3cr3t/`. Now, you are logged i
4069 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4070
4071 Download
4072-[my-custom.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf) and
4073-[mysql-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/mysql-deployment.yml) and set `containers.mysql.image` in `mysql-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/mysql:8.0-20.04_beta`), then:
4074+[my-custom.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf?h=8.0-22.04) and
4075+[mysql-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/mysql-deployment.yml?h=8.0-22.04) and set `containers.mysql.image` in `mysql-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/mysql:8.0-21.04`), then:
4076
4077 ```sh
4078 kubectl create configmap mysql-config --from-file=main-config=my-custom.cnf
4079diff --git a/docs/public.ecr.aws/ubuntu/nginx.md b/docs/public.ecr.aws/ubuntu/nginx.md
4080index 16682e1..e34f14b 100644
4081--- a/docs/public.ecr.aws/ubuntu/nginx.md
4082+++ b/docs/public.ecr.aws/ubuntu/nginx.md
4083@@ -10,35 +10,47 @@ Nginx ("engine X") is a high-performance web and reverse proxy server created by
4084
4085 ## Tags and Architectures
4086 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
4087-Up to 5 years free security maintenance [from public.ecr.aws/lts/nginx](https://gallery.ecr.aws/lts/${repo}).
4088+Up to 5 years free security maintenance [from public.ecr.aws/lts/nginx](https://gallery.ecr.aws/lts/nginx).
4089
4090 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
4091 Up to 10 years customer security maintenance `from canonical/nginx`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
4092
4093 | Channel Tag | | | Currently | Architectures |
4094 |---|---|---|---|---|
4095- | **`1.18-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/nginx) | | Nginx 1.18 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4096+ | _**`1.18-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/nginx) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/nginx) | Nginx 1.18 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4097+ | `1.18-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/nginx) | [](https://gallery.ecr.aws/lts/nginx) | Nginx 1.18.0 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4098 | _`track_risk`_ |
4099
4100 _The following tags are not available in public.ecr.aws/ubuntu/nginx but are shown here for completeness:_
4101
4102 | Channel Tag | | | Currently | Architectures |
4103 |---|---|---|---|---|
4104- | _**`1.18-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/nginx) | | Nginx 1.18.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4105+ | _**`1.18-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/nginx) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/nginx) | Nginx 1.18 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4106+ | _`1.18-20.04_beta` &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/nginx) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/nginx) | Nginx 1.18.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4107 | _`track_risk`_ |
4108
4109
4110 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4111
4112+
4113 ### Commercial use and Extended Security Maintenance channels
4114 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
4115
4116+## Deprecated channels & tags
4117+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4118+
4119+| Track | Version | EOL | Upgrade Path |
4120+|---|---|---|---|
4121+ | ~~1.18-21.04~~ | Nginx 1.18.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 1.18-21.10_beta |
4122+| _`track`_ |
4123+
4124+
4125 ## Docker CLI
4126
4127 Launch this image locally:
4128
4129 ```sh
4130-docker run -d --name nginx-container -e TZ=UTC -p 8080:80 public.ecr.aws/ubuntu/nginx:1.18-20.04_beta
4131+docker run -d --name nginx-container -e TZ=UTC -p 8080:80 public.ecr.aws/ubuntu/nginx:1.18-21.04
4132 ```
4133 Access your Nginx server at `http://localhost:8080`.
4134
4135@@ -50,7 +62,7 @@ Access your Nginx server at `http://localhost:8080`.
4136 | `-p 8080:80` | Expose Nginx on `localhost:8080`. |
4137 | `-v /local/path/to/website:/var/www/html` | Mount and serve a local website. |
4138 | `-v /path/to/conf.template:/etc/nginx/templates/conf.template` | Mount template files inside `/etc/nginx/templates`. They will be processed and the results will be placed at `/etc/nginx/conf.d`. (e.g. `listen ${NGINX_PORT};` will generate `listen 80;`). |
4139-| `-v /path/to/nginx.conf:/etc/nginx/nginx.conf` | Local [configuration file](https://nginx.org/en/docs/) `nginx.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf)). |
4140+| `-v /path/to/nginx.conf:/etc/nginx/nginx.conf` | Local [configuration file](https://nginx.org/en/docs/) `nginx.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf?h=1.18-22.04)). |
4141
4142
4143 #### Testing/Debugging
4144@@ -73,8 +85,8 @@ docker exec -it nginx-container /bin/bash
4145 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4146
4147 Download
4148-[nginx.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/html/index.html) and
4149-[nginx-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/nginx-deployment.yml) and set `containers.nginx.image` in `nginx-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/nginx:1.18-20.04_beta`), then:
4150+[nginx.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/nginx.conf?h=1.18-22.04), [index.html](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/config/html/index.html?h=1.18-22.04) and
4151+[nginx-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/nginx/plain/examples/nginx-deployment.yml?h=1.18-22.04) and set `containers.nginx.image` in `nginx-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/nginx:1.18-21.04`), then:
4152
4153 ```sh
4154 kubectl create configmap nginx-config --from-file=nginx=nginx.conf --from-file=nginx-site=index.html
4155diff --git a/docs/public.ecr.aws/ubuntu/postgres.md b/docs/public.ecr.aws/ubuntu/postgres.md
4156index bea237a..9981a38 100644
4157--- a/docs/public.ecr.aws/ubuntu/postgres.md
4158+++ b/docs/public.ecr.aws/ubuntu/postgres.md
4159@@ -10,35 +10,47 @@ PostgreSQL is a powerful, open source object-relational database system. It is f
4160
4161 ## Tags and Architectures
4162 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
4163-Up to 5 years free security maintenance [from public.ecr.aws/lts/postgres](https://gallery.ecr.aws/lts/${repo}).
4164+Up to 5 years free security maintenance [from public.ecr.aws/lts/postgres](https://gallery.ecr.aws/lts/postgres).
4165
4166 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
4167 Up to 10 years customer security maintenance `from canonical/postgres`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
4168
4169 | Channel Tag | | | Currently | Architectures |
4170 |---|---|---|---|---|
4171- | **`13.1-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/postgres) | | Postgres 13.1 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `s390x` |
4172+ | _**`14-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/postgres) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/postgres) | Postgres 14 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4173+ | `13-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/postgres) | [](https://gallery.ecr.aws/lts/postgres) | Postgres 13.1 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4174 | _`track_risk`_ |
4175
4176 _The following tags are not available in public.ecr.aws/ubuntu/postgres but are shown here for completeness:_
4177
4178 | Channel Tag | | | Currently | Architectures |
4179 |---|---|---|---|---|
4180- | _**`12.4-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/postgres) | | Postgres 12.4 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `s390x` |
4181+ | _**`14-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/postgres) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/postgres) | Postgres 14 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4182+ | _`12-20.04_beta` &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/postgres) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/postgres) | Postgres 12.4 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4183 | _`track_risk`_ |
4184
4185
4186 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4187
4188+
4189 ### Commercial use and Extended Security Maintenance channels
4190 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
4191
4192+## Deprecated channels & tags
4193+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4194+
4195+| Track | Version | EOL | Upgrade Path |
4196+|---|---|---|---|
4197+ | ~~13-21.04~~ | Postgres 13.1 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~13.1-21.10~~ |
4198+| _`track`_ |
4199+
4200+
4201 ## Docker CLI
4202
4203 Launch this image locally:
4204
4205 ```sh
4206-docker run -d --name postgres-container -e TZ=UTC -p 30432:5432 -e POSTGRES_PASSWORD=My:s3Cr3t/ public.ecr.aws/ubuntu/postgres:12.4-20.04_beta
4207+docker run -d --name postgres-container -e TZ=UTC -p 30432:5432 -e POSTGRES_PASSWORD=My:s3Cr3t/ public.ecr.aws/ubuntu/postgres:13-21.04
4208 ```
4209 Access your PostgreSQL server at `localhost:30432`.
4210
4211@@ -55,7 +67,7 @@ Access your PostgreSQL server at `localhost:30432`.
4212 | `-e POSTGRES_HOST_AUTH_METHOD=trust` | Set the `auth-method` for `host` connections for `all` databases, `all` users, and `all` addresses. The following will be added to the `pg_hba.conf` if this option is passed: `host all all all $POSTGRES_HOST_AUTH_METHOD`. |
4213 | `-e PGDATA=/path/to/location` | Set the location of the database files. The default is `/var/lib/postgresql/data`. |
4214 | `-p 30432:5432` | Expose Postgres on `localhost:30432`. |
4215-| `-v /path/to/postgresql.conf:/etc/postgresql/postgresql.conf` | Local [configuration file](https://www.postgresql.org/docs/12/index.html) `postgresql.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf)). |
4216+| `-v /path/to/postgresql.conf:/etc/postgresql/postgresql.conf` | Local [configuration file](https://www.postgresql.org/docs/12/index.html) `postgresql.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf?h=14-22.04)). |
4217 | `-v /path/to/persisted/data:/var/lib/postgresql/data` | Persist data instead of initializing a new database every time you launch a new container. |
4218
4219 #### Initialization Scripts
4220@@ -88,7 +100,7 @@ This image also includes the `psql` client for interactive container use:
4221 ```sh
4222 $ docker network create postgres-network
4223 $ docker network connect postgres-network postgres-container
4224-$ docker run -it --rm --network postgres-network public.ecr.aws/ubuntu/postgres:12.4-20.04_beta psql -h postgres-container -U postgres
4225+$ docker run -it --rm --network postgres-network public.ecr.aws/ubuntu/postgres:13-21.04 psql -h postgres-container -U postgres
4226 ```
4227 The password will be asked and you can enter `My:s3Cr3t/`. Now, you are logged in and can enjoy your new instance.
4228
4229@@ -97,8 +109,8 @@ The password will be asked and you can enter `My:s3Cr3t/`. Now, you are logged i
4230 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4231
4232 Download
4233-[postgresql.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf) and
4234-[postgres-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/postgres-deployment.yml) and set `containers.postgres.image` in `postgres-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/postgres:12.4-20.04_beta`), then:
4235+[postgresql.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf?h=14-22.04) and
4236+[postgres-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/postgres-deployment.yml?h=14-22.04) and set `containers.postgres.image` in `postgres-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/postgres:13-21.04`), then:
4237
4238 ```sh
4239 kubectl create configmap postgres-config --from-file=main-config=postgresql.conf
4240diff --git a/docs/public.ecr.aws/ubuntu/prometheus-alertmanager.md b/docs/public.ecr.aws/ubuntu/prometheus-alertmanager.md
4241index 676d417..a5b1127 100644
4242--- a/docs/public.ecr.aws/ubuntu/prometheus-alertmanager.md
4243+++ b/docs/public.ecr.aws/ubuntu/prometheus-alertmanager.md
4244@@ -16,22 +16,33 @@ Up to 10 years customer security maintenance `from canonical/prometheus-alertman
4245
4246 | Channel Tag | | | Currently | Architectures |
4247 |---|---|---|---|---|
4248- | **`0.21-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/prometheus-alertmanager) | | Prometheus Alertmanager 0.21 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4249- | `0.21-20.04_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/prometheus-alertmanager) | | Prometheus Alertmanager 0.21.0 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4250+ | **`0.23-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/prometheus-alertmanager) | [](https://gallery.ecr.aws/lts/prometheus-alertmanager) | Prometheus Alertmanager 0.23 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4251 | _`track_risk`_ |
4252
4253
4254 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4255
4256+
4257 ### Commercial use and Extended Security Maintenance channels
4258 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
4259
4260+## Deprecated channels & tags
4261+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4262+
4263+| Track | Version | EOL | Upgrade Path |
4264+|---|---|---|---|
4265+ | ~~0.22-21.10~~ | Prometheus Alertmanager 0.22.0 on Ubuntu&nbsp;21.10&nbsp; | 04/2022 | 0.23-22.04_beta |
4266+ | ~~0.21-21.04~~ | Prometheus Alertmanager 0.21.0 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~0.22-21.10~~ |
4267+ | ~~0.21-20.04~~ | Prometheus Alertmanager 0.21.0 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~0.21-21.04~~ |
4268+| _`track`_ |
4269+
4270+
4271 ## Docker CLI
4272
4273 Launch this image locally:
4274
4275 ```sh
4276-docker run -d --name prometheus-alertmanager-container -e TZ=UTC -p 30093:9093 public.ecr.aws/ubuntu/prometheus-alertmanager:0.21-21.04_beta
4277+docker run -d --name prometheus-alertmanager-container -e TZ=UTC -p 30093:9093 public.ecr.aws/ubuntu/prometheus-alertmanager:0.22-21.10
4278 ```
4279 Access your Prometheus Alertmanager server at `localhost:30093`.
4280
4281@@ -41,7 +52,7 @@ Access your Prometheus Alertmanager server at `localhost:30093`.
4282 |---|---|
4283 | `-e TZ=UTC` | Timezone. |
4284 | `-p 30093:9093` | Expose Prometheus Alertmanager on `localhost:30093`. |
4285-| `-v /path/to/alertmanager.yml:/etc/prometheus/alertmanager.yml` | Local [configuration file](https://www.prometheus.io/docs/alerting/latest/configuration/) `alertmanager.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml)). |
4286+| `-v /path/to/alertmanager.yml:/etc/prometheus/alertmanager.yml` | Local [configuration file](https://www.prometheus.io/docs/alerting/latest/configuration/) `alertmanager.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/config/alertmanager.yml?h=0.23-22.04)). |
4287 | `-v /path/to/persisted/data:/alertmanager` | Persist data instead of initializing a new database for each newly launched container. **Important note**: the directory you will be using to persist the data needs to belong to `nogroup:nobody`. You can run `chown nogroup:nobody <path_to_persist_data>` before launching your container. |
4288
4289
4290@@ -65,11 +76,11 @@ docker exec -it prometheus-alertmanager-container /bin/bash
4291 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4292
4293 Download
4294-[alertmanager.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml) and
4295-[prometheus-alertmanager-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/alertmanager-deployment.yml) and set `containers.prometheus-alertmanager.image` in `prometheus-alertmanager-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/prometheus-alertmanager:0.21-21.04_beta`), then:
4296+[alertmanager.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/config/alertmanager.yml?h=0.23-22.04) and
4297+[prometheus-alertmanager-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/examples/alertmanager-deployment.yml?h=0.23-22.04) and set `containers.prometheus-alertmanager.image` in `prometheus-alertmanager-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/prometheus-alertmanager:0.22-21.10`), then:
4298
4299 ```sh
4300-kubectl create configmap prometheus-alertmanager-config --from-file=alertmanager=alertmanager.yml
4301+kubectl create configmap alertmanager-config --from-file=alertmanager=alertmanager.yml
4302 kubectl apply -f prometheus-alertmanager-deployment.yml
4303 ```
4304
4305diff --git a/docs/public.ecr.aws/ubuntu/prometheus.md b/docs/public.ecr.aws/ubuntu/prometheus.md
4306index 1ce4776..278d4d4 100644
4307--- a/docs/public.ecr.aws/ubuntu/prometheus.md
4308+++ b/docs/public.ecr.aws/ubuntu/prometheus.md
4309@@ -16,22 +16,34 @@ Up to 10 years customer security maintenance `from canonical/prometheus`. [Reque
4310
4311 | Channel Tag | | | Currently | Architectures |
4312 |---|---|---|---|---|
4313- | **`2.25-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/prometheus) | | Prometheus 2.25 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4314- | `2.20-20.04_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/prometheus) | | Prometheus 2.20.1 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4315+ | **`2.33-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/prometheus) | [](https://gallery.ecr.aws/lts/prometheus) | Prometheus 2.33 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4316 | _`track_risk`_ |
4317
4318
4319 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4320
4321+
4322 ### Commercial use and Extended Security Maintenance channels
4323 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
4324
4325+## Deprecated channels & tags
4326+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4327+
4328+| Track | Version | EOL | Upgrade Path |
4329+|---|---|---|---|
4330+ | ~~2.28-21.10~~ | Prometheus 2.28.1 on Ubuntu&nbsp;21.10&nbsp; | 02/2022 | ~~2.32-20.04~~ |
4331+ | ~~2.25-21.04~~ | Prometheus 2.25.1 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | ~~2.28-21.10~~ |
4332+ | ~~2.32-20.04~~ | Prometheus 2.32.1 on Ubuntu&nbsp;20.04&nbsp;LTS | 04/2022 | 2.33-22.04_beta |
4333+ | ~~2.20-20.04~~ | Prometheus 2.20.1 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~2.25-21.04~~ |
4334+| _`track`_ |
4335+
4336+
4337 ## Docker CLI
4338
4339 Launch this image locally:
4340
4341 ```sh
4342-docker run -d --name prometheus-container -e TZ=UTC -p 30090:9090 public.ecr.aws/ubuntu/prometheus:2.25-21.04_beta
4343+docker run -d --name prometheus-container -e TZ=UTC -p 30090:9090 public.ecr.aws/ubuntu/prometheus:2.28-21.10
4344 ```
4345 Access your Prometheus server at `localhost:30090`.
4346
4347@@ -41,8 +53,8 @@ Access your Prometheus server at `localhost:30090`.
4348 |---|---|
4349 | `-e TZ=UTC` | Timezone. |
4350 | `-p 30090:9090` | Expose Prometheus server on `localhost:30090`. |
4351-| `-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml` | Local [configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `prometheus.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/prometheus.yml)). |
4352-| `-v /path/to/alerts.yml:/etc/prometheus/alerts.yml` | Local [alert configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `alerts.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/alerts.yml)). |
4353+| `-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml` | Local [configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `prometheus.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/prometheus.yml?h=2.33-22.04)). |
4354+| `-v /path/to/alerts.yml:/etc/prometheus/alerts.yml` | Local [alert configuration file](https://prometheus.io/docs/prometheus/2.20/configuration/configuration/) `alerts.yml` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/alerts.yml?h=2.33-22.04)). |
4355
4356
4357 #### Testing/Debugging
4358@@ -65,8 +77,8 @@ docker exec -it prometheus-container /bin/bash
4359 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4360
4361 Download
4362-[prometheus.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/prometheus.yml), [alerts.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/config/alerts.yml) and
4363-[prometheus-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/oci/examples/prometheus-deployment.yml) and set `containers.prometheus.image` in `prometheus-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/prometheus:2.25-21.04_beta`), then:
4364+[prometheus.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/prometheus.yml?h=2.33-22.04), [alerts.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/config/alerts.yml?h=2.33-22.04) and
4365+[prometheus-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus/plain/examples/prometheus-deployment.yml?h=2.33-22.04) and set `containers.prometheus.image` in `prometheus-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/prometheus:2.28-21.10`), then:
4366
4367 ```sh
4368 kubectl create configmap prometheus-config --from-file=prometheus=prometheus.yml --from-file=prometheus-alerts=alerts.yml
4369diff --git a/docs/public.ecr.aws/ubuntu/redis.md b/docs/public.ecr.aws/ubuntu/redis.md
4370index 9f0e902..3d92bd8 100644
4371--- a/docs/public.ecr.aws/ubuntu/redis.md
4372+++ b/docs/public.ecr.aws/ubuntu/redis.md
4373@@ -16,22 +16,33 @@ Up to 10 years customer security maintenance `from canonical/redis`. [Request ac
4374
4375 | Channel Tag | | | Currently | Architectures |
4376 |---|---|---|---|---|
4377- | **`6.0-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/redis) | | Redis™ software 6.0 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4378- | `5.0-20.04_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/redis) | | Redis™ software 5.0.7 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4379+ | **`6.2-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/redis) | [](https://gallery.ecr.aws/lts/redis) | Redis™ software 6.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4380+ | `6.0-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/redis) | [](https://gallery.ecr.aws/lts/redis) | Redis™ software 6.0.15 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4381 | _`track_risk`_ |
4382
4383
4384 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4385
4386+
4387 ### Commercial use and Extended Security Maintenance channels
4388 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
4389
4390+## Deprecated channels & tags
4391+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4392+
4393+| Track | Version | EOL | Upgrade Path |
4394+|---|---|---|---|
4395+ | ~~6.0-21.04~~ | Redis™ software 6.0.11 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 6.0-21.10_beta |
4396+ | ~~5.0-20.04~~ | Redis™ software 5.0.7 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~6.0-21.04~~ |
4397+| _`track`_ |
4398+
4399+
4400 ## Docker CLI
4401
4402 Launch this image locally:
4403
4404 ```sh
4405-docker run -d --name redis-container -e TZ=UTC -p 30073:6379 -e REDIS_PASSWORD=mypassword public.ecr.aws/ubuntu/redis:6.0-21.04_beta
4406+docker run -d --name redis-container -e TZ=UTC -p 30073:6379 -e REDIS_PASSWORD=mypassword public.ecr.aws/ubuntu/redis:6.0-21.04
4407 ```
4408 Access your Redis server at `localhost:30073`.
4409
4410@@ -46,7 +57,8 @@ Access your Redis server at `localhost:30073`.
4411 | `-e REDIS_ALLOW_REMOTE_CONNECTIONS=yes` | Set to `no` to disallow remote connections to `redis-server` (i.e., make `redis-server` listen to `127.0.0.1` only). |
4412 | `-e REDIS_EXTRA_FLAGS` | Specify extra flags to be passed to `redis-server` when initializing it. |
4413 | `-p 30073:6379` | Expose redis on `localhost:30073`. |
4414-| `-v /path/to/redis.conf:/etc/redis/redis.conf` | Local [configuration file](https://redis.io/topics/config) `redis.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf)). |
4415+| `-v /path/to/redis.conf:/etc/redis/redis.conf` | Local [configuration file](https://redis.io/topics/config) `redis.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf?h=6.2-22.04)). **To enable TLS** mode, comment the `port 6379` line and uncomment the `# port 0` and `# tls-port 6379` lines.
4416+ |
4417
4418
4419 #### Testing/Debugging
4420@@ -68,7 +80,7 @@ This image also includes the `redis-cli` client for interactive container use:
4421 ```sh
4422 $ docker network create redis-network
4423 $ docker network connect redis-network redis-container
4424-$ docker run -it --rm --network redis-network public.ecr.aws/ubuntu/redis:6.0-21.04_beta redis-cli -h redis-container
4425+$ docker run -it --rm --network redis-network public.ecr.aws/ubuntu/redis:6.0-21.04 redis-cli -h redis-container
4426 ```
4427 Now you can:
4428 ```
4429@@ -85,8 +97,8 @@ redis:6379>
4430 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4431
4432 Download
4433-[redis.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf) and
4434-[redis-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/redis-deployment.yml) and set `containers.redis.image` in `redis-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/redis:6.0-21.04_beta`), then:
4435+[redis.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf?h=6.2-22.04) and
4436+[redis-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/redis-deployment.yml?h=6.2-22.04) and set `containers.redis.image` in `redis-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/redis:6.0-21.04`), then:
4437
4438 ```sh
4439 kubectl create configmap redis-config --from-file=redis=redis.conf
4440diff --git a/docs/public.ecr.aws/ubuntu/squid.md b/docs/public.ecr.aws/ubuntu/squid.md
4441index 6add789..eb36a24 100644
4442--- a/docs/public.ecr.aws/ubuntu/squid.md
4443+++ b/docs/public.ecr.aws/ubuntu/squid.md
4444@@ -10,36 +10,46 @@ Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It r
4445
4446 ## Tags and Architectures
4447 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
4448-Up to 5 years free security maintenance [from public.ecr.aws/lts/squid](https://gallery.ecr.aws/lts/${repo}).
4449+Up to 5 years free security maintenance [from public.ecr.aws/lts/squid](https://gallery.ecr.aws/lts/squid).
4450
4451 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
4452 Up to 10 years customer security maintenance `from canonical/squid`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
4453
4454 | Channel Tag | | | Currently | Architectures |
4455 |---|---|---|---|---|
4456- | _**`4.10-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/squid) | | Squid 4.10 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4457- | `4.13-21.10_edge` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/squid) | | Squid 4.13 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4458+ | _**`5.2-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/squid) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/squid) | Squid 5.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4459+ | `4.13-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/squid) | [](https://gallery.ecr.aws/lts/squid) | Squid 4.13 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4460 | _`track_risk`_ |
4461
4462 _The following tags are not available in public.ecr.aws/ubuntu/squid but are shown here for completeness:_
4463
4464 | Channel Tag | | | Currently | Architectures |
4465 |---|---|---|---|---|
4466- | _**`4.10-20.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/squid) | | Squid 4.10 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4467+ | _**`5.2-22.04_beta`** &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/squid) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/squid) | Squid 5.2 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4468+ | _`4.10-20.04_beta` &nbsp;&nbsp;_ | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/squid) | [![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)](https://gallery.ecr.aws/lts/squid) | Squid 4.10 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4469 | _`track_risk`_ |
4470
4471
4472 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4473
4474+
4475 ### Commercial use and Extended Security Maintenance channels
4476 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com).
4477
4478+## Deprecated channels & tags
4479+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4480+
4481+| Track | Version | EOL | Upgrade Path |
4482+|---|---|---|---|
4483+| _`track`_ |
4484+
4485+
4486 ## Docker CLI
4487
4488 Launch this image locally:
4489
4490 ```sh
4491-docker run -d --name squid-container -e TZ=UTC -p 3128:3128 public.ecr.aws/ubuntu/squid:4.10-20.04_beta
4492+docker run -d --name squid-container -e TZ=UTC -p 3128:3128 public.ecr.aws/ubuntu/squid:5.2-22.04_beta
4493 ```
4494 Access your Squid proxy at `localhost:3128`.
4495
4496@@ -73,8 +83,8 @@ docker exec -it squid-container /bin/bash
4497 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4498
4499 Download
4500-[squid.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf) and
4501-[squid-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml) and set `containers.squid.image` in `squid-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/squid:4.10-20.04_beta`), then:
4502+[squid.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/config/squid.conf?h=5.2-22.04) and
4503+[squid-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/squid/plain/examples/squid-deployment.yml?h=5.2-22.04) and set `containers.squid.image` in `squid-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/squid:5.2-22.04_beta`), then:
4504
4505 ```sh
4506 kubectl create configmap squid-config --from-file=squid=squid.conf
4507diff --git a/docs/public.ecr.aws/ubuntu/telegraf.md b/docs/public.ecr.aws/ubuntu/telegraf.md
4508index 508925d..533a1a6 100644
4509--- a/docs/public.ecr.aws/ubuntu/telegraf.md
4510+++ b/docs/public.ecr.aws/ubuntu/telegraf.md
4511@@ -16,22 +16,33 @@ Up to 10 years customer security maintenance `from canonical/telegraf`. [Request
4512
4513 | Channel Tag | | | Currently | Architectures |
4514 |---|---|---|---|---|
4515- | **`1.17-21.04_beta`** &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/telegraf) | | Telegraf™ software 1.17 on Ubuntu&nbsp;21.04&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4516- | `1.15-20.04_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/telegraf) | | Telegraf™ software 1.15.2 on Ubuntu&nbsp;20.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4517+ | **`1.21-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/telegraf) | [](https://gallery.ecr.aws/lts/telegraf) | Telegraf™ software 1.21 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4518+ | `1.19-21.10_beta` &nbsp;&nbsp; | [](https://gallery.ecr.aws/lts/telegraf) | [](https://gallery.ecr.aws/lts/telegraf) | Telegraf™ software 1.19.2 on Ubuntu&nbsp;21.10&nbsp;| `amd64`, `arm64`, `ppc64el`, `s390x` |
4519 | _`track_risk`_ |
4520
4521
4522 Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4523
4524+
4525 ### Commercial use and Extended Security Maintenance channels
4526 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
4527
4528+## Deprecated channels & tags
4529+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4530+
4531+| Track | Version | EOL | Upgrade Path |
4532+|---|---|---|---|
4533+ | ~~1.17-21.04~~ | Telegraf™ software 1.17.2 on Ubuntu&nbsp;21.04&nbsp; | 01/2022 | 1.19-21.10_beta |
4534+ | ~~1.15-20.04~~ | Telegraf™ software 1.15.2 on Ubuntu&nbsp;20.04&nbsp;LTS | 01/2021 | ~~1.17-21.04~~ |
4535+| _`track`_ |
4536+
4537+
4538 ## Docker CLI
4539
4540 Launch this image locally:
4541
4542 ```sh
4543-docker run -d --name telegraf-container -e TZ=UTC -p 30273:9273 public.ecr.aws/ubuntu/telegraf:1.17-21.04_beta
4544+docker run -d --name telegraf-container -e TZ=UTC -p 30273:9273 public.ecr.aws/ubuntu/telegraf:1.17-21.04
4545 ```
4546 Access your Telegraf server at `localhost:30273`.
4547
4548@@ -41,7 +52,7 @@ Access your Telegraf server at `localhost:30273`.
4549 |---|---|
4550 | `-e TZ=UTC` | Timezone. |
4551 | `-p 30273:9273` | Expose Telegraf on `localhost:30273`. |
4552-| `-v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf` | Local [configuration file](https://docs.influxdata.com/telegraf/) `telegraf.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf)). |
4553+| `-v /path/to/telegraf.conf:/etc/telegraf/telegraf.conf` | Local [configuration file](https://docs.influxdata.com/telegraf/) `telegraf.conf` (try [this example](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf?h=1.21-22.04)). |
4554
4555
4556 #### Testing/Debugging
4557@@ -64,8 +75,8 @@ docker exec -it telegraf-container /bin/bash
4558 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4559
4560 Download
4561-[telegraf.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf) and
4562-[telegraf-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/telegraf-deployment.yml) and set `containers.telegraf.image` in `telegraf-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/telegraf:1.17-21.04_beta`), then:
4563+[telegraf.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf?h=1.21-22.04) and
4564+[telegraf-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/telegraf-deployment.yml?h=1.21-22.04) and set `containers.telegraf.image` in `telegraf-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/telegraf:1.17-21.04`), then:
4565
4566 ```sh
4567 kubectl create configmap telegraf-config --from-file=main-config=telegraf.conf
4568diff --git a/docs/public.ecr.aws/ubuntu/zookeeper.md b/docs/public.ecr.aws/ubuntu/zookeeper.md
4569new file mode 100644
4570index 0000000..36065d1
4571--- /dev/null
4572+++ b/docs/public.ecr.aws/ubuntu/zookeeper.md
4573@@ -0,0 +1,95 @@
4574+# Apache ZooKeeper | Ubuntu
4575+
4576+Current Apache ZooKeeper Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer Apache ZooKeeper or Ubuntu release.
4577+
4578+## About Apache ZooKeeper
4579+
4580+ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Read more on [the Apache website](https://zookeeper.apache.org/). This image is shipped in support of the Apache Kafka image.
4581+
4582+
4583+## Tags and Architectures
4584+![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
4585+Up to 5 years free security maintenance. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
4586+
4587+![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
4588+Up to 10 years customer security maintenance `from canonical/zookeeper`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
4589+
4590+| Channel Tag | | | Currently | Architectures |
4591+|---|---|---|---|---|
4592+ | **`3.1-22.04_beta`** &nbsp;&nbsp; | [![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)](https://gallery.ecr.aws/lts/zookeeper) | [](https://gallery.ecr.aws/lts/zookeeper) | Apache ZooKeeper 3.1.0 on Ubuntu&nbsp;22.04&nbsp;LTS| `amd64`, `arm64`, `ppc64el`, `s390x` |
4593+| _`track_risk`_ |
4594+
4595+
4596+Channel Tag shows the most stable channel for that track ordered `stable`, `candidate`, `beta`, `edge`. More risky channels are always implicitly available. So if `beta` is listed, you can also pull `edge`. If `candidate` is listed, you can pull `beta` and `edge`. When `stable` is listed, all four are available. Images are guaranteed to progress through the sequence `edge`, `beta`, `candidate` before `stable`.
4597+
4598+
4599+### Commercial use and Extended Security Maintenance channels
4600+If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). **This repository has no LTS channel yet, please get in touch if you need one.**
4601+
4602+## Deprecated channels & tags
4603+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4604+
4605+| Track | Version | EOL | Upgrade Path |
4606+|---|---|---|---|
4607+| _`track`_ |
4608+
4609+
4610+## Docker CLI
4611+
4612+Launch this image locally:
4613+
4614+```sh
4615+docker run -d --name zookeeper-container -e TZ=UTC -p 2181:2181 public.ecr.aws/ubuntu/zookeeper:3.1-22.04_beta
4616+```
4617+Zookeeper instance available at `localhost:2181`.
4618+
4619+#### Parameters
4620+
4621+| Parameter | Description |
4622+|---|---|
4623+| `-e TZ=UTC` | Timezone. |
4624+| `-p 2181:2181` | Expose Apache Zookeeper service on `localhost:2181`. |
4625+| `-v /etc/kafka/zookeeper.properties` | Zookeeper config (file path within the container can also be set by overriding the CMD). |
4626+
4627+
4628+#### Testing/Debugging
4629+
4630+To debug the container:
4631+
4632+```sh
4633+docker logs -f zookeeper-container
4634+```
4635+
4636+To get an interactive shell:
4637+
4638+```sh
4639+docker exec -it zookeeper-container /bin/bash
4640+```
4641+
4642+
4643+## Deploy with Kubernetes
4644+
4645+Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4646+
4647+Download
4648+[zookeeper-deployment.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/kafka/plain/examples/kafka-deployment.yml?h=3.1-22.04) and set `containers.zookeeper.image` in `zookeeper-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/zookeeper:3.1-22.04_beta`), then:
4649+
4650+```sh
4651+kubectl apply -f zookeeper-deployment.yml
4652+```
4653+
4654+Apache Kafka will be available on the K8s cluster as a `kafka-service` Service.
4655+
4656+## Bugs and feature requests
4657+
4658+If you find a bug in our image or want to request a specific feature, please file a bug here:
4659+
4660+[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug)
4661+
4662+Please title the bug "`zookeeper: <issue summary>`". Make sure to include the digest of the image you are using, from:
4663+
4664+```sh
4665+docker images --no-trunc --quiet public.ecr.aws/ubuntu/zookeeper:<tag>
4666+```
4667+
4668+
4669diff --git a/templates/README_DOCKERHUB.md b/templates/README_DOCKERHUB.md
4670index 107b42e..5456979 100644
4671--- a/templates/README_DOCKERHUB.md
4672+++ b/templates/README_DOCKERHUB.md
4673@@ -1,23 +1,28 @@
4674 # ${application} | Ubuntu
4675
4676 Current ${application} Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer ${application} or Ubuntu release. **This repository is free to use and exempted from per-user rate limits.**
4677-<!-- For [LTS Docker Image](https://ubuntu.com/security/docker-images) versions of this image, see `lts/${repo}`. -->
4678 <%
4679 baserepo='ubuntu'
4680 tag='latest'
4681+ risks=['stable', 'candidate', 'beta', 'edge']
4682+ sortfn=lambda release : (10**(2+risks.index(release['risk']))-float(release['base']))
4683+ filterfn=lambda release : 'deprecated' not in release
4684+ releases.sort(key=sortfn)
4685+ current_releases=list(filter(filterfn, releases))
4686+ old_releases=[release for release in releases if release not in current_releases]
4687+ LTS_BASES=['18.04', '20.04', '22.04']
4688+ ESM_BASES=['16.04']
4689 %>
4690 <%include file="header.md" args="baserepo=baserepo, **locals()['pageargs']"/>
4691
4692 | Channel Tag | | | Currently | Architectures |
4693 |---|---|---|---|---|
4694-% for i, release in enumerate(releases):
4695+% for i, release in enumerate(current_releases):
4696 <%
4697 first=i==0
4698 track=str(release['track'])
4699 risk=str(release['risk'])
4700 base=str(release['base'])
4701- LTS_BASES=['18.04', '20.04', '22.04']
4702- ESM_BASES=['16.04']
4703 basetype='LTS' if base in LTS_BASES else 'ESM' if base in ESM_BASES else ''
4704 type=str(release['type']) if 'type' in release else ''
4705 version=str(release['version']) if 'version' in release else track
4706@@ -35,3 +40,34 @@ If your usage includes commercial redistribution or requires unavailable channel
4707
4708 ## Usage
4709 <%include file="common_usage.md" args="tag=tag, baserepo=baserepo, **locals()['pageargs']"/>
4710+
4711+## Deprecated channels & tags
4712+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4713+
4714+| Track | Version | EOL | Upgrade Path |
4715+|---|---|---|---|
4716+% for i, release in enumerate(old_releases):
4717+<%
4718+ first=i==0
4719+ track=str(release['track'])
4720+ risk=str(release['risk'])
4721+ base=str(release['base'])
4722+ deprecated_date=str(release['deprecated']['date'])
4723+ if 'path' in release['deprecated']:
4724+ path=release['deprecated']['path']
4725+ ptrack=str(path['track'])
4726+ pbase=str(path['base'])
4727+ searchfn=lambda release : str(release['track'])==ptrack and release['base']==pbase
4728+ results=list(filter(searchfn, current_releases))
4729+ is_current=len(results)>0
4730+ upgrade_path=ptrack+'-'+pbase+'_'+results[0]['risk'] if is_current else '~~'+ptrack+'-'+pbase+'~~'
4731+ else:
4732+ upgrade_path='-'
4733+ basetype='LTS' if base in LTS_BASES else 'ESM' if base in ESM_BASES else ''
4734+ version=str(release['version']) if 'version' in release else track
4735+ swver='.'.join(track.split(".")[:2])
4736+ thistag=swver+'-'+base
4737+ tag=thistag if first else tag
4738+%> | ~~${thistag}~~ | ${application} ${version} on Ubuntu&nbsp;${base}&nbsp;${basetype} | ${deprecated_date} | ${upgrade_path} |
4739+% endfor
4740+| _`track`_ |
4741diff --git a/templates/README_DOCKERHUB_LTS.md b/templates/README_DOCKERHUB_LTS.md
4742deleted file mode 100644
4743index fadeee9..0000000
4744--- a/templates/README_DOCKERHUB_LTS.md
4745+++ /dev/null
4746@@ -1,26 +0,0 @@
4747-# ${application} LTS Docker Image
4748-
4749-## LTS Docker Image Portfolio
4750-The [LTS Docker Image Portfolio](https://ubuntu.com/security/docker-images) are consistent, compliant, minimal and secure images with Extended Security Maintenance (ESM) commitments from Canonical. This repository is exempted from per-user rate limits.
4751-<%
4752- baserepo='lts'
4753- distroversion=base.strip('Ubuntu').strip('LTS').lstrip().rstrip()
4754- swver='.'.join(version.split(".")[:2])
4755- pretag=swver+'-'+distroversion+'_'
4756- tag=pretag+'beta'
4757-%>
4758-<%include file="header.md" args="tag=tag, pretag=pretag, baserepo=baserepo, **locals()['pageargs']"/>
4759-
4760-| Channel Tag | ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) until | ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) until | Currently | Architectures |
4761-|---|---|---|---|---|
4762-% if main is True:
4763-| **`${tag}`** &nbsp;&nbsp; | - | - | ${application} ${version} | ${", ".join(map(lambda x: "`"+x+"`", architectures))} |
4764-% endif
4765-| _`track_risk`_ |
4766-
4767-<%include file="channels_message.md" />
4768-
4769-## Usage
4770-
4771-If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch).
4772-<%include file="common_usage.md" args="tag=tag, pretag=pretag, baserepo=baserepo, **locals()['pageargs']"/>
4773diff --git a/templates/README_ECR.md b/templates/README_ECR.md
4774index 47ae031..5a9b435 100644
4775--- a/templates/README_ECR.md
4776+++ b/templates/README_ECR.md
4777@@ -2,8 +2,15 @@
4778 <%
4779 baserepo='public.ecr.aws/ubuntu'
4780 tag='latest'
4781- lts_releases=list(filter(lambda release : release['type'] == 'LTS' or release['type'] == 'ESM' if 'type' in release else False, releases))
4782- current_releases=[releases.pop(0)]+[release for release in releases if release not in lts_releases]
4783+ risks=['stable', 'candidate', 'beta', 'edge']
4784+ sortfn=lambda release : (10**(2+risks.index(release['risk']))-float(release['base']) )
4785+ filtercurrentfn=lambda release : 'deprecated' not in release
4786+ filterltsfn=lambda release : release['type'] == 'LTS' or release['type'] == 'ESM' if 'type' in release else False
4787+ releases.sort(key=sortfn)
4788+ current_releases=list(filter(filtercurrentfn, releases))
4789+ lts_releases=list(filter(filterltsfn, current_releases))
4790+ old_releases=[release for release in releases if release not in current_releases]
4791+ current_releases=[current_releases.pop(0)]+[release for release in current_releases if release not in lts_releases]
4792 has_an_lts=len(lts_releases)>0
4793 %>
4794 Current ${application} Docker Image [from Canonical](https://ubuntu.com/security/docker-images), based on Ubuntu. Receives security updates and rolls to newer ${application} or Ubuntu release.
4795@@ -17,7 +24,7 @@ ${description}
4796
4797 ## Tags and Architectures
4798 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
4799-Up to 5 years free security maintenance${' [from public.ecr.aws/lts/'+repo+'](https://gallery.ecr.aws/lts/${repo})' if has_an_lts else '. [Request access](https://ubuntu.com/security/docker-images#get-in-touch)'}.
4800+Up to 5 years free security maintenance${' [from public.ecr.aws/lts/'+repo+'](https://gallery.ecr.aws/lts/'+repo+')' if has_an_lts else '. [Request access](https://ubuntu.com/security/docker-images#get-in-touch)'}.
4801
4802 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
4803 Up to 10 years customer security maintenance `from canonical/${repo}`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).
4804@@ -40,15 +47,48 @@ Up to 10 years customer security maintenance `from canonical/${repo}`. [Request
4805 swver='.'.join(track.split(".")[:2])
4806 thistag=swver+'-'+base+'_'+''+risk
4807 tag=thistag if first else tag
4808-%> | ${'_' if type == 'LTS' else ''}${'**`'+thistag+'`**' if first else '`'+thistag+'`'} &nbsp;&nbsp;${'_' if type == 'LTS' else ''} | [${'![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)' if type == 'LTS' else ''}](https://gallery.ecr.aws/lts/${repo}) | | ${application} ${version} on Ubuntu&nbsp;${base}&nbsp;${basetype}| ${architectures} |
4809+%> | ${'_' if type == 'LTS' else ''}${'**`'+thistag+'`**' if first else '`'+thistag+'`'} &nbsp;&nbsp;${'_' if type == 'LTS' else ''} | [${'![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)' if basetype == 'LTS' else ''}](https://gallery.ecr.aws/lts/${repo}) | [${'![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)' if type == 'LTS' else ''}](https://gallery.ecr.aws/lts/${repo}) | ${application} ${version} on Ubuntu&nbsp;${base}&nbsp;${basetype}| ${architectures} |
4810 % endfor
4811 | _`track_risk`_ |
4812
4813 ${'_The following tags are not available in '+baserepo+'/'+repo+' but are shown here for completeness:_' if k==0 and has_an_lts else ''}
4814 % endfor
4815 <%include file="channels_message.md" />
4816+
4817 ### Commercial use and Extended Security Maintenance channels
4818 If your usage includes commercial redistribution or requires unavailable channels/versions, please [get in touch with the Canonical team](https://ubuntu.com/security/docker-images#get-in-touch) (or using rocks@canonical.com). ${'' if has_an_lts else '**This repository has no LTS channel yet, please get in touch if you need one.**'}
4819
4820+## Deprecated channels & tags
4821+These channels (tags) are not updated anymore. Please upgrade to newer channels, or [reach out](https://ubuntu.com/security/docker-images#get-in-touch) if you can't upgrade.
4822+
4823+| Track | Version | EOL | Upgrade Path |
4824+|---|---|---|---|
4825+% for i, release in enumerate(old_releases):
4826+<%
4827+ first=i==0
4828+ track=str(release['track'])
4829+ risk=str(release['risk'])
4830+ base=str(release['base'])
4831+ deprecated_date=str(release['deprecated']['date'])
4832+ if 'path' in release['deprecated']:
4833+ path=release['deprecated']['path']
4834+ ptrack=str(path['track'])
4835+ pbase=str(path['base'])
4836+ searchfn=lambda release : str(release['track'])==ptrack and release['base']==pbase
4837+ results=list(filter(searchfn, current_releases))
4838+ is_current=len(results)>0
4839+ upgrade_path=ptrack+'-'+pbase+'_'+results[0]['risk'] if is_current else '~~'+ptrack+'-'+pbase+'~~'
4840+ else:
4841+ upgrade_path='-'
4842+ basetype='LTS' if base in LTS_BASES else 'ESM' if base in ESM_BASES else ''
4843+ version=str(release['version']) if 'version' in release else track
4844+ swver='.'.join(track.split(".")[:2])
4845+ thistag=swver+'-'+base
4846+ tag=thistag if first else tag
4847+%> | ~~${thistag}~~ | ${application} ${version} on Ubuntu&nbsp;${base}&nbsp;${basetype} | ${deprecated_date} | ${upgrade_path} |
4848+% endfor
4849+| _`track`_ |
4850+
4851+
4852 ## Docker CLI
4853 <%include file="common_usage.md" args="tag=tag, baserepo=baserepo, **locals()['pageargs']"/>
4854diff --git a/templates/README_ECR_LTS.md b/templates/README_ECR_LTS.md
4855index c060f1a..981c69f 100644
4856--- a/templates/README_ECR_LTS.md
4857+++ b/templates/README_ECR_LTS.md
4858@@ -2,7 +2,11 @@
4859 <%
4860 baserepo='public.ecr.aws/lts'
4861 tag='latest'
4862- lts_releases=list(filter(lambda release : release['type'] == 'LTS' or release['type'] == 'ESM' if 'type' in release else False, releases))
4863+ risks=['stable', 'candidate', 'beta', 'edge']
4864+ sortfn=lambda release : (10**(2+risks.index(release['risk']))-float(release['base']) )
4865+ filterltsfn=lambda release : release['type'] == 'LTS' or release['type'] == 'ESM' if 'type' in release else False
4866+ releases.sort(key=sortfn)
4867+ lts_releases=list(filter(filterltsfn, releases))
4868 has_an_lts=len(lts_releases)>0
4869 %> ${'' if has_an_lts else '**This repository has no LTS channel yet, please [get in touch](https://ubuntu.com/security/docker-images#get-in-touch) if you need one.**'}
4870
4871@@ -40,7 +44,12 @@ Up to 10 years customer security maintenance `from canonical/${repo}`. [Request
4872 thistag=swver+'-'+base+'_'+''+risk
4873 tag=thistag if first else tag
4874 has_an_lts=(has_an_lts or type == 'LTS' or type == 'ESM')
4875-%> | ${'**`'+thistag+'`**' if first else '`'+thistag+'`'} &nbsp;&nbsp; | - | - | ${application} ${version} on Ubuntu&nbsp;${base}&nbsp;${basetype}| ${architectures} |
4876+ sos_year=2000+int(base.split(".")[0])
4877+ eol_year=sos_year+5
4878+ eoe_year=sos_year+10
4879+ eol=base.split(".")[1]+'/'+str(eol_year) if basetype == 'LTS' else '-'
4880+ eoe=base.split(".")[1]+'/'+str(eoe_year) if basetype == 'LTS' or basetype == 'ESM' else '-'
4881+%> | ${'**`'+thistag+'`**' if first else '`'+thistag+'`'} &nbsp;&nbsp; | ${eol} | ${eoe} | ${application} ${version} on Ubuntu&nbsp;${base}&nbsp;${basetype}| ${architectures} |
4882 % endfor
4883 | _`track_risk`_ |
4884
4885diff --git a/templates/common_usage.md b/templates/common_usage.md
4886index d7c6bc9..d7dbfe7 100644
4887--- a/templates/common_usage.md
4888+++ b/templates/common_usage.md
4889@@ -57,8 +57,9 @@ ${debug['text']}
4890
4891 ## Deploy with Kubernetes
4892 <%
4893- configmapname = repo + '-config'
4894 deployfilename = repo + '-deployment.yml'
4895+ if 'configmap' in microk8s:
4896+ configmapname = microk8s['configmap']['name'] if 'name' in microk8s['configmap'] else repo + '-config'
4897 %>
4898 Works with any Kubernetes; if you don't have one, we recommend you [install MicroK8s](https://microk8s.io/) and `microk8s.enable dns storage` then `snap alias microk8s.kubectl kubectl`.
4899
4900diff --git a/templates/header.md b/templates/header.md
4901index 5ed6a67..bba77b4 100644
4902--- a/templates/header.md
4903+++ b/templates/header.md
4904@@ -6,7 +6,6 @@ ${description}
4905 ## Tags and Architectures
4906 ![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17)
4907 Up to 5 years free security maintenance on LTS channels.
4908-<!-- `from lts/${repo}`. -->
4909
4910 ![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17)
4911 Up to 10 years customer security maintenance `from canonical/${repo}`. [Request access](https://ubuntu.com/security/docker-images#get-in-touch).

Subscribers

People subscribed via source and target branches